diff --git a/.gitignore b/.gitignore
index 236f30a..799096c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,8 @@
.pioenvs/
.vscode/
01_Matlab/slprj/
+MDK-ARM/DebugConfig/
+MDK-ARM/Listing/
+MDK-ARM/Objects/
+MDK-ARM/RTE/
+MDK-ARM/*.uvguix.*
\ No newline at end of file
diff --git a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx
index 9e8e65b..f8f04ca 100644
Binary files a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx and b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx differ
diff --git a/Inc/comms.h b/Inc/comms.h
index f293f09..6bdb730 100644
--- a/Inc/comms.h
+++ b/Inc/comms.h
@@ -19,10 +19,15 @@
* along with this program. If not, see .
*/
-#pragma once
+// Define to prevent recursive inclusion
+#ifndef COMMS_H
+#define COMMS_H
#include "stm32f1xx_hal.h"
void setScopeChannel(uint8_t ch, int16_t val);
void consoleScope(void);
-void consoleLog(char *message);
\ No newline at end of file
+void consoleLog(char *message);
+
+#endif
+
diff --git a/Inc/config.h b/Inc/config.h
index bc8daf8..5b37992 100644
--- a/Inc/config.h
+++ b/Inc/config.h
@@ -1,11 +1,14 @@
-#pragma once
+// Define to prevent recursive inclusion
+#ifndef CONFIG_H
+#define CONFIG_H
+
#include "stm32f1xx_hal.h"
-// ############################### GENERAL SETTINGS ###############################
-// For variant selection, check platformio.ini
-// or define the desired build variant here if you want to use make in console
-// or use VARIANT environment variable for example like "make -e VARIANT=VARIANT_NUNCHUK"
-// Only one at a time, choose wisely ;-)
+// ############################### VARIANT SELECTION ###############################
+// PlatformIO: uncomment desired variant in platformio.ini
+// Keil uVision: select desired variant from the Target drop down menu (to the right of the Load button)
+// Ubuntu: define the desired build variant here if you want to use make in console
+// or use VARIANT environment variable for example like "make -e VARIANT=VARIANT_NUNCHUK". Select only one at a time.
#if !defined(PLATFORMIO)
//#define VARIANT_ADC // Variant for control via ADC input
//#define VARIANT_USART // Variant for Serial control via USART3 input
@@ -13,12 +16,10 @@
//#define VARIANT_PPM // Variant for RC-Remote with PPM-Sum Signal
//#define VARIANT_IBUS // Variant for RC-Remotes with FLYSKY IBUS
//#define VARIANT_HOVERCAR // Variant for HOVERCAR build
+ //#define VARIANT_HOVERBOARD // Variant for HOVERBOARD build
//#define VARIANT_TRANSPOTTER // Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng
#endif
-
-#define INACTIVITY_TIMEOUT 8 // Minutes of not driving until poweroff. it is not very precise.
-#define BEEPS_BACKWARD 1 // 0 or 1
-// ########################### END OF GENERAL SETTINGS ############################
+// ########################### END OF VARIANT SELECTION ############################
// ############################### DO-NOT-TOUCH SETTINGS ###############################
@@ -147,6 +148,26 @@
+// ############################## DEFAULT SETTINGS ############################
+// Default settings will be applied at the end of this config file if not set before
+#define INACTIVITY_TIMEOUT 8 // Minutes of not driving until poweroff. it is not very precise.
+#define BEEPS_BACKWARD 1 // 0 or 1
+// #define SUPPORT_BUTTONS // Define for buttons support on ADC, Nunchuck
+
+/* FILTER is in fixdt(0,16,16): VAL_fixedPoint = VAL_floatingPoint * 2^16. In this case 6553 = 0.1 * 2^16
+ * Value of COEFFICIENT is in fixdt(1,16,14)
+ * If VAL_floatingPoint >= 0, VAL_fixedPoint = VAL_floatingPoint * 2^14
+ * If VAL_floatingPoint < 0, VAL_fixedPoint = 2^16 + floor(VAL_floatingPoint * 2^14).
+*/
+// Value of RATE is in fixdt(1,16,4): VAL_fixedPoint = VAL_floatingPoint * 2^4. In this case 480 = 30 * 2^4
+#define DEFAULT_RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767)
+#define DEFAULT_FILTER 6553 // Default for FILTER 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0].
+#define DEFAULT_SPEED_COEFFICIENT 16384 // Default for SPEED_COEFFICIENT 1.0f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 16384 = 1.0 * 2^14
+#define DEFAULT_STEER_COEFFICIENT 8192 // Defualt for STEER_COEFFICIENT 0.5f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 8192 = 0.5 * 2^14. If you do not want any steering, set it to 0.
+// ######################### END OF DEFAULT SETTINGS ##########################
+
+
+
// ############################### DEBUG SERIAL ###############################
/* Connect GND and RX of a 3.3v uart-usb adapter to the left (USART2) or right sensor board cable (USART3)
* Be careful not to use the red wire of the cable. 15v will destroye evrything.
@@ -188,22 +209,6 @@
-// ############################## VARIANT DEFAULT SETTINGS ############################
-/* Default settings will be applied at the end of this config file if not set before
- * FILTER is in fixdt(0,16,16): VAL_fixedPoint = VAL_floatingPoint * 2^16. In this case 6553 = 0.1 * 2^16
- * Value of COEFFICIENT is in fixdt(1,16,14)
- * If VAL_floatingPoint >= 0, VAL_fixedPoint = VAL_floatingPoint * 2^14
- * If VAL_floatingPoint < 0, VAL_fixedPoint = 2^16 + floor(VAL_floatingPoint * 2^14).
-*/
-// Value of RATE is in fixdt(1,16,4): VAL_fixedPoint = VAL_floatingPoint * 2^4. In this case 480 = 30 * 2^4
-#define DEFAULT_RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767)
-#define DEFAULT_FILTER 6553 // Default for FILTER 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0].
-#define DEFAULT_SPEED_COEFFICIENT 16384 // Default for SPEED_COEFFICIENT 1.0f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 16384 = 1.0 * 2^14
-#define DEFAULT_STEER_COEFFICIENT 8192 // Defualt for STEER_COEFFICIENT 0.5f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 8192 = 0.5 * 2^14. If you do not want any steering, set it to 0.
-// ######################### END OF VARIANT DEFAULT SETTINGS ##########################
-
-
-
// ################################# VARIANT_ADC SETTINGS ############################
#ifdef VARIANT_ADC
/* CONTROL VIA TWO POTENTIOMETERS
@@ -317,12 +322,24 @@
+// ############################ VARIANT_HOVERBOARD SETTINGS ############################
+// ##### ! NOT IMPLEMENTED YET ! #####
+#ifdef VARIANT_HOVERBOARD
+ // #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino
+ // #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used!
+ #define CONTROL_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuk or lcd) is used! For Arduino control check the hoverSerial.ino
+ #define FEEDBACK_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuk or lcd) is used!
+#endif
+// ######################## END OF VARIANT_HOVERBOARD SETTINGS #########################
+
+
+
// ################################# VARIANT_TRANSPOTTER SETTINGS ############################
//TODO ADD VALIDATION
#ifdef VARIANT_TRANSPOTTER
#define CONTROL_GAMETRAK
#define SUPPORT_LCD
- #define SUPPORT_NUNCHUK
+ // #define SUPPORT_NUNCHUK
#define GAMETRAK_CONNECTION_NORMAL // for normal wiring according to the wiki instructions
//#define GAMETRAK_CONNECTION_ALTERNATE // use this define instead if you messed up the gametrak ADC wiring (steering is speed, and length of the wire is steering)
#define ROT_P 1.2 // P coefficient for the direction controller. Positive / Negative values to invert gametrak steering direction.
@@ -382,7 +399,8 @@
// ############################### VALIDATE SETTINGS ###############################
-#if !defined(VARIANT_ADC) && !defined(VARIANT_USART) && !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUK) && !defined(VARIANT_PPM) && !defined(VARIANT_IBUS) && !defined(DEBUG_SERIAL_USART3) && !defined(DEBUG_SERIAL_USART2)
+#if !defined(VARIANT_ADC) && !defined(VARIANT_USART) && !defined(VARIANT_NUNCHUK) && !defined(VARIANT_PPM) && !defined(VARIANT_IBUS) && \
+ !defined(VARIANT_HOVERCAR) && !defined(VARIANT_HOVERBOARD) && !defined(VARIANT_TRANSPOTTER)
#error Variant not defined! Please check platformio.ini or Inc/config.h for available variants.
#endif
@@ -441,3 +459,5 @@
#endif
// ############################# END OF VALIDATE SETTINGS ############################
+#endif
+
diff --git a/Inc/defines.h b/Inc/defines.h
index bdf0387..065466f 100644
--- a/Inc/defines.h
+++ b/Inc/defines.h
@@ -19,7 +19,10 @@
* along with this program. If not, see .
*/
-#pragma once
+// Define to prevent recursive inclusion
+#ifndef DEFINES_H
+#define DEFINES_H
+
#include "stm32f1xx_hal.h"
#define LEFT_HALL_U_PIN GPIO_PIN_5
@@ -180,4 +183,7 @@ void Nunchuk_Init(void);
void Nunchuk_Read(void);
uint8_t Nunchuk_Ping(void);
void PPM_Init(void);
-void PPM_ISR_Callback(void);
\ No newline at end of file
+void PPM_ISR_Callback(void);
+
+#endif
+
diff --git a/MDK-ARM/mainboard-hack.uvoptx b/MDK-ARM/mainboard-hack.uvoptx
new file mode 100644
index 0000000..c04c5d7
--- /dev/null
+++ b/MDK-ARM/mainboard-hack.uvoptx
@@ -0,0 +1,1636 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ VARIANT_ADC
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_USART
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_NUNCHUK
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_PPM
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_IBUS
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_HOVERCAR
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_HOVERBOARD
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ VARIANT_TRANSPOTTER
+ 0x4
+ ARM-ADS
+
+ 8000000
+
+ 1
+ 0
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listing\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 0
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Startup
+ 0
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32f103xe.s
+ startup_stm32f103xe.s
+ 0
+ 0
+
+
+
+
+ Src
+ 0
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\Src\bldc.c
+ bldc.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\Src\BLDC_controller.c
+ BLDC_controller.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\Src\BLDC_controller_data.c
+ BLDC_controller_data.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\Src\comms.c
+ comms.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\Src\control.c
+ control.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\Src\eeprom.c
+ eeprom.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\Src\hd44780.c
+ hd44780.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\Src\pcf8574.c
+ pcf8574.c
+ 0
+ 0
+
+
+ 2
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\Src\setup.c
+ setup.c
+ 0
+ 0
+
+
+ 2
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\Src\stm32f1xx_it.c
+ stm32f1xx_it.c
+ 0
+ 0
+
+
+
+
+ HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+ stm32f1xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+ stm32f1xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+ stm32f1xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+ stm32f1xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+ stm32f1xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+ stm32f1xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+ stm32f1xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+ stm32f1xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+ stm32f1xx_hal_gpio_ex.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+ stm32f1xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+ stm32f1xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+ stm32f1xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+ stm32f1xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+ stm32f1xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+ stm32f1xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+ stm32f1xx_hal_uart.c
+ 0
+ 0
+
+
+
+
+ CMSIS
+ 0
+ 0
+ 0
+ 0
+
+ 4
+ 29
+ 1
+ 0
+ 0
+ 0
+ ../Src/system_stm32f1xx.c
+ system_stm32f1xx.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/MDK-ARM/mainboard-hack.uvprojx b/MDK-ARM/mainboard-hack.uvprojx
new file mode 100644
index 0000000..fd662e8
--- /dev/null
+++ b/MDK-ARM/mainboard-hack.uvprojx
@@ -0,0 +1,4691 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ VARIANT_ADC
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_ADC
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+ VARIANT_USART
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_USART
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VARIANT_NUNCHUK
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_NUNCHUK
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VARIANT_PPM
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_PPM
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VARIANT_IBUS
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_IBUS
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VARIANT_HOVERCAR
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_HOVERCAR
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VARIANT_HOVERBOARD
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_HOVERBOARD
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+ VARIANT_TRANSPOTTER
+ 0x4
+ ARM-ADS
+ 5060422::V5.06 update 4 (build 422)::ARMCC
+
+
+ STM32F103RC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.2.3.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103RC$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ firmware
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ $K\ARM\ARMCC\bin\fromelf.exe --bin --output=.\Objects\@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM3
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM3
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0xc000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE,VARIANT_TRANSPOTTER
+
+ ..\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Startup
+
+
+ startup_stm32f103xe.s
+ 2
+ .\startup_stm32f103xe.s
+
+
+
+
+ Src
+
+
+ bldc.c
+ 1
+ ..\Src\bldc.c
+
+
+ BLDC_controller.c
+ 1
+ ..\Src\BLDC_controller.c
+
+
+ BLDC_controller_data.c
+ 1
+ ..\Src\BLDC_controller_data.c
+
+
+ comms.c
+ 1
+ ..\Src\comms.c
+
+
+ control.c
+ 1
+ ..\Src\control.c
+
+
+ eeprom.c
+ 1
+ ..\Src\eeprom.c
+
+
+ hd44780.c
+ 1
+ ..\Src\hd44780.c
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ pcf8574.c
+ 1
+ ..\Src\pcf8574.c
+
+
+ setup.c
+ 1
+ ..\Src\setup.c
+
+
+ stm32f1xx_it.c
+ 1
+ ..\Src\stm32f1xx_it.c
+
+
+
+
+ HAL_Driver
+
+
+ stm32f1xx_hal.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c
+
+
+ stm32f1xx_hal_adc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c
+
+
+ stm32f1xx_hal_adc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c
+
+
+ stm32f1xx_hal_cortex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c
+
+
+ stm32f1xx_hal_dma.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c
+
+
+ stm32f1xx_hal_flash.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c
+
+
+ stm32f1xx_hal_flash_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c
+
+
+ stm32f1xx_hal_gpio.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c
+
+
+ stm32f1xx_hal_gpio_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c
+
+
+ stm32f1xx_hal_i2c.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_i2c.c
+
+
+ stm32f1xx_hal_pwr.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c
+
+
+ stm32f1xx_hal_rcc.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c
+
+
+ stm32f1xx_hal_rcc_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c
+
+
+ stm32f1xx_hal_tim.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c
+
+
+ stm32f1xx_hal_tim_ex.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c
+
+
+ stm32f1xx_hal_uart.c
+ 1
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c
+
+
+
+
+ CMSIS
+
+
+ system_stm32f1xx.c
+ 1
+ ../Src/system_stm32f1xx.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MDK-ARM/startup_stm32f103xe.s b/MDK-ARM/startup_stm32f103xe.s
new file mode 100644
index 0000000..617c751
--- /dev/null
+++ b/MDK-ARM/startup_stm32f103xe.s
@@ -0,0 +1,373 @@
+;******************** (C) COPYRIGHT 2017 STMicroelectronics ********************
+;* File Name : startup_stm32f103xe.s
+;* Author : MCD Application Team
+;* Version : V4.2.0
+;* Date : 31-March-2017
+;* Description : STM32F103xE Devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Configure the clock system
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M3 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;********************************************************************************
+;*
+;*
© COPYRIGHT(c) 2017 STMicroelectronics
+;*
+;* Redistribution and use in source and binary forms, with or without modification,
+;* are permitted provided that the following conditions are met:
+;* 1. Redistributions of source code must retain the above copyright notice,
+;* this list of conditions and the following disclaimer.
+;* 2. Redistributions in binary form must reproduce the above copyright notice,
+;* this list of conditions and the following disclaimer in the documentation
+;* and/or other materials provided with the distribution.
+;* 3. Neither the name of STMicroelectronics nor the names of its contributors
+;* may be used to endorse or promote products derived from this software
+;* without specific prior written permission.
+;*
+;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;
+;*******************************************************************************
+
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x400
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x200
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window Watchdog
+ DCD PVD_IRQHandler ; PVD through EXTI Line detect
+ DCD TAMPER_IRQHandler ; Tamper
+ DCD RTC_IRQHandler ; RTC
+ DCD FLASH_IRQHandler ; Flash
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line 0
+ DCD EXTI1_IRQHandler ; EXTI Line 1
+ DCD EXTI2_IRQHandler ; EXTI Line 2
+ DCD EXTI3_IRQHandler ; EXTI Line 3
+ DCD EXTI4_IRQHandler ; EXTI Line 4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1 & ADC2
+ DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
+ DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break
+ DCD TIM1_UP_IRQHandler ; TIM1 Update
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
+ DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break
+ DCD TIM8_UP_IRQHandler ; TIM8 Update
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
+ DCD ADC3_IRQHandler ; ADC3
+ DCD FSMC_IRQHandler ; FSMC
+ DCD SDIO_IRQHandler ; SDIO
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_IRQHandler ; TIM6
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3
+ DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT __main
+ IMPORT SystemInit
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_IRQHandler [WEAK]
+ EXPORT TAMPER_IRQHandler [WEAK]
+ EXPORT RTC_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
+ EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_IRQHandler [WEAK]
+ EXPORT TIM1_UP_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT USBWakeUp_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FSMC_IRQHandler [WEAK]
+ EXPORT SDIO_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_5_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_IRQHandler
+TAMPER_IRQHandler
+RTC_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+USB_HP_CAN1_TX_IRQHandler
+USB_LP_CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_IRQHandler
+TIM1_UP_IRQHandler
+TIM1_TRG_COM_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+USBWakeUp_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FSMC_IRQHandler
+SDIO_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_5_IRQHandler
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/README.md b/README.md
index 67bf2ae..1849f47 100644
--- a/README.md
+++ b/README.md
@@ -112,7 +112,14 @@ To build and flash choose one of the following methods:
- open the folder in the IDE of choice (vscode or Atom)
- press the 'PlatformIO:Build' or the 'PlatformIO:Upload' button (bottom left in vscode).
-### Method 2: Using Ubuntu
+### Method 2: Using Keil uVision
+
+- in [Keil uVision](https://www.keil.com/download/product/), open the [mainboard-hack.uvproj](/MDK-ARM/)
+- if you are asked to install missing packages, click Yes
+- click Build Target (or press F7) to build the firmware
+- click Load Code (or press F8) to flash the firmware.
+
+### Method 3: Using Ubuntu
- prerequisites: install [ST-Flash utility](https://github.com/texane/stlink).
- open a terminal in the repo check-out folder and type:
diff --git a/Src/bldc.c b/Src/bldc.c
index 29edeab..7e72a27 100644
--- a/Src/bldc.c
+++ b/Src/bldc.c
@@ -136,7 +136,7 @@ void DMA1_Channel1_IRQHandler(void) {
HAL_GPIO_TogglePin(BUZZER_PORT, BUZZER_PIN);
}
} else {
- HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, 0);
+ HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_RESET);
}
// ############################### MOTOR CONTROL ###############################
diff --git a/Src/main.c b/Src/main.c
index 6f2b4ba..ecccba0 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -26,14 +26,12 @@
#include "setup.h"
#include "config.h"
#include "comms.h"
+#include "eeprom.h"
#if defined(DEBUG_I2C_LCD) || defined(SUPPORT_LCD)
#include "hd44780.h"
#endif
-#ifdef VARIANT_TRANSPOTTER
- #include "eeprom.h"
-#endif
// Matlab includes and defines - from auto-code generation
// ###############################################################################
@@ -45,7 +43,7 @@ RT_MODEL rtM_Right_; /* Real-time model */
RT_MODEL *const rtM_Left = &rtM_Left_;
RT_MODEL *const rtM_Right = &rtM_Right_;
-P rtP_Left; /* Block parameters (auto storage) */
+extern P rtP_Left; /* Block parameters (auto storage) */
DW rtDW_Left; /* Observable states */
ExtU rtU_Left; /* External inputs */
ExtY rtY_Left; /* External outputs */
@@ -98,6 +96,7 @@ extern I2C_HandleTypeDef hi2c2;
uint16_t counter = 0;
#else
uint8_t nunchuk_connected = 1;
+ uint16_t VirtAddVarTab[NB_OF_VAR] = {0x1300}; // Dummy address to avoid warnings
#endif
#if defined(CONTROL_ADC) && defined(ADC_PROTECT_ENA)
@@ -146,25 +145,24 @@ typedef struct{
static SerialFeedback Feedback;
#endif
-#if defined(CONTROL_NUNCHUK) || defined(SUPPORT_NUNCHUK) || defined(CONTROL_PPM) || defined(CONTROL_ADC)
+#ifdef SUPPORT_BUTTONS
static uint8_t button1, button2;
#endif
uint8_t ctrlModReqRaw = CTRL_MOD_REQ;
uint8_t ctrlModReq = CTRL_MOD_REQ; // Final control mode request
-static int cmd1; // normalized input value. -1000 to 1000
-static int cmd2; // normalized input value. -1000 to 1000
static int16_t speed; // local variable for speed. -1000 to 1000
#ifndef VARIANT_TRANSPOTTER
+ static int cmd1; // normalized input value. -1000 to 1000
+ static int cmd2; // normalized input value. -1000 to 1000
static int16_t steer; // local variable for steering. -1000 to 1000
static int16_t steerRateFixdt; // local fixed-point variable for steering rate limiter
static int16_t speedRateFixdt; // local fixed-point variable for speed rate limiter
static int32_t steerFixdt; // local fixed-point variable for steering low-pass filter
static int32_t speedFixdt; // local fixed-point variable for speed low-pass filter
#endif
-#ifdef VARIANT_HOVERCAR
- static MultipleTap MultipleTapBreak; // define multiple tap functionality for the Break pedal
-#endif
+static MultipleTap MultipleTapBreak; // define multiple tap functionality for the Break pedal
+
static int16_t speedAvg; // average measured speed
static int16_t speedAvgAbs; // average measured speed in absolute
@@ -197,7 +195,7 @@ void poweroff(void) {
buzzerFreq = (uint8_t)i;
HAL_Delay(100);
}
- HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 0);
+ HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, GPIO_PIN_RESET);
while(1) {}
// }
}
@@ -232,7 +230,7 @@ int main(void) {
MX_ADC1_Init();
MX_ADC2_Init();
- HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 1);
+ HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, GPIO_PIN_SET);
HAL_ADC_Start(&hadc1);
HAL_ADC_Start(&hadc2);
@@ -279,7 +277,7 @@ int main(void) {
}
buzzerFreq = 0;
- HAL_GPIO_WritePin(LED_PORT, LED_PIN, 1);
+ HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET);
#ifdef VARIANT_TRANSPOTTER
int lastDistance = 0;
@@ -458,17 +456,21 @@ int main(void) {
Nunchuk_Read();
cmd1 = CLAMP((nunchuk_data[0] - 127) * 8, INPUT_MIN, INPUT_MAX); // x - axis. Nunchuk joystick readings range 30 - 230
cmd2 = CLAMP((nunchuk_data[1] - 128) * 8, INPUT_MIN, INPUT_MAX); // y - axis
-
- button1 = (uint8_t)nunchuk_data[5] & 1;
- button2 = (uint8_t)(nunchuk_data[5] >> 1) & 1;
+
+ #ifdef SUPPORT_BUTTONS
+ button1 = (uint8_t)nunchuk_data[5] & 1;
+ button2 = (uint8_t)(nunchuk_data[5] >> 1) & 1;
+ #endif
}
#endif
#ifdef CONTROL_PPM
cmd1 = CLAMP((ppm_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX);
cmd2 = CLAMP((ppm_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX);
- button1 = ppm_captured_value[5] > INPUT_MID;
- button2 = 0;
+ #ifdef SUPPORT_BUTTONS
+ button1 = ppm_captured_value[5] > INPUT_MID;
+ button2 = 0;
+ #endif
// float scale = ppm_captured_value[2] / 1000.0f; // not used for now, uncomment if needed
#endif
@@ -514,8 +516,10 @@ int main(void) {
#endif
// use ADCs as button inputs:
- button1 = (uint8_t)(adc_buffer.l_tx2 > 2000); // ADC1
- button2 = (uint8_t)(adc_buffer.l_rx2 > 2000); // ADC2
+ #ifdef SUPPORT_BUTTONS
+ button1 = (uint8_t)(adc_buffer.l_tx2 > 2000); // ADC1
+ button2 = (uint8_t)(adc_buffer.l_rx2 > 2000); // ADC2
+ #endif
timeout = 0;
#endif
@@ -833,7 +837,7 @@ int main(void) {
} else if (timeoutFlagADC || timeoutFlagSerial) { // beep in case of ADC or Serial timeout - fast beep
buzzerFreq = 24;
buzzerPattern = 1;
- } else if (BEEPS_BACKWARD && speed < -50 && speedAvg < 0) { // backward beep
+ } else if (BEEPS_BACKWARD && ((speed < -50 && speedAvg < 0) || MultipleTapBreak.b_multipleTap)) { // backward beep
buzzerFreq = 5;
buzzerPattern = 1;
} else { // do not beep
diff --git a/build/firmware.bin b/build/firmware.bin
deleted file mode 100644
index ce60259..0000000
Binary files a/build/firmware.bin and /dev/null differ
diff --git a/build/firmware.elf b/build/firmware.elf
deleted file mode 100644
index 6a0344c..0000000
Binary files a/build/firmware.elf and /dev/null differ
diff --git a/01_Matlab/02_Figures/motor_winding.png b/docs/pictures/motor_winding.png
similarity index 100%
rename from 01_Matlab/02_Figures/motor_winding.png
rename to docs/pictures/motor_winding.png
diff --git a/platformio.ini b/platformio.ini
index a745180..3a36b38 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -15,6 +15,7 @@ src_dir = Src
;default_envs = VARIANT_PPM ; Variant for RC-Remotes with PPM-Sum signal
;default_envs = VARIANT_IBUS ; Variant for RC-Remotes with FLYSKY IBUS
;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build
+;default_envs = VARIANT_HOVERBOARD ; Variant for HOVERBOARD
;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng
;================================================================
@@ -152,6 +153,30 @@ build_flags =
;================================================================
+[env:VARIANT_HOVERBOARD]
+platform = ststm32
+framework = stm32cube
+board = genericSTM32F103RC
+debug_tool = stlink
+upload_protocol = stlink
+
+; Serial Port settings (make sure the COM port is correct)
+monitor_port = COM5
+monitor_speed = 38400
+
+build_flags =
+ -I${PROJECT_DIR}/inc/
+ -DUSE_HAL_DRIVER
+ -DSTM32F103xE
+ -Wl,-T./STM32F103RCTx_FLASH.ld
+ -Wl,-lc
+ -Wl,-lm
+ -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
+# -Wl,-lnosys
+ -D VARIANT_HOVERBOARD
+
+;================================================================
+
[env:VARIANT_TRANSPOTTER]
platform = ststm32
framework = stm32cube