├── BerlinettaCar ├── BerlinettaCar.ino ├── SteeringSerial.cpp ├── SteeringSerial.h └── utils.h ├── BerlinettaCarOnly ├── BerlinettaCarOnly.ino ├── SteeringSerial.cpp ├── SteeringSerial.h └── utils.h ├── BerlinettaController └── BerlinettaController.ino ├── HoverBoardGigaDevice ├── EventRecorderStub.scvd ├── Hoverboard.uvguix.DavidG ├── Hoverboard.uvguix.Florian ├── Hoverboard.uvoptx ├── Hoverboard.uvprojx ├── Inc │ ├── bldc.h │ ├── comms.h │ ├── commsBluetooth.h │ ├── commsMasterSlave.h │ ├── commsSteering.h │ ├── config.h │ ├── defines.h │ ├── it.h │ ├── led.h │ └── setup.h ├── Listings │ ├── Hoverboard.map │ └── startup_gd32f1x0.lst ├── Objects │ ├── ExtDll.iex │ ├── Hoverboard.axf │ ├── Hoverboard.build_log.htm │ ├── Hoverboard.htm │ ├── Hoverboard.lnp │ ├── Hoverboard.sct │ ├── Hoverboard_Target 1.dep │ ├── bldc.crf │ ├── bldc.d │ ├── bldc.o │ ├── comms.crf │ ├── comms.d │ ├── comms.o │ ├── commsbluetooth.crf │ ├── commsbluetooth.d │ ├── commsbluetooth.o │ ├── commsmasterslave.crf │ ├── commsmasterslave.d │ ├── commsmasterslave.o │ ├── commssteering.crf │ ├── commssteering.d │ ├── commssteering.o │ ├── gd32f1x0_adc.crf │ ├── gd32f1x0_adc.d │ ├── gd32f1x0_adc.o │ ├── gd32f1x0_dbg.crf │ ├── gd32f1x0_dbg.d │ ├── gd32f1x0_dbg.o │ ├── gd32f1x0_dma.crf │ ├── gd32f1x0_dma.d │ ├── gd32f1x0_dma.o │ ├── gd32f1x0_fwdgt.crf │ ├── gd32f1x0_fwdgt.d │ ├── gd32f1x0_fwdgt.o │ ├── gd32f1x0_gpio.crf │ ├── gd32f1x0_gpio.d │ ├── gd32f1x0_gpio.o │ ├── gd32f1x0_i2c.crf │ ├── gd32f1x0_i2c.d │ ├── gd32f1x0_i2c.o │ ├── gd32f1x0_misc.crf │ ├── gd32f1x0_misc.d │ ├── gd32f1x0_misc.o │ ├── gd32f1x0_opa.crf │ ├── gd32f1x0_opa.d │ ├── gd32f1x0_opa.o │ ├── gd32f1x0_pmu.crf │ ├── gd32f1x0_pmu.d │ ├── gd32f1x0_pmu.o │ ├── gd32f1x0_rcu.crf │ ├── gd32f1x0_rcu.d │ ├── gd32f1x0_rcu.o │ ├── gd32f1x0_syscfg.crf │ ├── gd32f1x0_syscfg.d │ ├── gd32f1x0_syscfg.o │ ├── gd32f1x0_timer.crf │ ├── gd32f1x0_timer.d │ ├── gd32f1x0_timer.o │ ├── gd32f1x0_usart.crf │ ├── gd32f1x0_usart.d │ ├── gd32f1x0_usart.o │ ├── gd32f1x0_wwdgt.crf │ ├── gd32f1x0_wwdgt.d │ ├── gd32f1x0_wwdgt.o │ ├── it.crf │ ├── it.d │ ├── it.o │ ├── led.crf │ ├── led.d │ ├── led.o │ ├── main.crf │ ├── main.d │ ├── main.o │ ├── setup.crf │ ├── setup.d │ ├── setup.o │ ├── startup_gd32f1x0.d │ ├── startup_gd32f1x0.o │ ├── system_gd32f1x0.crf │ ├── system_gd32f1x0.d │ └── system_gd32f1x0.o ├── RTE │ ├── Device │ │ └── GD32F130C8 │ │ │ ├── gd32f1x0_adc.c │ │ │ ├── gd32f1x0_dbg.c │ │ │ ├── gd32f1x0_dma.c │ │ │ ├── gd32f1x0_fwdgt.c │ │ │ ├── gd32f1x0_gpio.c │ │ │ ├── gd32f1x0_i2c.c │ │ │ ├── gd32f1x0_misc.c │ │ │ ├── gd32f1x0_opa.c │ │ │ ├── gd32f1x0_pmu.c │ │ │ ├── gd32f1x0_rcu.c │ │ │ ├── gd32f1x0_syscfg.c │ │ │ ├── gd32f1x0_timer.c │ │ │ ├── gd32f1x0_usart.c │ │ │ ├── gd32f1x0_wwdgt.c │ │ │ ├── startup_gd32f1x0.s │ │ │ └── system_gd32f1x0.c │ └── _Target_1 │ │ └── RTE_Components.h ├── Src │ ├── bldc.c │ ├── comms.c │ ├── commsBluetooth.c │ ├── commsMasterSlave.c │ ├── commsSteering.c │ ├── it.c │ ├── led.c │ ├── main.c │ └── setup.c └── newfile.md └── README.md /BerlinettaCar/SteeringSerial.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef STEERINGSERIAL_H 32 | #define STEERINGSERIAL_H 33 | 34 | #include 35 | #include 36 | #include "utils.h" 37 | #include 38 | 39 | //---------------------------------------------------------------------------- 40 | // Initializes the steering serial 41 | //---------------------------------------------------------------------------- 42 | void InitSteeringSerial(void); 43 | 44 | //---------------------------------------------------------------------------- 45 | // Sets the speed value 46 | //---------------------------------------------------------------------------- 47 | void SetSpeed(uint16_t data, float factor); 48 | void SetSpeedRear(uint16_t data, float factor); 49 | 50 | //---------------------------------------------------------------------------- 51 | // Sets the steering value 52 | //---------------------------------------------------------------------------- 53 | void SetSteer(uint16_t data); 54 | void SetSteerRear(uint16_t data); 55 | 56 | //---------------------------------------------------------------------------- 57 | // Sends answer to master device 58 | //---------------------------------------------------------------------------- 59 | void SendAnswer(void); 60 | void SendAnswerRear(void); 61 | 62 | 63 | //---------------------------------------------------------------------------- 64 | // Sends debug infos 65 | //---------------------------------------------------------------------------- 66 | void SendDebug(); 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /BerlinettaCar/utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef UTILS_H 32 | #define UTILS_H 33 | 34 | #define ABS(a) (((a) < 0.0) ? -(a) : (a)) 35 | #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) 36 | #define MAP(x, xMin, xMax, yMin, yMax) ((x - xMin) * (yMax - yMin) / (xMax - xMin) + yMin) 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /BerlinettaCarOnly/BerlinettaCarOnly.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Serial1.begin(115200,SERIAL_8N1,16,17); where DEAFULT Rx is 16 Tx is 17 so we can change the pins that the car serial port will be on 3 | */ 4 | 5 | #include "SteeringSerial.h" 6 | #include "utils.h" 7 | #define MOTOR_RX_BYTES 8 8 | #include //Not needed unless you have an encoder on the steering wheel 9 | 10 | //Make the encoder object 11 | ESP32Encoder encoder; //Not needed unless you have an encoder on the steering wheel 12 | 13 | //Define the min and Max steering encorder counts 14 | #define MIN_STEER -21 //Not needed unless you have an encoder on the steering wheel 15 | #define MAX_STEER 21 //Not needed unless you have an encoder on the steering wheel 16 | 17 | #define STEERING_ROTARY_SWITCH_PIN 33 //Not needed unless you have an encoder on the steering wheel 18 | #define FORWARDS_GEAR_PIN 12 //Not needed unless you have forward and reverse switch 19 | #define REVERSE_GEAR_PIN 14 //Not needed unless you have forward and reverse switch 20 | #define ROTARY_ENCODER_PIN_A 25 //Not needed unless you have an encoder on the steering wheel 21 | #define ROTARY_ENCODER_PIN_B 26 //Not needed unless you have an encoder on the steering wheel 22 | 23 | #define DRIVING_STATE_NEUTRAL 0 //Not needed unless you have forward and reverse switch 24 | #define DRIVING_STATE_FORWARDS 1 //Not needed unless you have forward and reverse switch 25 | #define DRIVING_STATE_REVERSE 2 //Not needed unless you have forward and reverse switch 26 | 27 | #define SNAIL_MODE 1 28 | #define SLOW_MODE 2 29 | #define NORMAL_MODE 3 30 | #define SPORTS_MODE 4 31 | #define LIMP_MODE 5 //Used when we are between almost empty and UVLO, to limp home on one set of motors and low max speed 32 | 33 | bool emergency = false; 34 | uint8_t carMode = SNAIL_MODE; 35 | uint16_t ModeMax = 1625; 36 | uint16_t ModeMin = 1375; 37 | 38 | // Define variables to store incoming readings - start them in a defined nuteral state 39 | uint16_t incomingFrontSpeed = 1500; 40 | uint16_t incomingBackSpeed = 1500; 41 | uint16_t incomingFrontSteer = 1500; 42 | uint16_t incomingBackSteer = 1500; 43 | bool incomingEmergency = false; 44 | uint16_t incomingModeMax = 1500; 45 | uint16_t incomingModeMin = 1500; 46 | 47 | bool rxData = false; 48 | char motorDataBuffer[MOTOR_RX_BYTES]; 49 | uint8_t motorDataIndex = 0; 50 | uint16_t batteryVoltage = 0; 51 | uint16_t realSpeed = 0; 52 | uint16_t realSpeedSlave = 0; 53 | 54 | bool rxDataRear = false; 55 | char motorDataBufferRear[MOTOR_RX_BYTES]; 56 | uint8_t motorDataIndexRear = 0; 57 | uint16_t batteryVoltageRear = 0; 58 | uint16_t realSpeedRear = 0; 59 | uint16_t realSpeedSlaveRear = 0; 60 | 61 | // Variable to store connected state of if sending data was successful 62 | String success; 63 | uint8_t failedDelivery = 0; 64 | uint8_t maxfailedDelivery = 3; 65 | //volatile bool remoteConnected = false; 66 | uint8_t drivingState = DRIVING_STATE_NEUTRAL; //0 is neutral, 1 is forward, 2 is reverse 67 | 68 | void changeMode(uint8_t newMode) 69 | { 70 | switch (newMode) 71 | { 72 | case SNAIL_MODE: 73 | carMode = SNAIL_MODE; 74 | ModeMax = 1625; 75 | ModeMin = 1375; 76 | break; 77 | case SLOW_MODE: 78 | carMode = SLOW_MODE; 79 | ModeMax = 1750; 80 | ModeMin = 1250; 81 | break; 82 | case NORMAL_MODE: 83 | carMode = NORMAL_MODE; 84 | ModeMax = 1875; 85 | ModeMin = 1125; 86 | break; 87 | case SPORTS_MODE: 88 | carMode = SPORTS_MODE; 89 | ModeMax = 2000; 90 | ModeMin = 1000; 91 | break; 92 | case LIMP_MODE: 93 | carMode = LIMP_MODE; 94 | ModeMax = 1600; 95 | ModeMin = 1400; 96 | break; 97 | default: 98 | // statements 99 | break; 100 | } 101 | } 102 | 103 | void setup() { 104 | // Initialize steering serial 105 | InitSteeringSerial(); 106 | 107 | pinMode(STEERING_ROTARY_SWITCH_PIN, INPUT_PULLUP); // sets the joystick button as input //Normally pulled high 108 | pinMode(FORWARDS_GEAR_PIN, INPUT_PULLUP); // sets the joystick button as input //Normally pulled high 109 | pinMode(REVERSE_GEAR_PIN, INPUT_PULLUP); // sets the joystick button as input //Normally pulled high 110 | 111 | // use pin 19 and 18 for the first encoder 112 | encoder.attachFullQuad(ROTARY_ENCODER_PIN_A, ROTARY_ENCODER_PIN_B); 113 | 114 | // set starting count value after attaching 115 | encoder.setCount(0); 116 | 117 | //changeMode <-- use this function to set your speed mode 118 | changeMode(SLOW_MODE); 119 | } 120 | 121 | void loop() { 122 | 123 | //Get our speed and steer locally from the car pedal and steering 124 | int32_t count = encoder.getCount(); 125 | uint16_t throttle = analogRead(A7); 126 | //Serial.println("Throttle: " + String(throttle)); 127 | uint16_t throttlerear; 128 | 129 | //Make sure we don't go over our min or max settings 130 | if(countMAX_STEER){ 134 | encoder.setCount(MAX_STEER); 135 | } 136 | 137 | //Map the raw steering count and constrain it to our steering min and max 138 | count = map(count, MIN_STEER, MAX_STEER, 1000, 2000); 139 | count = constrain(count,1000,2000); 140 | 141 | //constrain our thottle then set it as forward or reverse 142 | throttle = constrain(throttle,912,3060); 143 | throttlerear = throttle; 144 | 145 | //if we are in forwards gear selector else use reverse 146 | if(!digitalRead(REVERSE_GEAR_PIN)){ 147 | drivingState = DRIVING_STATE_REVERSE; 148 | throttle = map(throttle, 912, 3060, 1500, ModeMin); 149 | throttlerear = map(throttlerear, 912, 3060, 1500, ModeMax); 150 | } 151 | else if(!digitalRead(FORWARDS_GEAR_PIN)){ 152 | drivingState = DRIVING_STATE_FORWARDS; 153 | throttle = map(throttle, 912, 3060, 1500, ModeMax); 154 | throttlerear = map(throttlerear, 912, 3060, 1500, ModeMin); 155 | } 156 | else 157 | { 158 | drivingState = DRIVING_STATE_NEUTRAL; 159 | throttle = 1500; 160 | throttlerear = 1500; 161 | } 162 | 163 | // slow us down if we are in reverse 164 | float factor = throttle < 1500 ? 0.5 : 1; 165 | float rearfactor = throttlerear > 1500 ? 0.5 : 1; //Rear motor in reverse orientation 166 | 167 | // Serial.println("Incoming ModeMax: " + String(incomingModeMax)); 168 | 169 | //Allow local Car control if not an emergency 170 | if(!incomingEmergency) 171 | { 172 | // Set speed and steering for Front and Rear motors 173 | SetSpeed(throttle, factor); //channel values between 1000 and 2000 for min and max 174 | SetSpeedRear(throttlerear, rearfactor); //channel values between 1000 and 2000 for min and max 175 | SetSteerRear(count); 176 | //reverse count for front motors as they are facing the other way meaning forwards is reverse and visa versa 177 | count = map(count, 1000, 2000, 2000, 1000); 178 | SetSteer(count); 179 | } 180 | 181 | // Receive data from front motor controller 182 | if (Serial1.available()) 183 | { 184 | char character = Serial1.read(); 185 | 186 | if(character == '/') 187 | { 188 | //We got the start of a message 189 | motorDataBuffer[motorDataIndex] = character; 190 | motorDataIndex = 1; 191 | rxData = true; 192 | } 193 | 194 | //We got to the end of the message so reply, print out the values and reset the index 195 | else if (character == '\n') 196 | { 197 | SendAnswer(); 198 | motorDataBuffer[motorDataIndex] = character; 199 | motorDataIndex = 0; 200 | rxData = false; 201 | batteryVoltage = (uint16_t)((motorDataBuffer[1] << 8) | motorDataBuffer[2]); 202 | realSpeed = (uint16_t)((motorDataBuffer[3] << 8) | motorDataBuffer[4]); 203 | realSpeedSlave = (uint16_t)((motorDataBuffer[5] << 8) | motorDataBuffer[6]); 204 | } 205 | 206 | //We have data and we are recieving now so collect the bytes 207 | else if ((motorDataIndex. 29 | */ 30 | 31 | #ifndef STEERINGSERIAL_H 32 | #define STEERINGSERIAL_H 33 | 34 | #include 35 | #include 36 | #include "utils.h" 37 | #include 38 | 39 | //---------------------------------------------------------------------------- 40 | // Initializes the steering serial 41 | //---------------------------------------------------------------------------- 42 | void InitSteeringSerial(void); 43 | 44 | //---------------------------------------------------------------------------- 45 | // Sets the speed value 46 | //---------------------------------------------------------------------------- 47 | void SetSpeed(uint16_t data, float factor); 48 | void SetSpeedRear(uint16_t data, float factor); 49 | 50 | //---------------------------------------------------------------------------- 51 | // Sets the steering value 52 | //---------------------------------------------------------------------------- 53 | void SetSteer(uint16_t data); 54 | void SetSteerRear(uint16_t data); 55 | 56 | //---------------------------------------------------------------------------- 57 | // Sends answer to master device 58 | //---------------------------------------------------------------------------- 59 | void SendAnswer(void); 60 | void SendAnswerRear(void); 61 | 62 | 63 | //---------------------------------------------------------------------------- 64 | // Sends debug infos 65 | //---------------------------------------------------------------------------- 66 | void SendDebug(); 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /BerlinettaCarOnly/utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef UTILS_H 32 | #define UTILS_H 33 | 34 | #define ABS(a) (((a) < 0.0) ? -(a) : (a)) 35 | #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) 36 | #define MAP(x, xMin, xMax, yMin, yMax) ((x - xMin) * (yMax - yMin) / (xMax - xMin) + yMin) 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/EventRecorderStub.scvd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/bldc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef BLDC_H 32 | #define BLDC_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | //---------------------------------------------------------------------------- 38 | // Set motor enable 39 | //---------------------------------------------------------------------------- 40 | void SetEnable(FlagStatus setEnable); 41 | 42 | //---------------------------------------------------------------------------- 43 | // Set pwm -1000 to 1000 44 | //---------------------------------------------------------------------------- 45 | void SetPWM(int16_t setPwm); 46 | 47 | //---------------------------------------------------------------------------- 48 | // Calculation-Routine for BLDC => calculates with 16kHz 49 | //---------------------------------------------------------------------------- 50 | void CalculateBLDC(void); 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/comms.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef COMMS_H 32 | #define COMMS_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | //---------------------------------------------------------------------------- 38 | // Send buffer via USART 39 | //---------------------------------------------------------------------------- 40 | void SendBuffer(uint32_t usart_periph, uint8_t buffer[], uint8_t length); 41 | 42 | //---------------------------------------------------------------------------- 43 | // Calculate CRC 44 | //---------------------------------------------------------------------------- 45 | uint16_t CalcCRC(uint8_t *ptr, int count); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/commsBluetooth.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef COMMSBLUETOOTH_H 32 | #define COMMSBLUETOOTH_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | // Only slave communicates over bluetooth 38 | #ifdef SLAVE 39 | 40 | //---------------------------------------------------------------------------- 41 | // Update USART bluetooth input 42 | //---------------------------------------------------------------------------- 43 | void UpdateUSARTBluetoothInput(void); 44 | 45 | #endif 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/commsMasterSlave.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef COMMSMASTERSLAVE_H 32 | #define COMMSMASTERSLAVE_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | //---------------------------------------------------------------------------- 38 | // Update USART master slave input 39 | //---------------------------------------------------------------------------- 40 | void UpdateUSARTMasterSlaveInput(void); 41 | 42 | #ifdef MASTER 43 | //---------------------------------------------------------------------------- 44 | // Send slave frame via USART 45 | //---------------------------------------------------------------------------- 46 | void SendSlave(int16_t pwmSlave, FlagStatus enable, FlagStatus shutoff, FlagStatus chargeState, uint8_t identifier, int16_t value); 47 | #endif 48 | #ifdef SLAVE 49 | //---------------------------------------------------------------------------- 50 | // Send master frame via USART 51 | //---------------------------------------------------------------------------- 52 | void SendMaster(FlagStatus upperLEDMaster, FlagStatus lowerLEDMaster, FlagStatus mosfetOutMaster, FlagStatus beepsBackwards); 53 | 54 | //---------------------------------------------------------------------------- 55 | // Returns current value sent by master 56 | //---------------------------------------------------------------------------- 57 | int16_t GetCurrentDCMaster(void); 58 | 59 | //---------------------------------------------------------------------------- 60 | // Returns battery value sent by master 61 | //---------------------------------------------------------------------------- 62 | int16_t GetBatteryMaster(void); 63 | 64 | //---------------------------------------------------------------------------- 65 | // Returns realspeed value sent by master 66 | //---------------------------------------------------------------------------- 67 | int16_t GetRealSpeedMaster(void); 68 | 69 | //---------------------------------------------------------------------------- 70 | // Sets upper LED value which will be send to master 71 | //---------------------------------------------------------------------------- 72 | void SetUpperLEDMaster(FlagStatus value); 73 | 74 | //---------------------------------------------------------------------------- 75 | // Returns upper LED value sent by master 76 | //---------------------------------------------------------------------------- 77 | FlagStatus GetUpperLEDMaster(void); 78 | 79 | //---------------------------------------------------------------------------- 80 | // Sets lower LED value which will be send to master 81 | //---------------------------------------------------------------------------- 82 | void SetLowerLEDMaster(FlagStatus value); 83 | 84 | //---------------------------------------------------------------------------- 85 | // Returns lower LED value sent by master 86 | //---------------------------------------------------------------------------- 87 | FlagStatus GetLowerLEDMaster(void); 88 | 89 | //---------------------------------------------------------------------------- 90 | // Sets mosfetOut value which will be send to master 91 | //---------------------------------------------------------------------------- 92 | void SetMosfetOutMaster(FlagStatus value); 93 | 94 | //---------------------------------------------------------------------------- 95 | // Returns MosfetOut value sent by master 96 | //---------------------------------------------------------------------------- 97 | FlagStatus GetMosfetOutMaster(void); 98 | 99 | //---------------------------------------------------------------------------- 100 | // Sets beepsBackwards value which will be send to master 101 | //---------------------------------------------------------------------------- 102 | void SetBeepsBackwardsMaster(FlagStatus value); 103 | 104 | //---------------------------------------------------------------------------- 105 | // Returns beepsBackwardsMaster value sent by master 106 | //---------------------------------------------------------------------------- 107 | FlagStatus GetBeepsBackwardsMaster(void); 108 | #endif 109 | 110 | #endif 111 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/commsSteering.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef COMMSSTEERING_H 32 | #define COMMSSTEERING_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | // Only master communicates with steering device 38 | #ifdef MASTER 39 | //---------------------------------------------------------------------------- 40 | // Update USART steer input 41 | //---------------------------------------------------------------------------- 42 | void UpdateUSARTSteerInput(void); 43 | 44 | //---------------------------------------------------------------------------- 45 | // Send frame to steer device 46 | //---------------------------------------------------------------------------- 47 | void SendSteerDevice(void); 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Inc/config.h -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/defines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef DEFINES_H 32 | #define DEFINES_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | // LED defines 38 | #define LED_GREEN GPIO_PIN_15 39 | #define LED_GREEN_PORT GPIOA 40 | #define LED_ORANGE GPIO_PIN_12 41 | #define LED_ORANGE_PORT GPIOA 42 | #define LED_RED GPIO_PIN_3 43 | #define LED_RED_PORT GPIOB 44 | 45 | #define UPPER_LED_PIN GPIO_PIN_1 46 | #define UPPER_LED_PORT GPIOA 47 | #define LOWER_LED_PIN GPIO_PIN_0 48 | #define LOWER_LED_PORT GPIOA 49 | 50 | // Mosfet output 51 | #define MOSFET_OUT_PIN GPIO_PIN_13 52 | #define MOSFET_OUT_PORT GPIOC 53 | 54 | // Brushless Control DC (BLDC) defines 55 | // Channel G 56 | #define RCU_TIMER_BLDC RCU_TIMER0 57 | #define TIMER_BLDC TIMER0 58 | #define TIMER_BLDC_CHANNEL_G TIMER_CH_2 59 | #define TIMER_BLDC_GH_PIN GPIO_PIN_10 60 | #define TIMER_BLDC_GH_PORT GPIOA 61 | #define TIMER_BLDC_GL_PIN GPIO_PIN_15 62 | #define TIMER_BLDC_GL_PORT GPIOB 63 | // Channel B 64 | #define TIMER_BLDC_CHANNEL_B TIMER_CH_1 65 | #define TIMER_BLDC_BH_PIN GPIO_PIN_9 66 | #define TIMER_BLDC_BH_PORT GPIOA 67 | #define TIMER_BLDC_BL_PIN GPIO_PIN_14 68 | #define TIMER_BLDC_BL_PORT GPIOB 69 | // Channel Y 70 | #define TIMER_BLDC_CHANNEL_Y TIMER_CH_0 71 | #define TIMER_BLDC_YH_PIN GPIO_PIN_8 72 | #define TIMER_BLDC_YH_PORT GPIOA 73 | #define TIMER_BLDC_YL_PIN GPIO_PIN_13 74 | #define TIMER_BLDC_YL_PORT GPIOB 75 | 76 | // Timer BLDC short circuit emergency shutoff define 77 | #define TIMER_BLDC_EMERGENCY_SHUTDOWN_PIN GPIO_PIN_12 78 | #define TIMER_BLDC_EMERGENCY_SHUTDOWN_PORT GPIOB 79 | 80 | // Hall sensor defines 81 | #define HALL_A_PIN GPIO_PIN_11 82 | #define HALL_A_PORT GPIOB 83 | #define HALL_B_PIN GPIO_PIN_1 84 | #define HALL_B_PORT GPIOF 85 | #define HALL_C_PIN GPIO_PIN_14 86 | #define HALL_C_PORT GPIOC 87 | 88 | // Usart master slave defines 89 | #define USART_MASTERSLAVE USART1 90 | #define USART_MASTERSLAVE_TX_PIN GPIO_PIN_2 91 | #define USART_MASTERSLAVE_TX_PORT GPIOA 92 | #define USART_MASTERSLAVE_RX_PIN GPIO_PIN_3 93 | #define USART_MASTERSLAVE_RX_PORT GPIOA 94 | 95 | // ADC defines 96 | #define VBATT_PIN GPIO_PIN_4 97 | #define VBATT_PORT GPIOA 98 | #define VBATT_CHANNEL ADC_CHANNEL_4 99 | #define CURRENT_DC_PIN GPIO_PIN_6 100 | #define CURRENT_DC_PORT GPIOA 101 | #define CURRENT_DC_CHANNEL ADC_CHANNEL_6 102 | 103 | // Self hold defines 104 | #define SELF_HOLD_PIN GPIO_PIN_2 105 | #define SELF_HOLD_PORT GPIOB 106 | 107 | // Button defines 108 | #define BUTTON_PIN GPIO_PIN_15 109 | #define BUTTON_PORT GPIOC 110 | 111 | // Usart steer defines 112 | #define USART_STEER_COM USART0 113 | #define USART_STEER_COM_TX_PIN GPIO_PIN_6 114 | #define USART_STEER_COM_TX_PORT GPIOB 115 | #define USART_STEER_COM_RX_PIN GPIO_PIN_7 116 | #define USART_STEER_COM_RX_PORT GPIOB 117 | 118 | #ifdef MASTER 119 | // Buzzer defins 120 | #define BUZZER_PIN GPIO_PIN_10 121 | #define BUZZER_PORT GPIOB 122 | 123 | // Charge state defines 124 | #define CHARGE_STATE_PIN GPIO_PIN_0 125 | #define CHARGE_STATE_PORT GPIOF 126 | #endif 127 | 128 | // Debug pin defines 129 | #define DEBUG_PIN GPIO_PIN_4 130 | #define DEBUG_PORT GPIOB 131 | 132 | // ADC value conversion defines 133 | #define MOTOR_AMP_CONV_DC_AMP 0.201465201465 // 3,3V * 1/3 - 0,004Ohm * IL(ampere) = (ADC-Data/4095) *3,3V 134 | #define ADC_BATTERY_VOLT 0.024169921875 // V_Batt to V_BattMeasure = factor 30: ( (ADC-Data/4095) *3,3V *30 ) 135 | 136 | // Useful math function defines 137 | #define ABS(a) (((a) < 0.0) ? -(a) : (a)) 138 | #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) 139 | #define MAX(x, high) (((x) > (high)) ? (high) : (x)) 140 | #define MAP(x, xMin, xMax, yMin, yMax) ((x - xMin) * (yMax - yMin) / (xMax - xMin) + yMin) 141 | 142 | // ADC buffer struct 143 | typedef struct 144 | { 145 | uint16_t v_batt; 146 | uint16_t current_dc; 147 | } adc_buf_t; 148 | 149 | #endif 150 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/it.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef IT_H 32 | #define IT_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | //---------------------------------------------------------------------------- 38 | // Resets the timeout to zero 39 | //---------------------------------------------------------------------------- 40 | void ResetTimeout(void); 41 | 42 | //---------------------------------------------------------------------------- 43 | // Returns number of milliseconds since system start 44 | //---------------------------------------------------------------------------- 45 | uint32_t millis( void ); 46 | 47 | //---------------------------------------------------------------------------- 48 | // Delays number of tick Systicks (happens every 10 ms) 49 | //---------------------------------------------------------------------------- 50 | void Delay (uint32_t dlyTicks); 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/led.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef LED_H 32 | #define LED_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | // Only slave has LED mechanism 38 | #ifdef SLAVE 39 | 40 | // Modes for RGB-LED operation 41 | typedef enum 42 | { 43 | LED_OFF = 0, 44 | LED_HSB = 1, 45 | LED_HSB_BLINK = 2, 46 | LED_HSB_FADE = 3, 47 | LED_HSB_STROBE = 4 48 | } LED_PROGRAM; 49 | 50 | #define COUNT_PROGRAMS 6 // Count of LED programs!! 51 | 52 | //---------------------------------------------------------------------------- 53 | // Update RGB LED output with 16kHz 54 | //---------------------------------------------------------------------------- 55 | void CalculateLEDPWM(void); 56 | 57 | //---------------------------------------------------------------------------- 58 | // Update RGB LED program every 1ms 59 | //---------------------------------------------------------------------------- 60 | void CalculateLEDProgram(void); 61 | 62 | //---------------------------------------------------------------------------- 63 | // Sets/Gets LED program 64 | //---------------------------------------------------------------------------- 65 | void SetRGBProgram(LED_PROGRAM Program); 66 | LED_PROGRAM GetRGBProgram(void); 67 | 68 | //---------------------------------------------------------------------------- 69 | // Sets/Gets hue from 0-764 70 | //---------------------------------------------------------------------------- 71 | void SetHSBHue(uint16_t hue); 72 | uint16_t GetHSBHue(void); 73 | 74 | //---------------------------------------------------------------------------- 75 | // Sets/Gets saturation from 0-128 76 | //---------------------------------------------------------------------------- 77 | void SetHSBSaturation(uint8_t saturation); 78 | uint8_t GetHSBSaturation(void); 79 | 80 | //---------------------------------------------------------------------------- 81 | // Sets/Gets brightness from 0-63 82 | //---------------------------------------------------------------------------- 83 | void SetHSBBrightness(uint8_t brightnessVal); 84 | uint8_t GetHSBBrightness(void); 85 | 86 | 87 | //---------------------------------------------------------------------------- 88 | // Sets/Gets fading speed from 200-1000 89 | //---------------------------------------------------------------------------- 90 | void SetSpeedFading(uint16_t speed); 91 | uint16_t GetSpeedFading(void); 92 | 93 | //---------------------------------------------------------------------------- 94 | // Sets/Gets blink speed from 700-2400 95 | //---------------------------------------------------------------------------- 96 | void SetSpeedBlink(uint16_t speed); 97 | uint16_t GetSpeedBlink(void); 98 | 99 | //---------------------------------------------------------------------------- 100 | // Sets/Gets strobe speed from 0-1000 101 | //---------------------------------------------------------------------------- 102 | void SetSpeedStrobe(uint16_t speed); 103 | uint16_t GetSpeedStrobe(void); 104 | 105 | #endif 106 | 107 | #endif 108 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Inc/setup.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #ifndef SETUP_H 32 | #define SETUP_H 33 | 34 | #include "gd32f1x0.h" 35 | #include "../Inc/config.h" 36 | 37 | 38 | #define USART_MASTERSLAVE_RX_BUFFERSIZE 1 39 | #define USART_MASTERSLAVE_DATA_RX_ADDRESS ((uint32_t)0x40004424) 40 | 41 | #define USART_STEER_COM_RX_BUFFERSIZE 1 42 | #define USART_STEER_COM_DATA_RX_ADDRESS ((uint32_t)0x40013824) 43 | 44 | //---------------------------------------------------------------------------- 45 | // Initializes the interrupts 46 | //---------------------------------------------------------------------------- 47 | void Interrupt_init(void); 48 | 49 | //---------------------------------------------------------------------------- 50 | // Initializes the watchdog 51 | //---------------------------------------------------------------------------- 52 | ErrStatus Watchdog_init(void); 53 | 54 | //---------------------------------------------------------------------------- 55 | // Initializes the timeout timer 56 | //---------------------------------------------------------------------------- 57 | void TimeoutTimer_init(void); 58 | 59 | //---------------------------------------------------------------------------- 60 | // Initializes the GPIOs 61 | //---------------------------------------------------------------------------- 62 | void GPIO_init(void); 63 | 64 | //---------------------------------------------------------------------------- 65 | // Initializes the PWM 66 | //---------------------------------------------------------------------------- 67 | void PWM_init(void); 68 | 69 | //---------------------------------------------------------------------------- 70 | // Initializes the ADC 71 | //---------------------------------------------------------------------------- 72 | void ADC_init(void); 73 | 74 | //---------------------------------------------------------------------------- 75 | // Initializes the usart master slave 76 | //---------------------------------------------------------------------------- 77 | void USART_MasterSlave_init(void); 78 | 79 | //---------------------------------------------------------------------------- 80 | // Initializes the steer/bluetooth usart 81 | //---------------------------------------------------------------------------- 82 | void USART_Steer_COM_init(void); 83 | 84 | #endif 85 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/ExtDll.iex: -------------------------------------------------------------------------------- 1 | [EXTDLL] 2 | Count=0 3 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/Hoverboard.axf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/Hoverboard.axf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/Hoverboard.build_log.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/Hoverboard.build_log.htm -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/Hoverboard.lnp: -------------------------------------------------------------------------------- 1 | --cpu Cortex-M3 2 | ".\objects\main.o" 3 | ".\objects\bldc.o" 4 | ".\objects\setup.o" 5 | ".\objects\it.o" 6 | ".\objects\comms.o" 7 | ".\objects\commsbluetooth.o" 8 | ".\objects\commssteering.o" 9 | ".\objects\commsmasterslave.o" 10 | ".\objects\led.o" 11 | ".\objects\gd32f1x0_adc.o" 12 | ".\objects\gd32f1x0_dbg.o" 13 | ".\objects\gd32f1x0_dma.o" 14 | ".\objects\gd32f1x0_fwdgt.o" 15 | ".\objects\gd32f1x0_gpio.o" 16 | ".\objects\gd32f1x0_i2c.o" 17 | ".\objects\gd32f1x0_misc.o" 18 | ".\objects\gd32f1x0_opa.o" 19 | ".\objects\gd32f1x0_pmu.o" 20 | ".\objects\gd32f1x0_rcu.o" 21 | ".\objects\gd32f1x0_syscfg.o" 22 | ".\objects\gd32f1x0_timer.o" 23 | ".\objects\gd32f1x0_usart.o" 24 | ".\objects\gd32f1x0_wwdgt.o" 25 | ".\objects\startup_gd32f1x0.o" 26 | ".\objects\system_gd32f1x0.o" 27 | --strict --scatter ".\Objects\Hoverboard.sct" 28 | --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols 29 | --info sizes --info totals --info unused --info veneers 30 | --list ".\Listings\Hoverboard.map" -o .\Objects\Hoverboard.axf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/Hoverboard.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00010000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00010000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | .ANY (+XO) 11 | } 12 | RW_IRAM1 0x20000000 0x00002000 { ; RW data 13 | .ANY (+RW +ZI) 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/bldc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/bldc.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/bldc.d: -------------------------------------------------------------------------------- 1 | .\objects\bldc.o: Src\bldc.c 2 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\bldc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\bldc.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\bldc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\bldc.o: Src\../Inc/setup.h 28 | .\objects\bldc.o: Src\../Inc/../Inc/config.h 29 | .\objects\bldc.o: Src\../Inc/defines.h 30 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/bldc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/bldc.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/comms.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/comms.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/comms.d: -------------------------------------------------------------------------------- 1 | .\objects\comms.o: Src\comms.c 2 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\comms.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\comms.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\comms.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/comms.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/comms.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsbluetooth.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commsbluetooth.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsbluetooth.d: -------------------------------------------------------------------------------- 1 | .\objects\commsbluetooth.o: Src\commsBluetooth.c 2 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\commsbluetooth.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\commsbluetooth.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\commsbluetooth.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\commsbluetooth.o: Src\../Inc/defines.h 28 | .\objects\commsbluetooth.o: Src\../Inc/../Inc/config.h 29 | .\objects\commsbluetooth.o: Src\../Inc/setup.h 30 | .\objects\commsbluetooth.o: Src\../Inc/comms.h 31 | .\objects\commsbluetooth.o: Src\../Inc/commsMasterSlave.h 32 | .\objects\commsbluetooth.o: Src\../Inc/commsBluetooth.h 33 | .\objects\commsbluetooth.o: Src\../Inc/led.h 34 | .\objects\commsbluetooth.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 35 | .\objects\commsbluetooth.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 36 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsbluetooth.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commsbluetooth.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsmasterslave.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commsmasterslave.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsmasterslave.d: -------------------------------------------------------------------------------- 1 | .\objects\commsmasterslave.o: Src\commsMasterSlave.c 2 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\commsmasterslave.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\commsmasterslave.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\commsmasterslave.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\commsmasterslave.o: Src\../Inc/it.h 28 | .\objects\commsmasterslave.o: Src\../Inc/../Inc/config.h 29 | .\objects\commsmasterslave.o: Src\../Inc/comms.h 30 | .\objects\commsmasterslave.o: Src\../Inc/commsMasterSlave.h 31 | .\objects\commsmasterslave.o: Src\../Inc/setup.h 32 | .\objects\commsmasterslave.o: Src\../Inc/defines.h 33 | .\objects\commsmasterslave.o: Src\../Inc/bldc.h 34 | .\objects\commsmasterslave.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 35 | .\objects\commsmasterslave.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 36 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commsmasterslave.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commsmasterslave.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commssteering.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commssteering.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commssteering.d: -------------------------------------------------------------------------------- 1 | .\objects\commssteering.o: Src\commsSteering.c 2 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\commssteering.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\commssteering.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\commssteering.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\commssteering.o: Src\../Inc/it.h 28 | .\objects\commssteering.o: Src\../Inc/../Inc/config.h 29 | .\objects\commssteering.o: Src\../Inc/comms.h 30 | .\objects\commssteering.o: Src\../Inc/commsSteering.h 31 | .\objects\commssteering.o: Src\../Inc/setup.h 32 | .\objects\commssteering.o: Src\../Inc/defines.h 33 | .\objects\commssteering.o: Src\../Inc/bldc.h 34 | .\objects\commssteering.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 35 | .\objects\commssteering.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 36 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/commssteering.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/commssteering.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_adc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_adc.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_adc.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_adc.o: RTE\Device\GD32F130C8\gd32f1x0_adc.c 2 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 3 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_adc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_adc.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 16 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_adc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_adc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_adc.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dbg.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_dbg.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dbg.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_dbg.o: RTE\Device\GD32F130C8\gd32f1x0_dbg.c 2 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 3 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_dbg.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_dbg.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_dbg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dbg.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_dbg.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dma.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_dma.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dma.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_dma.o: RTE\Device\GD32F130C8\gd32f1x0_dma.c 2 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 3 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_dma.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_dma.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_dma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_dma.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_fwdgt.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_fwdgt.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_fwdgt.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_fwdgt.o: RTE\Device\GD32F130C8\gd32f1x0_fwdgt.c 2 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 3 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_fwdgt.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_fwdgt.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_fwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_fwdgt.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_fwdgt.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_gpio.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_gpio.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_gpio.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_gpio.o: RTE\Device\GD32F130C8\gd32f1x0_gpio.c 2 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 3 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_gpio.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_gpio.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_gpio.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_gpio.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_gpio.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_i2c.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_i2c.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_i2c.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_i2c.o: RTE\Device\GD32F130C8\gd32f1x0_i2c.c 2 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 3 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_i2c.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_i2c.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_i2c.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_i2c.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_i2c.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_misc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_misc.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_misc.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_misc.o: RTE\Device\GD32F130C8\gd32f1x0_misc.c 2 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 3 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_misc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_misc.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_misc.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_misc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_misc.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_opa.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_opa.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_opa.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_opa.o: RTE\Device\GD32F130C8\gd32f1x0_opa.c 2 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_opa.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_opa.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_pmu.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_pmu.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_pmu.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_pmu.o: RTE\Device\GD32F130C8\gd32f1x0_pmu.c 2 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 3 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_pmu.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_pmu.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_pmu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_pmu.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_pmu.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_rcu.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_rcu.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_rcu.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_rcu.o: RTE\Device\GD32F130C8\gd32f1x0_rcu.c 2 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 3 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_rcu.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_rcu.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_rcu.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_rcu.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_rcu.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_syscfg.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_syscfg.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_syscfg.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_syscfg.o: RTE\Device\GD32F130C8\gd32f1x0_syscfg.c 2 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 3 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_syscfg.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_syscfg.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_syscfg.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_syscfg.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_syscfg.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_timer.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_timer.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_timer.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_timer.o: RTE\Device\GD32F130C8\gd32f1x0_timer.c 2 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 3 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_timer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_timer.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_timer.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_timer.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_timer.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_usart.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_usart.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_usart.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_usart.o: RTE\Device\GD32F130C8\gd32f1x0_usart.c 2 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 3 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_usart.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_usart.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_usart.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_usart.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_usart.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_wwdgt.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_wwdgt.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_wwdgt.d: -------------------------------------------------------------------------------- 1 | .\objects\gd32f1x0_wwdgt.o: RTE\Device\GD32F130C8\gd32f1x0_wwdgt.c 2 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 3 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 4 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 5 | .\objects\gd32f1x0_wwdgt.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 7 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 8 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 9 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 10 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 11 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 12 | .\objects\gd32f1x0_wwdgt.o: .\RTE\_Target_1\RTE_Components.h 13 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 14 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 15 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 16 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 17 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 18 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 19 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 20 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 21 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 22 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 23 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 24 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 25 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 26 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 27 | .\objects\gd32f1x0_wwdgt.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 28 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/gd32f1x0_wwdgt.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/gd32f1x0_wwdgt.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/it.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/it.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/it.d: -------------------------------------------------------------------------------- 1 | .\objects\it.o: Src\it.c 2 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\it.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\it.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\it.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\it.o: Src\../Inc/it.h 28 | .\objects\it.o: Src\../Inc/../Inc/config.h 29 | .\objects\it.o: Src\../Inc/defines.h 30 | .\objects\it.o: Src\../Inc/bldc.h 31 | .\objects\it.o: Src\../Inc/led.h 32 | .\objects\it.o: Src\../Inc/commsMasterSlave.h 33 | .\objects\it.o: Src\../Inc/commsSteering.h 34 | .\objects\it.o: Src\../Inc/commsBluetooth.h 35 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/it.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/it.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/led.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/led.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/led.d: -------------------------------------------------------------------------------- 1 | .\objects\led.o: Src\led.c 2 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\led.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\led.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\led.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\led.o: Src\../Inc/led.h 28 | .\objects\led.o: Src\../Inc/../Inc/config.h 29 | .\objects\led.o: Src\../Inc/defines.h 30 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/led.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/led.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/main.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/main.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/main.d: -------------------------------------------------------------------------------- 1 | .\objects\main.o: Src\main.c 2 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\main.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\main.o: Src\../Inc/setup.h 28 | .\objects\main.o: Src\../Inc/../Inc/config.h 29 | .\objects\main.o: Src\../Inc/defines.h 30 | .\objects\main.o: Src\../Inc/it.h 31 | .\objects\main.o: Src\../Inc/bldc.h 32 | .\objects\main.o: Src\../Inc/commsMasterSlave.h 33 | .\objects\main.o: Src\../Inc/commsSteering.h 34 | .\objects\main.o: Src\../Inc/commsBluetooth.h 35 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 36 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 37 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 38 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h 39 | .\objects\main.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\arm_math.h 40 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\float.h 41 | .\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\limits.h 42 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/main.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/setup.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/setup.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/setup.d: -------------------------------------------------------------------------------- 1 | .\objects\setup.o: Src\setup.c 2 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\setup.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\setup.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\setup.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | .\objects\setup.o: Src\../Inc/setup.h 28 | .\objects\setup.o: Src\../Inc/../Inc/config.h 29 | .\objects\setup.o: Src\../Inc/defines.h 30 | .\objects\setup.o: Src\../Inc/it.h 31 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/setup.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/setup.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/startup_gd32f1x0.d: -------------------------------------------------------------------------------- 1 | .\objects\startup_gd32f1x0.o: RTE\Device\GD32F130C8\startup_gd32f1x0.s 2 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/startup_gd32f1x0.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/startup_gd32f1x0.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/system_gd32f1x0.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/system_gd32f1x0.crf -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/system_gd32f1x0.d: -------------------------------------------------------------------------------- 1 | .\objects\system_gd32f1x0.o: RTE\Device\GD32F130C8\system_gd32f1x0.c 2 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 3 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\core_cm3.h 4 | .\objects\system_gd32f1x0.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_version.h 6 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_compiler.h 7 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\cmsis_armcc.h 8 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Include\mpu_armv7.h 9 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\system_gd32f1x0.h 10 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0_libopt.h 11 | .\objects\system_gd32f1x0.o: .\RTE\_Target_1\RTE_Components.h 12 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_adc.h 13 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Include\gd32f1x0.h 14 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dbg.h 15 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_dma.h 16 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_gpio.h 17 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_syscfg.h 18 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_i2c.h 19 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_fwdgt.h 20 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_pmu.h 21 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_rcu.h 22 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_timer.h 23 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_usart.h 24 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_wwdgt.h 25 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_misc.h 26 | .\objects\system_gd32f1x0.o: C:\Users\davidg\AppData\Local\Arm\Packs\GigaDevice\GD32F1x0_DFP\3.1.1\Device\Firmware\Peripherals\inc\gd32f1x0_opa.h 27 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Objects/system_gd32f1x0.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveZG/esp32-powerwheels/871385e1409f9f7c7cdbd1bea8aea0fd944baf02/HoverBoardGigaDevice/Objects/system_gd32f1x0.o -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_dbg.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_dbg.c 3 | \brief DBG driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_dbg.h" 16 | 17 | #define DBG_RESET_VAL 0x00000000U 18 | 19 | /*! 20 | \brief deinitialize the DBG 21 | \param[in] none 22 | \param[out] none 23 | \retval none 24 | */ 25 | void dbg_deinit(void) 26 | { 27 | DBG_CTL0 = DBG_RESET_VAL; 28 | DBG_CTL1 = DBG_RESET_VAL; 29 | } 30 | 31 | /*! 32 | \brief read DBG_ID code register 33 | \param[in] none 34 | \param[out] none 35 | \retval DBG_ID code 36 | */ 37 | uint32_t dbg_id_get(void) 38 | { 39 | return DBG_ID; 40 | } 41 | 42 | /*! 43 | \brief enable low power behavior when the mcu is in debug mode 44 | \param[in] dbg_low_power: 45 | this parameter can be any combination of the following values: 46 | \arg DBG_LOW_POWER_SLEEP: keep debugger connection during sleep mode 47 | \arg DBG_LOW_POWER_DEEPSLEEP: keep debugger connection during deepsleep mode 48 | \arg DBG_LOW_POWER_STANDBY: keep debugger connection during standby mode 49 | \param[out] none 50 | \retval none 51 | */ 52 | void dbg_low_power_enable(uint32_t dbg_low_power) 53 | { 54 | DBG_CTL0 |= dbg_low_power; 55 | } 56 | 57 | /*! 58 | \brief disable low power behavior when the mcu is in debug mode 59 | \param[in] dbg_low_power: 60 | this parameter can be any combination of the following values: 61 | \arg DBG_LOW_POWER_SLEEP: donot keep debugger connection during sleep mode 62 | \arg DBG_LOW_POWER_DEEPSLEEP: donot keep debugger connection during deepsleep mode 63 | \arg DBG_LOW_POWER_STANDBY: donot keep debugger connection during standby mode 64 | \param[out] none 65 | \retval none 66 | */ 67 | void dbg_low_power_disable(uint32_t dbg_low_power) 68 | { 69 | DBG_CTL0 &= ~dbg_low_power; 70 | } 71 | 72 | /*! 73 | \brief enable peripheral behavior when the mcu is in debug mode 74 | \param[in] dbg_periph: refer to dbg_periph_enum 75 | only one parameter can be selected which is shown as below: 76 | \arg DBG_FWDGT_HOLD : debug FWDGT kept when core is halted 77 | \arg DBG_WWDGT_HOLD : debug WWDGT kept when core is halted 78 | \arg DBG_CANx_HOLD (x=0,1): hold CANx counter when core is halted(170_190 series only) 79 | \arg DBG_I2Cx_HOLD (x=0,1,2): hold I2Cx smbus when core is halted 80 | \arg DBG_TIMERx_HOLD (x=0,1,2,5,13,14,15,16): hold TIMERx counter when core is halted 81 | \arg DBG_RTC_HOLD : hold RTC calendar and wakeup counter when core is halted 82 | \param[out] none 83 | \retval none 84 | */ 85 | void dbg_periph_enable(dbg_periph_enum dbg_periph) 86 | { 87 | DBG_REG_VAL(dbg_periph) |= BIT(DBG_BIT_POS(dbg_periph)); 88 | } 89 | 90 | /*! 91 | \brief disable peripheral behavior when the mcu is in debug mode 92 | \param[in] dbg_periph: refer to dbg_periph_enum 93 | only one parameter can be selected which is shown as below: 94 | \arg DBG_FWDGT_HOLD : debug FWDGT kept when core is halted 95 | \arg DBG_WWDGT_HOLD : debug WWDGT kept when core is halted 96 | \arg DBG_CANx_HOLD (x=0,1): hold CANx counter when core is halted(170_190 series only) 97 | \arg DBG_I2Cx_HOLD (x=0,1,2): hold I2Cx smbus when core is halted 98 | \arg DBG_TIMERx_HOLD (x=0,1,2,5,13,14,15,16): hold TIMERx counter when core is halted 99 | \arg DBG_RTC_HOLD : hold RTC calendar and wakeup counter when core is halted 100 | \param[out] none 101 | \retval none 102 | */ 103 | void dbg_periph_disable(dbg_periph_enum dbg_periph) 104 | { 105 | DBG_REG_VAL(dbg_periph) &= ~BIT(DBG_BIT_POS(dbg_periph)); 106 | } 107 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_fwdgt.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_fwdgt.c 3 | \brief FWDGT driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_fwdgt.h" 16 | 17 | /*! 18 | \brief disable write access to FWDGT_PSC,FWDGT_RLD and FWDGT_WND 19 | \param[in] none 20 | \param[out] none 21 | \retval none 22 | */ 23 | void fwdgt_write_disable(void) 24 | { 25 | FWDGT_CTL = FWDGT_WRITEACCESS_DISABLE; 26 | } 27 | 28 | /*! 29 | \brief reload the counter of FWDGT 30 | \param[in] none 31 | \param[out] none 32 | \retval none 33 | */ 34 | void fwdgt_counter_reload(void) 35 | { 36 | FWDGT_CTL = FWDGT_KEY_RELOAD; 37 | } 38 | 39 | /*! 40 | \brief start the free watchdog timer counter 41 | \param[in] none 42 | \param[out] none 43 | \retval none 44 | */ 45 | void fwdgt_enable(void) 46 | { 47 | FWDGT_CTL = FWDGT_KEY_ENABLE; 48 | } 49 | 50 | /*! 51 | \brief configure the free watchdog timer counter window value 52 | \param[in] window_value: specify window value(0x0000 - 0x0FFF) 53 | \param[out] none 54 | \retval ErrStatus: ERROR or SUCCESS 55 | */ 56 | ErrStatus fwdgt_window_value_config(uint16_t window_value) 57 | { 58 | uint32_t time_index = FWDGT_WND_TIMEOUT; 59 | uint32_t flag_status = RESET; 60 | 61 | /* enable write access to FWDGT_WND */ 62 | FWDGT_CTL = FWDGT_WRITEACCESS_ENABLE; 63 | 64 | /* wait until the WUD flag to be reset */ 65 | do{ 66 | flag_status = FWDGT_STAT & FWDGT_STAT_WUD; 67 | }while((--time_index > 0U) && ((uint32_t)RESET != flag_status)); 68 | 69 | if ((uint32_t)RESET != flag_status){ 70 | return ERROR; 71 | } 72 | 73 | FWDGT_WND = WND_WND(window_value); 74 | 75 | return SUCCESS; 76 | } 77 | 78 | /*! 79 | \brief configure counter reload value, and prescaler divider value 80 | \param[in] reload_value: specify reload value(0x0000 - 0x0FFF) 81 | \param[in] prescaler_div: FWDGT prescaler value 82 | \arg FWDGT_PSC_DIV4: FWDGT prescaler set to 4 83 | \arg FWDGT_PSC_DIV8: FWDGT prescaler set to 8 84 | \arg FWDGT_PSC_DIV16: FWDGT prescaler set to 16 85 | \arg FWDGT_PSC_DIV32: FWDGT prescaler set to 32 86 | \arg FWDGT_PSC_DIV64: FWDGT prescaler set to 64 87 | \arg FWDGT_PSC_DIV128: FWDGT prescaler set to 128 88 | \arg FWDGT_PSC_DIV256: FWDGT prescaler set to 256 89 | \param[out] none 90 | \retval ErrStatus: ERROR or SUCCESS 91 | */ 92 | ErrStatus fwdgt_config(uint16_t reload_value, uint8_t prescaler_div) 93 | { 94 | uint32_t timeout = FWDGT_PSC_TIMEOUT; 95 | uint32_t flag_status = RESET; 96 | 97 | /* enable write access to FWDGT_PSC,and FWDGT_RLD */ 98 | FWDGT_CTL = FWDGT_WRITEACCESS_ENABLE; 99 | 100 | /* wait until the PUD flag to be reset */ 101 | do{ 102 | flag_status = FWDGT_STAT & FWDGT_STAT_PUD; 103 | }while((--timeout > 0U) && ((uint32_t)RESET != flag_status)); 104 | 105 | if ((uint32_t)RESET != flag_status){ 106 | return ERROR; 107 | } 108 | 109 | /* configure FWDGT */ 110 | FWDGT_PSC = (uint32_t)prescaler_div; 111 | 112 | timeout = FWDGT_RLD_TIMEOUT; 113 | /* wait until the RUD flag to be reset */ 114 | do{ 115 | flag_status = FWDGT_STAT & FWDGT_STAT_RUD; 116 | }while((--timeout > 0U) && ((uint32_t)RESET != flag_status)); 117 | 118 | if ((uint32_t)RESET != flag_status){ 119 | return ERROR; 120 | } 121 | 122 | FWDGT_RLD = RLD_RLD(reload_value); 123 | 124 | /* reload the counter */ 125 | FWDGT_CTL = FWDGT_KEY_RELOAD; 126 | 127 | return SUCCESS; 128 | } 129 | 130 | /*! 131 | \brief get flag state of FWDGT 132 | \param[in] flag: flag to get 133 | \arg FWDGT_FLAG_PUD: a write operation to FWDGT_PSC register is on going 134 | \arg FWDGT_FLAG_RUD: a write operation to FWDGT_RLD register is on going 135 | \arg FWDGT_FLAG_WUD: a write operation to FWDGT_WND register is on going 136 | \param[out] none 137 | \retval FlagStatus: SET or RESET 138 | */ 139 | FlagStatus fwdgt_flag_get(uint16_t flag) 140 | { 141 | if(FWDGT_STAT & flag){ 142 | return SET; 143 | } 144 | 145 | return RESET; 146 | } 147 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_misc.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_misc.c 3 | \brief MISC driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_misc.h" 16 | 17 | /*! 18 | \brief set the priority group 19 | \param[in] nvic_prigroup: the NVIC priority group 20 | \arg NVIC_PRIGROUP_PRE0_SUB4:0 bits for pre-emption priority 4 bits for subpriority 21 | \arg NVIC_PRIGROUP_PRE1_SUB3:1 bits for pre-emption priority 3 bits for subpriority 22 | \arg NVIC_PRIGROUP_PRE2_SUB2:2 bits for pre-emption priority 2 bits for subpriority 23 | \arg NVIC_PRIGROUP_PRE3_SUB1:3 bits for pre-emption priority 1 bits for subpriority 24 | \arg NVIC_PRIGROUP_PRE4_SUB0:4 bits for pre-emption priority 0 bits for subpriority 25 | \param[out] none 26 | \retval none 27 | */ 28 | void nvic_priority_group_set(uint32_t nvic_prigroup) 29 | { 30 | /* set the priority group value */ 31 | SCB->AIRCR = NVIC_AIRCR_VECTKEY_MASK | nvic_prigroup; 32 | } 33 | 34 | /*! 35 | \brief enable NVIC request 36 | \param[in] nvic_irq: the NVIC interrupt request, detailed in IRQn_Type 37 | \param[in] nvic_irq_pre_priority: the pre-emption priority needed to set 38 | \param[in] nvic_irq_sub_priority: the subpriority needed to set 39 | \param[out] none 40 | \retval none 41 | */ 42 | void nvic_irq_enable(uint8_t nvic_irq, uint8_t nvic_irq_pre_priority, 43 | uint8_t nvic_irq_sub_priority) 44 | { 45 | uint32_t temp_priority = 0x00U, temp_pre = 0x00U, temp_sub = 0x00U; 46 | /* use the priority group value to get the temp_pre and the temp_sub */ 47 | if(((SCB->AIRCR) & (uint32_t)0x700)==NVIC_PRIGROUP_PRE0_SUB4){ 48 | temp_pre = 0U; 49 | temp_sub = 0x4U; 50 | }else if(((SCB->AIRCR) & (uint32_t)0x700)==NVIC_PRIGROUP_PRE1_SUB3){ 51 | temp_pre = 1U; 52 | temp_sub = 0x3U; 53 | }else if(((SCB->AIRCR) & (uint32_t)0x700)==NVIC_PRIGROUP_PRE2_SUB2){ 54 | temp_pre = 2U; 55 | temp_sub = 0x2U; 56 | }else if(((SCB->AIRCR) & (uint32_t)0x700)==NVIC_PRIGROUP_PRE3_SUB1){ 57 | temp_pre = 3U; 58 | temp_sub = 0x1U; 59 | }else if(((SCB->AIRCR) & (uint32_t)0x700)==NVIC_PRIGROUP_PRE4_SUB0){ 60 | temp_pre = 4U; 61 | temp_sub = 0x0U; 62 | }else{ 63 | } 64 | /* get the temp_priority to fill the NVIC->IP register */ 65 | temp_priority = (uint32_t)nvic_irq_pre_priority << (0x4U - temp_pre); 66 | temp_priority |= nvic_irq_sub_priority &(0x0FU >> (0x4U - temp_sub)); 67 | temp_priority = temp_priority << 0x04U; 68 | NVIC->IP[nvic_irq] = (uint8_t)temp_priority; 69 | /* enable the selected IRQ */ 70 | NVIC->ISER[nvic_irq >> 0x05] = (uint32_t)0x01 << (nvic_irq & (uint8_t)0x1F); 71 | } 72 | 73 | /*! 74 | \brief disable NVIC request 75 | \param[in] nvic_irq: the NVIC interrupt request, detailed in IRQn_Type 76 | \param[out] none 77 | \retval none 78 | */ 79 | void nvic_irq_disable(uint8_t nvic_irq) 80 | { 81 | /* disable the selected IRQ.*/ 82 | NVIC->ICER[nvic_irq >> 0x05] = (uint32_t)0x01 << (nvic_irq & (uint8_t)0x1F); 83 | } 84 | 85 | /*! 86 | \brief set the NVIC vector table base address 87 | \param[in] nvic_vict_tab: the RAM or FLASH base address 88 | \arg NVIC_VECTTAB_RAM: RAM base address 89 | \are NVIC_VECTTAB_FLASH: Flash base address 90 | \param[in] offset: Vector Table offset 91 | \param[out] none 92 | \retval none 93 | */ 94 | void nvic_vector_table_set(uint32_t nvic_vict_tab, uint32_t offset) 95 | { 96 | SCB->VTOR = nvic_vict_tab | (offset & NVIC_VECTTAB_OFFSET_MASK); 97 | } 98 | 99 | /*! 100 | \brief set the state of the low power mode 101 | \param[in] lowpower_mode: the low power mode state 102 | \arg SCB_LPM_SLEEP_EXIT_ISR: if chose this para, the system always enter low power 103 | mode by exiting from ISR 104 | \arg SCB_LPM_DEEPSLEEP: if chose this para, the system will enter the DEEPSLEEP mode 105 | \arg SCB_LPM_WAKE_BY_ALL_INT: if chose this para, the lowpower mode can be woke up 106 | by all the enable and disable interrupts 107 | \param[out] none 108 | \retval none 109 | */ 110 | void system_lowpower_set(uint8_t lowpower_mode) 111 | { 112 | SCB->SCR |= (uint32_t)lowpower_mode; 113 | } 114 | 115 | /*! 116 | \brief reset the state of the low power mode 117 | \param[in] lowpower_mode: the low power mode state 118 | \arg SCB_LPM_SLEEP_EXIT_ISR: if chose this para, the system will exit low power 119 | mode by exiting from ISR 120 | \arg SCB_LPM_DEEPSLEEP: if chose this para, the system will enter the SLEEP mode 121 | \arg SCB_LPM_WAKE_BY_ALL_INT: if chose this para, the lowpower mode only can be 122 | woke up by the enable interrupts 123 | \param[out] none 124 | \retval none 125 | */ 126 | void system_lowpower_reset(uint8_t lowpower_mode) 127 | { 128 | SCB->SCR &= (~(uint32_t)lowpower_mode); 129 | } 130 | 131 | /*! 132 | \brief set the systick clock source 133 | \param[in] systick_clksource: the systick clock source needed to choose 134 | \arg SYSTICK_CLKSOURCE_HCLK: systick clock source is from HCLK 135 | \arg SYSTICK_CLKSOURCE_HCLK_DIV8: systick clock source is from HCLK/8 136 | \param[out] none 137 | \retval none 138 | */ 139 | 140 | void systick_clksource_set(uint32_t systick_clksource) 141 | { 142 | if(SYSTICK_CLKSOURCE_HCLK == systick_clksource ){ 143 | /* set the systick clock source from HCLK */ 144 | SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK; 145 | }else{ 146 | /* set the systick clock source from HCLK/8 */ 147 | SysTick->CTRL &= SYSTICK_CLKSOURCE_HCLK_DIV8; 148 | } 149 | } 150 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_pmu.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_pmu.c 3 | \brief PMU driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_pmu.h" 16 | 17 | /*! 18 | \brief reset PMU register 19 | \param[in] none 20 | \param[out] none 21 | \retval none 22 | */ 23 | void pmu_deinit(void) 24 | { 25 | /* reset PMU */ 26 | rcu_periph_reset_enable(RCU_PMURST); 27 | rcu_periph_reset_disable(RCU_PMURST); 28 | } 29 | 30 | /*! 31 | \brief select low voltage detector threshold 32 | \param[in] lvdt_n: 33 | \arg PMU_LVDT_0: voltage threshold is 2.2V (GD32F130_150) or 2.4V (GD32F170_190) 34 | \arg PMU_LVDT_1: voltage threshold is 2.3V (GD32F130_150) or 2.7V (GD32F170_190) 35 | \arg PMU_LVDT_2: voltage threshold is 2.4V (GD32F130_150) or 3.0V (GD32F170_190) 36 | \arg PMU_LVDT_3: voltage threshold is 2.5V (GD32F130_150) or 3.3V (GD32F170_190) 37 | \arg PMU_LVDT_4: voltage threshold is 2.6V (GD32F130_150) or 3.6V (GD32F170_190) 38 | \arg PMU_LVDT_5: voltage threshold is 2.7V (GD32F130_150) or 3.9V (GD32F170_190) 39 | \arg PMU_LVDT_6: voltage threshold is 2.8V (GD32F130_150) or 4.2V (GD32F170_190) 40 | \arg PMU_LVDT_7: voltage threshold is 2.9V (GD32F130_150) or 4.5V (GD32F170_190) 41 | \param[out] none 42 | \retval none 43 | */ 44 | void pmu_lvd_select(uint32_t lvdt_n) 45 | { 46 | /* disable LVD */ 47 | PMU_CTL &= ~PMU_CTL_LVDEN; 48 | /* clear LVDT bits */ 49 | PMU_CTL &= ~PMU_CTL_LVDT; 50 | /* set LVDT bits according to lvdt_n */ 51 | PMU_CTL |= lvdt_n; 52 | /* enable LVD */ 53 | PMU_CTL |= PMU_CTL_LVDEN; 54 | 55 | } 56 | 57 | /*! 58 | \brief PMU lvd disable 59 | \param[in] none 60 | \param[out] none 61 | \retval none 62 | */ 63 | void pmu_lvd_disable(void) 64 | { 65 | /* disable LVD */ 66 | PMU_CTL &= ~PMU_CTL_LVDEN; 67 | } 68 | 69 | /*! 70 | \brief PMU work at sleep mode 71 | \param[in] sleepmodecmd: 72 | \arg WFI_CMD: use WFI command 73 | \arg WFE_CMD: use WFE command 74 | \param[out] none 75 | \retval none 76 | */ 77 | void pmu_to_sleepmode(uint8_t sleepmodecmd) 78 | { 79 | /* clear sleepdeep bit of Cortex-M3 system control register */ 80 | SCB->SCR &= ~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); 81 | 82 | /* select WFI or WFE command to enter sleep mode */ 83 | if(WFI_CMD == sleepmodecmd){ 84 | __WFI(); 85 | }else{ 86 | __WFE(); 87 | } 88 | } 89 | 90 | /*! 91 | \brief PMU work at deepsleep mode 92 | \param[in] ldo 93 | \arg PMU_LDO_NORMAL: LDO normal work when pmu enter deepsleep mode 94 | \arg PMU_LDO_LOWPOWER: LDO work at low power mode when pmu enter deepsleep mode 95 | \param[in] deepsleepmodecmd: 96 | \arg WFI_CMD: use WFI command 97 | \arg WFE_CMD: use WFE command 98 | \param[out] none 99 | \retval none 100 | */ 101 | void pmu_to_deepsleepmode(uint32_t ldo,uint8_t deepsleepmodecmd) 102 | { 103 | static uint32_t reg_snap[ 4 ]; 104 | /* clear stbmod and ldolp bits */ 105 | PMU_CTL &= ~((uint32_t)(PMU_CTL_STBMOD | PMU_CTL_LDOLP)); 106 | 107 | /* set ldolp bit according to pmu_ldo */ 108 | PMU_CTL |= ldo; 109 | 110 | /* set sleepdeep bit of Cortex-M3 system control register */ 111 | SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; 112 | 113 | reg_snap[ 0 ] = REG32( 0xE000E010 ); 114 | reg_snap[ 1 ] = REG32( 0xE000E100 ); 115 | reg_snap[ 2 ] = REG32( 0xE000E104 ); 116 | reg_snap[ 3 ] = REG32( 0xE000E108 ); 117 | 118 | REG32( 0xE000E010 ) &= 0x00010004; 119 | REG32( 0xE000E180 ) = 0XB7FFEF19; 120 | REG32( 0xE000E184 ) = 0XFFFFFBFF; 121 | REG32( 0xE000E188 ) = 0xFFFFFFFF; 122 | 123 | /* select WFI or WFE command to enter deepsleep mode */ 124 | if(WFI_CMD == deepsleepmodecmd){ 125 | __WFI(); 126 | }else{ 127 | __SEV(); 128 | __WFE(); 129 | __WFE(); 130 | } 131 | 132 | REG32( 0xE000E010 ) = reg_snap[ 0 ] ; 133 | REG32( 0xE000E100 ) = reg_snap[ 1 ] ; 134 | REG32( 0xE000E104 ) = reg_snap[ 2 ] ; 135 | REG32( 0xE000E108 ) = reg_snap[ 3 ] ; 136 | 137 | /* reset sleepdeep bit of Cortex-M3 system control register */ 138 | SCB->SCR &= ~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); 139 | } 140 | 141 | /*! 142 | \brief pmu work at standby mode 143 | \param[in] standbymodecmd: 144 | \arg WFI_CMD: use WFI command 145 | \arg WFE_CMD: use WFE command 146 | \param[out] none 147 | \retval none 148 | */ 149 | void pmu_to_standbymode(uint8_t standbymodecmd) 150 | { 151 | /* set sleepdeep bit of Cortex-M3 system control register */ 152 | SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; 153 | 154 | /* set stbmod bit */ 155 | PMU_CTL |= PMU_CTL_STBMOD; 156 | 157 | /* reset wakeup flag */ 158 | PMU_CTL |= PMU_CTL_WURST; 159 | 160 | /* select WFI or WFE command to enter standby mode */ 161 | if(WFI_CMD == standbymodecmd){ 162 | __WFI(); 163 | }else{ 164 | __WFE(); 165 | } 166 | } 167 | 168 | /*! 169 | \brief clear flag bit 170 | \param[in] flag_reset: 171 | \arg PMU_FLAG_RESET_WAKEUP: reset wakeup flag 172 | \arg PMU_FLAG_RESET_STANDBY: reset standby flag 173 | \param[out] none 174 | \retval none 175 | */ 176 | void pmu_flag_clear(uint32_t flag_reset) 177 | { 178 | switch(flag_reset){ 179 | case PMU_FLAG_RESET_WAKEUP: 180 | /* reset wakeup flag */ 181 | PMU_CTL |= PMU_CTL_WURST; 182 | break; 183 | case PMU_FLAG_RESET_STANDBY: 184 | /* reset standby flag */ 185 | PMU_CTL |= PMU_CTL_STBRST; 186 | break; 187 | default : 188 | break; 189 | } 190 | } 191 | 192 | /*! 193 | \brief get flag state 194 | \param[in] flag: 195 | \arg PMU_FLAG_WAKEUP: wakeup flag 196 | \arg PMU_FLAG_STANDBY: standby flag 197 | \arg PMU_FLAG_LVD: lvd flag 198 | \param[out] none 199 | \retval FlagStatus SET or RESET 200 | */ 201 | FlagStatus pmu_flag_get(uint32_t flag ) 202 | { 203 | if(PMU_CS & flag){ 204 | return SET; 205 | }else{ 206 | return RESET; 207 | } 208 | } 209 | 210 | /*! 211 | \brief backup domain write enable 212 | \param[in] none 213 | \param[out] none 214 | \retval none 215 | */ 216 | void pmu_backup_write_enable(void) 217 | { 218 | PMU_CTL |= PMU_CTL_BKPWEN; 219 | } 220 | 221 | /*! 222 | \brief backup domain write disable 223 | \param[in] none 224 | \param[out] none 225 | \retval none 226 | */ 227 | void pmu_backup_write_disable(void) 228 | { 229 | PMU_CTL &= ~PMU_CTL_BKPWEN; 230 | } 231 | 232 | /*! 233 | \brief wakeup pin enable 234 | \param[in] wakeup_pin: 235 | \arg PMU_WAKEUP_PIN0: wakeup pin 0 236 | \arg PMU_WAKEUP_PIN1: wakeup pin 1 237 | \param[out] none 238 | \retval none 239 | */ 240 | void pmu_wakeup_pin_enable(uint32_t wakeup_pin ) 241 | { 242 | PMU_CS |= wakeup_pin; 243 | } 244 | 245 | /*! 246 | \brief wakeup pin disable 247 | \param[in] wakeup_pin: 248 | \arg PMU_WAKEUP_PIN0: wakeup pin 0 249 | \arg PMU_WAKEUP_PIN1: wakeup pin 1 250 | \param[out] none 251 | \retval none 252 | */ 253 | void pmu_wakeup_pin_disable(uint32_t wakeup_pin ) 254 | { 255 | PMU_CS &= ~wakeup_pin; 256 | 257 | } 258 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_syscfg.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_syscfg.c 3 | \brief SYSCFG driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_syscfg.h" 16 | 17 | /*! 18 | \brief reset the SYSCFG registers 19 | \param[in] none 20 | \param[out] none 21 | \retval none 22 | */ 23 | void syscfg_deinit(void) 24 | { 25 | rcu_periph_reset_enable(RCU_CFGCMPRST); 26 | rcu_periph_reset_disable(RCU_CFGCMPRST); 27 | } 28 | 29 | /*! 30 | \brief enable the DMA channels remapping 31 | \param[in] syscfg_dma_remap: specify the DMA channels to remap 32 | \arg SYSCFG_DMA_REMAP_TIMER16: remap TIMER16 channel0 and UP DMA requests to channel1(defaut channel0) 33 | \arg SYSCFG_DMA_REMAP_TIMER15: remap TIMER15 channel2 and UP DMA requests to channel3(defaut channel2) 34 | \arg SYSCFG_DMA_REMAP_USART0RX: remap USART0 Rx DMA request to channel4(default channel2) 35 | \arg SYSCFG_DMA_REMAP_USART0TX: remap USART0 Tx DMA request to channel3(default channel1) 36 | \arg SYSCFG_DMA_REMAP_ADC: remap ADC DMA requests from channel0 to channel1 37 | \param[out] none 38 | \retval none 39 | */ 40 | void syscfg_dma_remap_enable(uint32_t syscfg_dma_remap) 41 | { 42 | SYSCFG_CFG0 |= syscfg_dma_remap; 43 | } 44 | 45 | /*! 46 | \brief disable the DMA channels remapping 47 | \param[in] syscfg_dma_remap: specify the DMA channels to remap 48 | \arg SYSCFG_DMA_REMAP_TIMER16: remap TIMER16 channel0 and UP DMA requests to channel1(defaut channel0) 49 | \arg SYSCFG_DMA_REMAP_TIMER15: remap TIMER15 channel2 and UP DMA requests to channel3(defaut channel2) 50 | \arg SYSCFG_DMA_REMAP_USART0RX: remap USART0 Rx DMA request to channel4(default channel2) 51 | \arg SYSCFG_DMA_REMAP_USART0TX: remap USART0 Tx DMA request to channel3(default channel1) 52 | \arg SYSCFG_DMA_REMAP_ADC: remap ADC DMA requests from channel0 to channel1 53 | \param[out] none 54 | \retval none 55 | */ 56 | void syscfg_dma_remap_disable(uint32_t syscfg_dma_remap) 57 | { 58 | SYSCFG_CFG0 &= ~syscfg_dma_remap; 59 | } 60 | 61 | /*! 62 | \brief enable PB9 high current capability 63 | \param[in] none 64 | \param[out] none 65 | \retval none 66 | */ 67 | void syscfg_high_current_enable(void) 68 | { 69 | SYSCFG_CFG0 |= SYSCFG_HIGH_CURRENT_ENABLE; 70 | } 71 | 72 | /*! 73 | \brief disable PB9 high current capability 74 | \param[in] none 75 | \param[out] none 76 | \retval none 77 | */ 78 | void syscfg_high_current_disable(void) 79 | { 80 | SYSCFG_CFG0 &= SYSCFG_HIGH_CURRENT_DISABLE; 81 | } 82 | 83 | #ifdef GD32F170_190 84 | /*! 85 | \brief configure the VLCD intermediate voltage rail 86 | \param[in] vlcd_bias: specify VLCD bias 87 | \arg VLCD_BIAS1_2_RAIL1: VLCD bias is 1/2, using rail1 88 | \arg VLCD_BIAS1_2_RAIL2: VLCD bias is 1/2, using rail2 89 | \arg VLCD_BIAS1_2_RAIL3: VLCD bias is 1/2, using rail3 90 | \arg VLCD_BIAS1_3_RAIL1_2: VLCD bias is 1/3, using rail1 and rail2 91 | \arg VLCD_BIAS1_3_RAIL1_3: VLCD bias is 1/3, using rail1 and rail3 92 | \arg VLCD_BIAS1_4_RAILALL: VLCD bias is 1/4, using all rails 93 | \param[out] none 94 | \retval none 95 | */ 96 | void syscfg_vlcd_rail_config(uint8_t vlcd_bias) 97 | { 98 | uint32_t cfg1 = SYSCFG_CFG1; 99 | 100 | /* Clear system configuration register 1 */ 101 | SYSCFG_CFG1 = 0U; 102 | 103 | switch(vlcd_bias){ 104 | /* according to VLCD bias, configure rails combination */ 105 | case VLCD_BIAS1_2_RAIL1: 106 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL1; 107 | break; 108 | case VLCD_BIAS1_2_RAIL2: 109 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL2; 110 | break; 111 | case VLCD_BIAS1_2_RAIL3: 112 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL3; 113 | break; 114 | case VLCD_BIAS1_3_RAIL1_2: 115 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL2 | SYSCFG_VLCD_RAIL1; 116 | break; 117 | case VLCD_BIAS1_3_RAIL1_3: 118 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL3 | SYSCFG_VLCD_RAIL1; 119 | break; 120 | case VLCD_BIAS1_4_RAILALL: 121 | SYSCFG_CFG1 |= SYSCFG_VLCD_RAIL3 | SYSCFG_VLCD_RAIL2 | SYSCFG_VLCD_RAIL1; 122 | break; 123 | default: 124 | SYSCFG_CFG1 = cfg1; 125 | break; 126 | } 127 | } 128 | #endif /* GD32F170_190 */ 129 | 130 | /*! 131 | \brief configure the GPIO pin as EXTI Line 132 | \param[in] exti_port: specify the GPIO port used in EXTI 133 | \arg EXTI_SOURCE_GPIOx(x = A,B,C,D,F): EXTI GPIO port 134 | \param[in] exti_pin: specify the EXTI line 135 | \arg EXTI_SOURCE_PINx(x = 0..15): EXTI GPIO pin 136 | \param[out] none 137 | \retval none 138 | */ 139 | void syscfg_exti_line_config(uint8_t exti_port, uint8_t exti_pin) 140 | { 141 | uint32_t clear_exti_mask = ~((uint32_t)EXTI_SS_MASK << (EXTI_SS_MSTEP(exti_pin))); 142 | uint32_t config_exti_mask = ((uint32_t)exti_port) << (EXTI_SS_MSTEP(exti_pin)); 143 | 144 | switch(exti_pin / EXTI_SS_JSTEP){ 145 | case EXTISS0: 146 | /* clear EXTI source line(0..3) */ 147 | SYSCFG_EXTISS0 &= clear_exti_mask; 148 | /* configure EXTI soure line(0..3) */ 149 | SYSCFG_EXTISS0 |= config_exti_mask; 150 | break; 151 | case EXTISS1: 152 | /* clear EXTI soure line(4..7) */ 153 | SYSCFG_EXTISS1 &= clear_exti_mask; 154 | /* configure EXTI soure line(4..7) */ 155 | SYSCFG_EXTISS1 |= config_exti_mask; 156 | break; 157 | case EXTISS2: 158 | /* clear EXTI soure line(8..11) */ 159 | SYSCFG_EXTISS2 &= clear_exti_mask; 160 | /* configure EXTI soure line(8..11) */ 161 | SYSCFG_EXTISS2 |= config_exti_mask; 162 | break; 163 | case EXTISS3: 164 | /* clear EXTI soure line(12..15) */ 165 | SYSCFG_EXTISS3 &= clear_exti_mask; 166 | /* configure EXTI soure line(12..15) */ 167 | SYSCFG_EXTISS3 |= config_exti_mask; 168 | break; 169 | default: 170 | break; 171 | } 172 | } 173 | 174 | /*! 175 | \brief connect TIMER0/14/15/16 break input to the selected parameter 176 | \param[in] syscfg_lock: Specify the parameter to be connected 177 | \arg SYSCFG_LOCK_LOCKUP: Cortex-M3 lockup output connected to the break input 178 | \arg SYSCFG_LOCK_SRAM_PARITY_ERROR: SRAM_PARITY check error connected to the break input 179 | \arg SYSCFG_LOCK_LVD: LVD interrupt connected to the break input 180 | \param[out] none 181 | \retval none 182 | */ 183 | void syscfg_lock_config(uint32_t syscfg_lock) 184 | { 185 | SYSCFG_CFG2 |= syscfg_lock; 186 | } 187 | 188 | /*! 189 | \brief check if the specified flag in SYSCFG_CFG2 is set or not. 190 | \param[in] syscfg_flag: specify the flag in SYSCFG_CFG2 to check. 191 | \arg SYSCFG_SRAM_PCEF: SRAM parity check error flag. 192 | \param[out] none 193 | \retval the syscfg_flag state returned (SET or RESET). 194 | */ 195 | FlagStatus syscfg_flag_get(uint32_t syscfg_flag) 196 | { 197 | if((SYSCFG_CFG2 & syscfg_flag) != (uint32_t)RESET){ 198 | return SET; 199 | }else{ 200 | return RESET; 201 | } 202 | } 203 | 204 | /*! 205 | \brief clear the flag in SYSCFG_CFG2 by writing 1. 206 | \param[in] syscfg_flag: Specify the flag in SYSCFG_CFG2 to clear. 207 | \arg SYSCFG_SRAM_PCEF: SRAM parity check error flag. 208 | \param[out] none 209 | \retval none 210 | */ 211 | void syscfg_flag_clear(uint32_t syscfg_flag) 212 | { 213 | SYSCFG_CFG2 |= (uint32_t) syscfg_flag; 214 | } 215 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/Device/GD32F130C8/gd32f1x0_wwdgt.c: -------------------------------------------------------------------------------- 1 | /*! 2 | \file gd32f1x0_wwdgt.c 3 | \brief WWDGT driver 4 | */ 5 | 6 | /* 7 | Copyright (C) 2017 GigaDevice 8 | 9 | 2014-12-26, V1.0.0, platform GD32F1x0(x=3,5) 10 | 2016-01-15, V2.0.0, platform GD32F1x0(x=3,5,7,9) 11 | 2016-04-30, V3.0.0, firmware update for GD32F1x0(x=3,5,7,9) 12 | 2017-06-19, V3.1.0, firmware update for GD32F1x0(x=3,5,7,9) 13 | */ 14 | 15 | #include "gd32f1x0_wwdgt.h" 16 | #include "gd32f1x0_rcu.h" 17 | 18 | /*! 19 | \brief reset the window watchdog timer configuration 20 | \param[in] none 21 | \param[out] none 22 | \retval none 23 | */ 24 | void wwdgt_deinit(void) 25 | { 26 | rcu_periph_reset_enable(RCU_WWDGTRST); 27 | rcu_periph_reset_disable(RCU_WWDGTRST); 28 | } 29 | 30 | /*! 31 | \brief configure the window watchdog timer counter value 32 | \param[in] counter_value: 0x00 - 0x7F 33 | \param[out] none 34 | \retval none 35 | */ 36 | void wwdgt_counter_update(uint16_t counter_value) 37 | { 38 | uint32_t reg = 0U; 39 | 40 | reg = WWDGT_CTL & (~WWDGT_CTL_CNT); 41 | reg |= (uint32_t)(CTL_CNT((uint32_t)counter_value)); 42 | 43 | WWDGT_CTL = (uint32_t)reg; 44 | } 45 | 46 | /*! 47 | \brief start the window watchdog timer counter 48 | \param[in] none 49 | \param[out] none 50 | \retval none 51 | */ 52 | void wwdgt_enable(void) 53 | { 54 | WWDGT_CTL |= WWDGT_CTL_WDGTEN; 55 | } 56 | 57 | /*! 58 | \brief configure counter value, window value, and prescaler divider value 59 | \param[in] counter: 0x00 - 0x7F 60 | \param[in] window: 0x00 - 0x7F 61 | \param[in] prescaler: wwdgt prescaler value 62 | \arg WWDGT_CFG_PSC_DIV1: the time base of window watchdog counter = (PCLK1/4096)/1 63 | \arg WWDGT_CFG_PSC_DIV2: the time base of window watchdog counter = (PCLK1/4096)/2 64 | \arg WWDGT_CFG_PSC_DIV4: the time base of window watchdog counter = (PCLK1/4096)/4 65 | \arg WWDGT_CFG_PSC_DIV8: the time base of window watchdog counter = (PCLK1/4096)/8 66 | \param[out] none 67 | \retval none 68 | */ 69 | void wwdgt_config(uint16_t counter, uint16_t window, uint32_t prescaler) 70 | { 71 | uint32_t reg_cfg = 0U, reg_ctl = 0U; 72 | 73 | /* clear WIN and PSC bits, clear CNT bit */ 74 | reg_cfg = WWDGT_CFG &(~(WWDGT_CFG_WIN | WWDGT_CFG_PSC)); 75 | reg_ctl = WWDGT_CTL &(~(uint32_t)WWDGT_CTL_CNT); 76 | 77 | /* configure WIN and PSC bits, configure CNT bit */ 78 | reg_cfg |= (uint32_t)(CFG_WIN(window)); 79 | reg_cfg |= (uint32_t)(prescaler); 80 | reg_ctl |= (uint32_t)(CTL_CNT(counter)); 81 | 82 | WWDGT_CFG = (uint32_t)reg_cfg; 83 | WWDGT_CTL = (uint32_t)reg_ctl; 84 | } 85 | 86 | /*! 87 | \brief enable early wakeup interrupt of WWDGT 88 | \param[in] none 89 | \param[out] none 90 | \retval none 91 | */ 92 | void wwdgt_interrupt_enable(void) 93 | { 94 | WWDGT_CFG |= WWDGT_CFG_EWIE; 95 | } 96 | 97 | /*! 98 | \brief check early wakeup interrupt state of WWDGT 99 | \param[in] none 100 | \param[out] none 101 | \retval FlagStatus: SET or RESET 102 | */ 103 | FlagStatus wwdgt_flag_get(void) 104 | { 105 | if(WWDGT_STAT & WWDGT_STAT_EWIF){ 106 | return SET; 107 | } 108 | 109 | return RESET; 110 | } 111 | 112 | /*! 113 | \brief clear early wakeup interrupt state of WWDGT 114 | \param[in] none 115 | \param[out] none 116 | \retval none 117 | */ 118 | void wwdgt_flag_clear(void) 119 | { 120 | WWDGT_STAT &= (uint32_t)(~(uint32_t)WWDGT_STAT_EWIF); 121 | } 122 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/RTE/_Target_1/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'Hoverboard' 7 | * Target: 'Target 1' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | /* 15 | * Define the Device Header File: 16 | */ 17 | #define CMSIS_device_header "gd32f1x0.h" 18 | 19 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:ADC:3.1.0 */ 20 | #define RTE_DEVICE_STDPERIPHERALS_ADC 21 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:DMA:3.1.0 */ 22 | #define RTE_DEVICE_STDPERIPHERALS_DMA 23 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:FWDGT:3.1.0 */ 24 | #define RTE_DEVICE_STDPERIPHERALS_FWDGT 25 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:GPIO:3.1.0 */ 26 | #define RTE_DEVICE_STDPERIPHERALS_GPIO 27 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:I2C:3.1.0 */ 28 | #define RTE_DEVICE_STDPERIPHERALS_I2C 29 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:MCUDBG:3.1.0 */ 30 | #define RTE_DEVICE_STDPERIPHERALS_DBG 31 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:MISC:3.1.0 */ 32 | #define RTE_DEVICE_STDPERIPHERALS_MISC 33 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:OPA:3.1.0 */ 34 | #define RTE_DEVICE_STDPERIPHERALS_OPA 35 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:PMU:3.1.0 */ 36 | #define RTE_DEVICE_STDPERIPHERALS_PMU 37 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:RCU:3.1.0 */ 38 | #define RTE_DEVICE_STDPERIPHERALS_RCU 39 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:SYSCFG:3.1.0 */ 40 | #define RTE_DEVICE_STDPERIPHERALS_SYSCFG 41 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:TIMER:3.1.0 */ 42 | #define RTE_DEVICE_STDPERIPHERALS_TIMER 43 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:USART:3.1.0 */ 44 | #define RTE_DEVICE_STDPERIPHERALS_USART 45 | /* GigaDevice::Device:GD32F1x0_StdPeripherals:WWDGT:3.1.0 */ 46 | #define RTE_DEVICE_STDPERIPHERALS_WWDGT 47 | 48 | 49 | #endif /* RTE_COMPONENTS_H */ 50 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Src/bldc.c: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #include "gd32f1x0.h" 32 | #include "../Inc/setup.h" 33 | #include "../Inc/defines.h" 34 | #include "../Inc/config.h" 35 | 36 | // Internal constants 37 | const int16_t pwm_res = 72000000 / 2 / PWM_FREQ; // = 2000 38 | 39 | // Global variables for voltage and current 40 | float batteryVoltage = 40.0; 41 | float currentDC = 0.0; 42 | float realSpeed = 0.0; 43 | 44 | // Timeoutvariable set by timeout timer 45 | extern FlagStatus timedOut; 46 | 47 | // Variables to be set from the main routine 48 | int16_t bldc_inputFilterPwm = 0; 49 | FlagStatus bldc_enable = RESET; 50 | 51 | // ADC buffer to be filled by DMA 52 | adc_buf_t adc_buffer; 53 | 54 | // Internal calculation variables 55 | uint8_t hall_a; 56 | uint8_t hall_b; 57 | uint8_t hall_c; 58 | uint8_t hall; 59 | uint8_t pos; 60 | uint8_t lastPos; 61 | int16_t bldc_outputFilterPwm = 0; 62 | int32_t filter_reg; 63 | FlagStatus buzzerToggle = RESET; 64 | uint8_t buzzerFreq = 0; 65 | uint8_t buzzerPattern = 0; 66 | uint16_t buzzerTimer = 0; 67 | int16_t offsetcount = 0; 68 | int16_t offsetdc = 2000; 69 | uint32_t speedCounter = 0; 70 | 71 | //---------------------------------------------------------------------------- 72 | // Commutation table 73 | //---------------------------------------------------------------------------- 74 | const uint8_t hall_to_pos[8] = 75 | { 76 | // annotation: for example SA=0 means hall sensor pulls SA down to Ground 77 | 0, // hall position [-] - No function (access from 1-6) 78 | 3, // hall position [1] (SA=1, SB=0, SC=0) -> PWM-position 3 79 | 5, // hall position [2] (SA=0, SB=1, SC=0) -> PWM-position 5 80 | 4, // hall position [3] (SA=1, SB=1, SC=0) -> PWM-position 4 81 | 1, // hall position [4] (SA=0, SB=0, SC=1) -> PWM-position 1 82 | 2, // hall position [5] (SA=1, SB=0, SC=1) -> PWM-position 2 83 | 6, // hall position [6] (SA=0, SB=1, SC=1) -> PWM-position 6 84 | 0, // hall position [-] - No function (access from 1-6) 85 | }; 86 | 87 | //---------------------------------------------------------------------------- 88 | // Block PWM calculation based on position 89 | //---------------------------------------------------------------------------- 90 | __INLINE void blockPWM(int pwm, int pwmPos, int *y, int *b, int *g) 91 | { 92 | switch(pwmPos) 93 | { 94 | case 1: 95 | *y = 0; 96 | *b = pwm; 97 | *g = -pwm; 98 | break; 99 | case 2: 100 | *y = -pwm; 101 | *b = pwm; 102 | *g = 0; 103 | break; 104 | case 3: 105 | *y = -pwm; 106 | *b = 0; 107 | *g = pwm; 108 | break; 109 | case 4: 110 | *y = 0; 111 | *b = -pwm; 112 | *g = pwm; 113 | break; 114 | case 5: 115 | *y = pwm; 116 | *b = -pwm; 117 | *g = 0; 118 | break; 119 | case 6: 120 | *y = pwm; 121 | *b = 0; 122 | *g = -pwm; 123 | break; 124 | default: 125 | *y = 0; 126 | *b = 0; 127 | *g = 0; 128 | } 129 | } 130 | 131 | //---------------------------------------------------------------------------- 132 | // Set motor enable 133 | //---------------------------------------------------------------------------- 134 | void SetEnable(FlagStatus setEnable) 135 | { 136 | bldc_enable = setEnable; 137 | } 138 | 139 | //---------------------------------------------------------------------------- 140 | // Set pwm -1000 to 1000 141 | //---------------------------------------------------------------------------- 142 | void SetPWM(int16_t setPwm) 143 | { 144 | bldc_inputFilterPwm = CLAMP(setPwm, -1000, 1000); 145 | } 146 | 147 | //---------------------------------------------------------------------------- 148 | // Calculation-Routine for BLDC => calculates with 16kHz 149 | //---------------------------------------------------------------------------- 150 | void CalculateBLDC(void) 151 | { 152 | int y = 0; // yellow = phase A 153 | int b = 0; // blue = phase B 154 | int g = 0; // green = phase C 155 | 156 | // Calibrate ADC offsets for the first 1000 cycles 157 | if (offsetcount < 1000) 158 | { 159 | offsetcount++; 160 | offsetdc = (adc_buffer.current_dc + offsetdc) / 2; 161 | return; 162 | } 163 | 164 | // Calculate battery voltage every 100 cycles 165 | if (buzzerTimer % 100 == 0) 166 | { 167 | batteryVoltage = batteryVoltage * 0.999 + ((float)adc_buffer.v_batt * ADC_BATTERY_VOLT) * 0.001; 168 | } 169 | 170 | #ifdef MASTER 171 | // Create square wave for buzzer 172 | buzzerTimer++; 173 | if (buzzerFreq != 0 && (buzzerTimer / 5000) % (buzzerPattern + 1) == 0) 174 | { 175 | if (buzzerTimer % buzzerFreq == 0) 176 | { 177 | buzzerToggle = buzzerToggle == RESET ? SET : RESET; // toggle variable 178 | gpio_bit_write(BUZZER_PORT, BUZZER_PIN, buzzerToggle); 179 | } 180 | } 181 | else 182 | { 183 | gpio_bit_write(BUZZER_PORT, BUZZER_PIN, RESET); 184 | } 185 | #endif 186 | 187 | // Calculate current DC 188 | currentDC = ABS((adc_buffer.current_dc - offsetdc) * MOTOR_AMP_CONV_DC_AMP); 189 | 190 | // Disable PWM when current limit is reached (current chopping), enable is not set or timeout is reached 191 | if (currentDC > DC_CUR_LIMIT || bldc_enable == RESET || timedOut == SET) 192 | { 193 | timer_automatic_output_disable(TIMER_BLDC); 194 | } 195 | else 196 | { 197 | timer_automatic_output_enable(TIMER_BLDC); 198 | } 199 | 200 | // Read hall sensors 201 | hall_a = gpio_input_bit_get(HALL_A_PORT, HALL_A_PIN); 202 | hall_b = gpio_input_bit_get(HALL_B_PORT, HALL_B_PIN); 203 | hall_c = gpio_input_bit_get(HALL_C_PORT, HALL_C_PIN); 204 | 205 | // Determine current position based on hall sensors 206 | hall = hall_a * 1 + hall_b * 2 + hall_c * 4; 207 | pos = hall_to_pos[hall]; 208 | 209 | // Calculate low-pass filter for pwm value 210 | filter_reg = filter_reg - (filter_reg >> FILTER_SHIFT) + bldc_inputFilterPwm; 211 | bldc_outputFilterPwm = filter_reg >> FILTER_SHIFT; 212 | 213 | // Update PWM channels based on position y(ellow), b(lue), g(reen) 214 | blockPWM(bldc_outputFilterPwm, pos, &y, &b, &g); 215 | 216 | // Set PWM output (pwm_res/2 is the mean value, setvalue has to be between 10 and pwm_res-10) 217 | timer_channel_output_pulse_value_config(TIMER_BLDC, TIMER_BLDC_CHANNEL_G, CLAMP(g + pwm_res / 2, 10, pwm_res-10)); 218 | timer_channel_output_pulse_value_config(TIMER_BLDC, TIMER_BLDC_CHANNEL_B, CLAMP(b + pwm_res / 2, 10, pwm_res-10)); 219 | timer_channel_output_pulse_value_config(TIMER_BLDC, TIMER_BLDC_CHANNEL_Y, CLAMP(y + pwm_res / 2, 10, pwm_res-10)); 220 | 221 | // Increments with 62.5us 222 | if(speedCounter < 4000) // No speed after 250ms 223 | { 224 | speedCounter++; 225 | } 226 | 227 | // Every time position reaches value 1, one round is performed (rising edge) 228 | if (lastPos != 1 && pos == 1) 229 | { 230 | realSpeed = 1991.81f / (float)speedCounter; //[km/h] 231 | speedCounter = 0; 232 | } 233 | else 234 | { 235 | if (speedCounter >= 4000) 236 | { 237 | realSpeed = 0; 238 | } 239 | } 240 | 241 | // Save last position 242 | lastPos = pos; 243 | } 244 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Src/comms.c: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #include "gd32f1x0.h" 32 | 33 | //---------------------------------------------------------------------------- 34 | // Send buffer via USART 35 | //---------------------------------------------------------------------------- 36 | void SendBuffer(uint32_t usart_periph, uint8_t buffer[], uint8_t length) 37 | { 38 | uint8_t index = 0; 39 | 40 | for(; index < length; index++) 41 | { 42 | usart_data_transmit(usart_periph, buffer[index]); 43 | while (usart_flag_get(usart_periph, USART_FLAG_TC) == RESET) {} 44 | } 45 | } 46 | 47 | //---------------------------------------------------------------------------- 48 | // Calculate CRC 49 | //---------------------------------------------------------------------------- 50 | uint16_t CalcCRC(uint8_t *ptr, int count) 51 | { 52 | uint16_t crc; 53 | uint8_t i; 54 | crc = 0; 55 | while (--count >= 0) 56 | { 57 | crc = crc ^ (uint16_t) *ptr++ << 8; 58 | i = 8; 59 | do 60 | { 61 | if (crc & 0x8000) 62 | { 63 | crc = crc << 1 ^ 0x1021; 64 | } 65 | else 66 | { 67 | crc = crc << 1; 68 | } 69 | } while(--i); 70 | } 71 | return (crc); 72 | } 73 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Src/commsBluetooth.c: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | * 30 | Defines the serial 232 interface of the SLAVE BOARD named REMOTE on the PCB wiring diagram. 31 | the protocol was defined by Florian to connect an external steering device (bluetooth interface). 32 | The protocol is defined on the excel sheet included in the project folder 33 | */ 34 | 35 | #include "gd32f1x0.h" 36 | #include "../Inc/defines.h" 37 | #include "../Inc/setup.h" 38 | #include "../Inc/comms.h" 39 | #include "../Inc/commsMasterSlave.h" 40 | #include "../Inc/commsBluetooth.h" 41 | #include "../Inc/led.h" 42 | #include "stdio.h" 43 | #include "string.h" 44 | 45 | // Only slave communicates over bluetooth 46 | #ifdef SLAVE 47 | // Variables which will be send over bluetooth 48 | extern float currentDC; 49 | extern float realSpeed; 50 | 51 | extern uint32_t hornCounter_ms; 52 | 53 | #define USART_BLUETOOTH_TX_BYTES 11 // Transmit byte count including start '/' and stop character '\n' 54 | #define USART_BLUETOOTH_RX_BYTES 11 // Receive byte count including start '/' and stop character '\n' 55 | 56 | extern uint8_t usartSteer_COM_rx_buf[USART_STEER_COM_RX_BUFFERSIZE]; 57 | static uint8_t sBluetoothRecord = 0; 58 | static uint8_t sUSARTBluetoothRecordBuffer[USART_BLUETOOTH_RX_BYTES]; 59 | static uint8_t sUSARTBluetoothRecordBufferCounter = 0; 60 | 61 | void CheckUSARTBluetoothInput(uint8_t USARTBuffer[]); 62 | void SendBluetoothDevice(uint8_t identifier, int16_t value); 63 | 64 | //---------------------------------------------------------------------------- 65 | // Update USART bluetooth input 66 | //---------------------------------------------------------------------------- 67 | void UpdateUSARTBluetoothInput(void) 68 | { 69 | uint8_t character = usartSteer_COM_rx_buf[0]; 70 | 71 | // Start character is captured, start record 72 | if (character == '/') 73 | { 74 | sUSARTBluetoothRecordBufferCounter = 0; 75 | sBluetoothRecord = 1; 76 | } 77 | 78 | if (sBluetoothRecord) 79 | { 80 | sUSARTBluetoothRecordBuffer[sUSARTBluetoothRecordBufferCounter] = character; 81 | sUSARTBluetoothRecordBufferCounter++; 82 | 83 | if (sUSARTBluetoothRecordBufferCounter >= USART_BLUETOOTH_RX_BYTES) 84 | { 85 | sUSARTBluetoothRecordBufferCounter = 0; 86 | sBluetoothRecord = 0; 87 | 88 | // Check input 89 | CheckUSARTBluetoothInput (sUSARTBluetoothRecordBuffer); 90 | } 91 | } 92 | } 93 | 94 | //---------------------------------------------------------------------------- 95 | // Check USART bluetooth input 96 | //---------------------------------------------------------------------------- 97 | void CheckUSARTBluetoothInput(uint8_t USARTBuffer[]) 98 | { 99 | // Auxiliary variables 100 | uint8_t identifier = 0; 101 | uint8_t readWrite = 0; 102 | int16_t sign = 0; 103 | int16_t digit1 = 0; 104 | int16_t digit2 = 0; 105 | int16_t digit3 = 0; 106 | int16_t digit4 = 0; 107 | int16_t digit5 = 0; 108 | int16_t value = 0; 109 | 110 | // Check start and stop character 111 | if ( USARTBuffer[0] != '/' || 112 | USARTBuffer[USART_BLUETOOTH_RX_BYTES - 1] != '\n') 113 | { 114 | return; 115 | } 116 | 117 | // Calculate identifier (number 0-99) 118 | digit1 = (USARTBuffer[1] - '0') * 10; 119 | digit2 = (USARTBuffer[2] - '0'); 120 | identifier = digit1 + digit2; 121 | 122 | // Calculate read or write access (0 - read, 1 - write) 123 | readWrite = USARTBuffer[3] - '0'; 124 | 125 | // If read mode, answer with correct value 126 | if (readWrite == 0) 127 | { 128 | switch(identifier) 129 | { 130 | case 0: 131 | // Answer with battery voltage from master 132 | value = GetBatteryMaster(); 133 | break; 134 | case 1: 135 | // Answer with current from master 136 | value = GetCurrentDCMaster(); 137 | break; 138 | case 2: 139 | // Answer with current from slave 140 | value = currentDC * 100; 141 | break; 142 | case 3: 143 | // Answer with real speed of master 144 | value = GetRealSpeedMaster(); 145 | break; 146 | case 4: 147 | // Answer with real speed of slave 148 | value = realSpeed * 100; 149 | break; 150 | case 5: 151 | // Answer with beeps backwards from master 152 | value = GetBeepsBackwardsMaster() == RESET ? 0 : 1; 153 | break; 154 | case 6: 155 | // Answer with lower LED state of master (music box) 156 | value = GetLowerLEDMaster() == RESET ? 0 : 1; 157 | break; 158 | case 7: 159 | // Answer with upper LED state of master (horn) 160 | value = GetUpperLEDMaster() == RESET ? 0 : 1; 161 | break; 162 | case 8: 163 | // Answer with hue value 164 | value = GetHSBHue(); 165 | break; 166 | case 9: 167 | // Answer with saturation value 168 | value = GetHSBSaturation(); 169 | break; 170 | case 10: 171 | // Answer with brightness value 172 | value = GetHSBBrightness(); 173 | break; 174 | case 11: 175 | // Answer with LEDMode 176 | value = GetRGBProgram(); 177 | break; 178 | case 12: 179 | // Answer with fading speed 180 | value = GetSpeedFading(); 181 | break; 182 | case 13: 183 | // Answer with blink speed 184 | value = GetSpeedBlink(); 185 | break; 186 | case 14: 187 | // Answer with strobe speed 188 | value = GetSpeedStrobe(); 189 | break; 190 | } 191 | 192 | // Send Answer 193 | SendBluetoothDevice(identifier, value); 194 | } 195 | // If write mode, get result value 196 | else if ( readWrite == 1) 197 | { 198 | // Calculate result value (-10000 to 10000) 199 | sign = USARTBuffer[4] == '-' ? -1 : 1; 200 | digit1 = (USARTBuffer[5] - '0') * 10000; 201 | digit2 = (USARTBuffer[6] - '0') * 1000; 202 | digit3 = (USARTBuffer[7] - '0') * 100; 203 | digit4 = (USARTBuffer[8] - '0') * 10; 204 | digit5 = (USARTBuffer[9] - '0'); 205 | value = sign * (digit1 + digit2 + digit3 + digit4 + digit5); 206 | 207 | switch(identifier) 208 | { 209 | case 5: 210 | SetBeepsBackwardsMaster(value == 0 ? RESET : SET); 211 | break; 212 | case 6: 213 | // Set lower LED of master (music box) 214 | SetLowerLEDMaster(value == 0 ? RESET : SET); 215 | break; 216 | case 7: 217 | // Set upper LED of master (horn) 218 | hornCounter_ms = 0; 219 | SetUpperLEDMaster(value == 0 ? RESET : SET); 220 | break; 221 | case 8: 222 | // Set LED hue 223 | SetHSBHue(value); 224 | break; 225 | case 9: 226 | // Set LED saturation 227 | SetHSBSaturation(value); 228 | break; 229 | case 10: 230 | // Set LED brightness 231 | SetHSBBrightness(value); 232 | break; 233 | case 11: 234 | // Set LED mode 235 | SetRGBProgram((LED_PROGRAM)value); 236 | break; 237 | case 12: 238 | // Set fading speed 239 | SetSpeedFading(value); 240 | break; 241 | case 13: 242 | // Set blink speed 243 | SetSpeedBlink(value); 244 | break; 245 | case 14: 246 | // Set strobe speed 247 | SetSpeedStrobe(value); 248 | break; 249 | default: 250 | // Do nothing for the rest of the identifiers 251 | break; 252 | } 253 | } 254 | } 255 | 256 | //---------------------------------------------------------------------------- 257 | // Send frame to bluetooth device 258 | //---------------------------------------------------------------------------- 259 | void SendBluetoothDevice(uint8_t identifier, int16_t value) 260 | { 261 | int index = 0; 262 | char charVal[5]; 263 | uint8_t buffer[USART_BLUETOOTH_TX_BYTES]; 264 | 265 | // Send bluetooth frame 266 | buffer[index++] = '/'; 267 | sprintf(charVal, "%02d", identifier); 268 | buffer[index++] = charVal[0]; 269 | buffer[index++] = charVal[1]; 270 | buffer[index++] = '0'; 271 | sprintf(charVal, "%05d", value); 272 | buffer[index++] = value < 0 ? '-' : '+'; 273 | buffer[index++] = charVal[0]; 274 | buffer[index++] = charVal[1]; 275 | buffer[index++] = charVal[2]; 276 | buffer[index++] = charVal[3]; 277 | buffer[index++] = charVal[4]; 278 | buffer[index++] = '\n'; 279 | 280 | SendBuffer(USART_STEER_COM, buffer, index); 281 | } 282 | 283 | #endif 284 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Src/commsSteering.c: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #include "gd32f1x0.h" 32 | #include "../Inc/it.h" 33 | #include "../Inc/comms.h" 34 | #include "../Inc/commsSteering.h" 35 | #include "../Inc/setup.h" 36 | #include "../Inc/config.h" 37 | #include "../Inc/defines.h" 38 | #include "../Inc/bldc.h" 39 | #include "stdio.h" 40 | #include "string.h" 41 | 42 | // Only master communicates with steerin device 43 | #ifdef MASTER 44 | #define USART_STEER_TX_BYTES 12 // Transmit byte count including start '/' and stop character '\n' 45 | #define USART_STEER_RX_BYTES 9 // Receive byte count including start '/' and stop character '\n' 46 | 47 | extern uint8_t usartSteer_COM_rx_buf[USART_STEER_COM_RX_BUFFERSIZE]; 48 | static uint8_t sSteerRecord = 0; 49 | static uint8_t sUSARTSteerRecordBuffer[USART_STEER_RX_BYTES]; 50 | static uint8_t sUSARTSteerRecordBufferCounter = 0; 51 | 52 | void CheckUSARTSteerInput(uint8_t u8USARTBuffer[]); 53 | 54 | extern FlagStatus activateWeakening; 55 | extern FlagStatus beepsBackwards; 56 | extern int32_t steer; 57 | extern int32_t speed; 58 | 59 | extern float batteryVoltage; // global variable for battery voltage 60 | extern float currentDC; // global variable for current dc 61 | extern float realSpeed; // global variable for real Speed 62 | float currentDCSlave = 5.8; 63 | float realSpeedSlave = 4.2; 64 | 65 | //---------------------------------------------------------------------------- 66 | // Send frame to steer device 67 | //---------------------------------------------------------------------------- 68 | void SendSteerDevice(void) 69 | { 70 | int index = 0; 71 | uint8_t buffer[USART_STEER_TX_BYTES]; 72 | uint16_t currentBatteryVoltage_Format; 73 | uint16_t realSpeedValue_Format; 74 | uint16_t realSpeedSlave_Format; 75 | 76 | currentBatteryVoltage_Format = (uint16_t)(batteryVoltage*100); 77 | realSpeedValue_Format = (uint16_t)(realSpeed*100); 78 | realSpeedSlave_Format = (uint16_t)(realSpeedSlave); 79 | 80 | // Ask for steer input 81 | buffer[index++] = '/'; 82 | //send current battery voltage, motor currents, other info 83 | buffer[index++] = (currentBatteryVoltage_Format >> 8) & 0xFF;; 84 | buffer[index++] = currentBatteryVoltage_Format & 0xFF; 85 | buffer[index++] = (realSpeedValue_Format >> 8) & 0xFF; 86 | buffer[index++] = realSpeedValue_Format & 0xFF; 87 | buffer[index++] = (realSpeedSlave_Format >> 8) & 0xFF; 88 | buffer[index++] = realSpeedSlave_Format & 0xFF; 89 | buffer[index++] = '\n'; 90 | 91 | SendBuffer(USART_STEER_COM, buffer, index); 92 | } 93 | 94 | //---------------------------------------------------------------------------- 95 | // Update USART steer input 96 | //---------------------------------------------------------------------------- 97 | void UpdateUSARTSteerInput(void) 98 | { 99 | uint8_t character = usartSteer_COM_rx_buf[0]; 100 | 101 | // Start character is captured, start record 102 | if (character == '/') 103 | { 104 | sUSARTSteerRecordBufferCounter = 0; 105 | sSteerRecord = 1; 106 | } 107 | 108 | if (sSteerRecord) 109 | { 110 | sUSARTSteerRecordBuffer[sUSARTSteerRecordBufferCounter] = character; 111 | sUSARTSteerRecordBufferCounter++; 112 | 113 | if (sUSARTSteerRecordBufferCounter >= USART_STEER_RX_BYTES) 114 | { 115 | sUSARTSteerRecordBufferCounter = 0; 116 | sSteerRecord = 0; 117 | 118 | // Check input 119 | CheckUSARTSteerInput (sUSARTSteerRecordBuffer); 120 | } 121 | } 122 | } 123 | 124 | //---------------------------------------------------------------------------- 125 | // Check USART steer input 126 | //---------------------------------------------------------------------------- 127 | void CheckUSARTSteerInput(uint8_t USARTBuffer[]) 128 | { 129 | // Auxiliary variables 130 | uint16_t crc; 131 | 132 | // Check start and stop character 133 | if ( USARTBuffer[0] != '/' || 134 | USARTBuffer[USART_STEER_RX_BYTES - 1] != '\n') 135 | { 136 | return; 137 | } 138 | 139 | // Calculate CRC (first bytes except crc and stop byte) 140 | crc = CalcCRC(USARTBuffer, USART_STEER_RX_BYTES - 3); 141 | 142 | // Check CRC 143 | if ( USARTBuffer[USART_STEER_RX_BYTES - 3] != ((crc >> 8) & 0xFF) || 144 | USARTBuffer[USART_STEER_RX_BYTES - 2] != (crc & 0xFF)) 145 | { 146 | return; 147 | } 148 | 149 | // Calculate result speed value -1000 to 1000 150 | speed = (int16_t)((USARTBuffer[1] << 8) | USARTBuffer[2]); 151 | 152 | // Calculate result steering value -1000 to 1000 153 | steer = (int16_t)((USARTBuffer[3] << 8) | USARTBuffer[4]); 154 | 155 | //Set Field weakening 156 | if(USARTBuffer[5] & 0x80){ 157 | activateWeakening = SET; 158 | } 159 | else 160 | { 161 | activateWeakening = RESET; 162 | } 163 | 164 | //Set Beeps Backwards 165 | if(USARTBuffer[5] & 0x40){ 166 | beepsBackwards = SET; 167 | } 168 | else 169 | { 170 | beepsBackwards = RESET; 171 | } 172 | 173 | //Set/Reset Master, Slave, Upper and Lower LED's 174 | 175 | // Reset the pwm timout to avoid stopping motors 176 | ResetTimeout(); 177 | } 178 | #endif 179 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/Src/it.c: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the hoverboard-firmware-hack-V2 project. The 3 | * firmware is used to hack the generation 2 board of the hoverboard. 4 | * These new hoverboards have no mainboard anymore. They consist of 5 | * two Sensorboards which have their own BLDC-Bridge per Motor and an 6 | * ARM Cortex-M3 processor GD32F130C8. 7 | * 8 | * Copyright (C) 2018 Florian Staeblein 9 | * Copyright (C) 2018 Jakob Broemauer 10 | * Copyright (C) 2018 Kai Liebich 11 | * Copyright (C) 2018 Christoph Lehnert 12 | * 13 | * The program is based on the hoverboard project by Niklas Fauth. The 14 | * structure was tried to be as similar as possible, so that everyone 15 | * could find a better way through the code. 16 | * 17 | * This program is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * This program is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with this program. If not, see . 29 | */ 30 | 31 | #include "gd32f1x0.h" 32 | #include "../Inc/it.h" 33 | #include "../Inc/defines.h" 34 | #include "../Inc/config.h" 35 | #include "../Inc/bldc.h" 36 | #include "../Inc/led.h" 37 | #include "../Inc/commsMasterSlave.h" 38 | #include "../Inc/commsSteering.h" 39 | #include "../Inc/commsBluetooth.h" 40 | 41 | uint32_t msTicks; 42 | uint32_t timeoutCounter_ms = 0; 43 | FlagStatus timedOut = SET; 44 | 45 | #ifdef SLAVE 46 | uint32_t hornCounter_ms = 0; 47 | #endif 48 | 49 | extern int32_t steer; 50 | extern int32_t speed; 51 | extern FlagStatus activateWeakening; 52 | extern FlagStatus beepsBackwards; 53 | 54 | //---------------------------------------------------------------------------- 55 | // SysTick_Handler 56 | //---------------------------------------------------------------------------- 57 | void SysTick_Handler(void) 58 | { 59 | msTicks++; 60 | } 61 | 62 | //---------------------------------------------------------------------------- 63 | // Resets the timeout to zero 64 | //---------------------------------------------------------------------------- 65 | void ResetTimeout(void) 66 | { 67 | timeoutCounter_ms = 0; 68 | } 69 | 70 | //---------------------------------------------------------------------------- 71 | // Timer13_Update_Handler 72 | // Is called when upcouting of timer13 is finished and the UPDATE-flag is set 73 | // -> period of timer13 running with 1kHz -> interrupt every 1ms 74 | //---------------------------------------------------------------------------- 75 | void TIMER13_IRQHandler(void) 76 | { 77 | if (timeoutCounter_ms > TIMEOUT_MS) 78 | { 79 | // First timeout reset all process values 80 | if (timedOut == RESET) 81 | { 82 | #ifdef MASTER 83 | steer = 0; 84 | speed = 0; 85 | beepsBackwards = RESET; 86 | #endif 87 | #ifdef SLAVE 88 | SetPWM(0); 89 | #endif 90 | } 91 | 92 | timedOut = SET; 93 | } 94 | else 95 | { 96 | timedOut = RESET; 97 | timeoutCounter_ms++; 98 | } 99 | 100 | #ifdef SLAVE 101 | if (hornCounter_ms >= 2000) 102 | { 103 | // Avoid horn to be activated longer than 2 seconds 104 | SetUpperLEDMaster(RESET); 105 | } 106 | else if (hornCounter_ms < 2000) 107 | { 108 | hornCounter_ms++; 109 | } 110 | 111 | // Update LED program 112 | CalculateLEDProgram(); 113 | #endif 114 | 115 | // Clear timer update interrupt flag 116 | timer_interrupt_flag_clear(TIMER13, TIMER_INT_UP); 117 | } 118 | 119 | //---------------------------------------------------------------------------- 120 | // Timer0_Update_Handler 121 | // Is called when upcouting of timer0 is finished and the UPDATE-flag is set 122 | // AND when downcouting of timer0 is finished and the UPDATE-flag is set 123 | // -> pwm of timer0 running with 16kHz -> interrupt every 31,25us 124 | //---------------------------------------------------------------------------- 125 | void TIMER0_BRK_UP_TRG_COM_IRQHandler(void) 126 | { 127 | // Start ADC conversion 128 | adc_software_trigger_enable(ADC_REGULAR_CHANNEL); 129 | 130 | // Clear timer update interrupt flag 131 | timer_interrupt_flag_clear(TIMER_BLDC, TIMER_INT_UP); 132 | } 133 | 134 | //---------------------------------------------------------------------------- 135 | // This function handles DMA_Channel0_IRQHandler interrupt 136 | // Is called, when the ADC scan sequence is finished 137 | // -> ADC is triggered from timer0-update-interrupt -> every 31,25us 138 | //---------------------------------------------------------------------------- 139 | void DMA_Channel0_IRQHandler(void) 140 | { 141 | // Calculate motor PWMs 142 | CalculateBLDC(); 143 | 144 | #ifdef SLAVE 145 | // Calculates RGB LED 146 | CalculateLEDPWM(); 147 | #endif 148 | 149 | if (dma_interrupt_flag_get(DMA_CH0, DMA_INT_FLAG_FTF)) 150 | { 151 | dma_interrupt_flag_clear(DMA_CH0, DMA_INT_FLAG_FTF); 152 | } 153 | } 154 | 155 | 156 | //---------------------------------------------------------------------------- 157 | // This function handles DMA_Channel1_2_IRQHandler interrupt 158 | // Is asynchronously called when USART0 RX finished 159 | //---------------------------------------------------------------------------- 160 | void DMA_Channel1_2_IRQHandler(void) 161 | { 162 | // USART steer/bluetooth RX 163 | if (dma_interrupt_flag_get(DMA_CH2, DMA_INT_FLAG_FTF)) 164 | { 165 | #ifdef MASTER 166 | // Update USART steer input mechanism 167 | UpdateUSARTSteerInput(); 168 | #endif 169 | #ifdef SLAVE 170 | // Update USART bluetooth input mechanism 171 | UpdateUSARTBluetoothInput(); 172 | #endif 173 | dma_interrupt_flag_clear(DMA_CH2, DMA_INT_FLAG_FTF); 174 | } 175 | } 176 | 177 | 178 | //---------------------------------------------------------------------------- 179 | // This function handles DMA_Channel3_4_IRQHandler interrupt 180 | // Is asynchronously called when USART_SLAVE RX finished 181 | //---------------------------------------------------------------------------- 182 | void DMA_Channel3_4_IRQHandler(void) 183 | { 184 | // USART master slave RX 185 | if (dma_interrupt_flag_get(DMA_CH4, DMA_INT_FLAG_FTF)) 186 | { 187 | // Update USART master slave input mechanism 188 | UpdateUSARTMasterSlaveInput(); 189 | 190 | dma_interrupt_flag_clear(DMA_CH4, DMA_INT_FLAG_FTF); 191 | } 192 | } 193 | 194 | //---------------------------------------------------------------------------- 195 | // Returns number of milliseconds since system start 196 | //---------------------------------------------------------------------------- 197 | uint32_t millis() 198 | { 199 | return msTicks; 200 | } 201 | 202 | //---------------------------------------------------------------------------- 203 | // Delays number of tick Systicks (happens every 10 ms) 204 | //---------------------------------------------------------------------------- 205 | void Delay (uint32_t dlyTicks) 206 | { 207 | uint32_t curTicks; 208 | 209 | curTicks = msTicks; 210 | while ((msTicks - curTicks) < dlyTicks) 211 | { 212 | __NOP(); 213 | } 214 | } 215 | 216 | //---------------------------------------------------------------------------- 217 | // This function handles Non maskable interrupt. 218 | //---------------------------------------------------------------------------- 219 | void NMI_Handler(void) 220 | { 221 | } 222 | 223 | //---------------------------------------------------------------------------- 224 | // This function handles Hard fault interrupt. 225 | //---------------------------------------------------------------------------- 226 | void HardFault_Handler(void) 227 | { 228 | while(1) {} 229 | } 230 | 231 | //---------------------------------------------------------------------------- 232 | // This function handles Memory management fault. 233 | //---------------------------------------------------------------------------- 234 | void MemManage_Handler(void) 235 | { 236 | while(1) {} 237 | } 238 | 239 | //---------------------------------------------------------------------------- 240 | // This function handles Prefetch fault, memory access fault. 241 | //---------------------------------------------------------------------------- 242 | void BusFault_Handler(void) 243 | { 244 | while(1) {} 245 | } 246 | 247 | //---------------------------------------------------------------------------- 248 | // This function handles Undefined instruction or illegal state. 249 | //---------------------------------------------------------------------------- 250 | void UsageFault_Handler(void) 251 | { 252 | while(1) {} 253 | } 254 | 255 | //---------------------------------------------------------------------------- 256 | // This function handles System service call via SWI instruction. 257 | //---------------------------------------------------------------------------- 258 | void SVC_Handler(void) 259 | { 260 | } 261 | 262 | //---------------------------------------------------------------------------- 263 | // This function handles Debug monitor. 264 | //---------------------------------------------------------------------------- 265 | void DebugMon_Handler(void) 266 | { 267 | } 268 | 269 | //---------------------------------------------------------------------------- 270 | // This function handles Pendable request for system service. 271 | //---------------------------------------------------------------------------- 272 | void PendSV_Handler(void) 273 | { 274 | } 275 | -------------------------------------------------------------------------------- /HoverBoardGigaDevice/newfile.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [F12Berlinetta.pdf](https://github.com/DaveZG/esp32-powerwheels/files/7003254/F12Berlinetta.pdf) - project slides 2 | # esp32-powerwheels 3 | Hoverboard motor controllers controlled serially via esp32 and UART and then connected to a parental remote via ESPNow RF protocol 4 | 5 | If you wish to only control the motor controllers without the use of a wireless controller then you can use the BerlinettaCarOnly Project instead 6 | --------------------------------------------------------------------------------