diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..bd8dc42 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "Drivers/STM32F1xx_HAL_Driver"] + path = Drivers/STM32F1xx_HAL_Driver + url = https://github.com/STMicroelectronics/stm32f1xx-hal-driver.git +[submodule "Drivers/CMSIS"] + path = Drivers/CMSIS + url = https://github.com/STMicroelectronics/cmsis-core.git +[submodule "Drivers/CMSIS_Device_ST_STM32F1xx"] + path = Drivers/CMSIS_Device_ST_STM32F1xx + url = https://github.com/STMicroelectronics/cmsis-device-f1.git diff --git a/picocalc_BIOS_jcs.ioc b/CubeMX/picocalc_BIOS_jcs.ioc similarity index 100% rename from picocalc_BIOS_jcs.ioc rename to CubeMX/picocalc_BIOS_jcs.ioc diff --git a/Drivers/CMSIS b/Drivers/CMSIS new file mode 160000 index 0000000..f37cfce --- /dev/null +++ b/Drivers/CMSIS @@ -0,0 +1 @@ +Subproject commit f37cfcee997e714b0fad374a328c41df64f99acb diff --git a/Drivers/CMSIS_Device_ST_STM32F1xx b/Drivers/CMSIS_Device_ST_STM32F1xx new file mode 160000 index 0000000..c8e9a4a --- /dev/null +++ b/Drivers/CMSIS_Device_ST_STM32F1xx @@ -0,0 +1 @@ +Subproject commit c8e9a4a4f16b6d2cb2a2083cbe5161025280fb22 diff --git a/Drivers/STM32F1xx_HAL_Driver b/Drivers/STM32F1xx_HAL_Driver new file mode 160000 index 0000000..38d1402 --- /dev/null +++ b/Drivers/STM32F1xx_HAL_Driver @@ -0,0 +1 @@ +Subproject commit 38d14024a9d3f6802506c3ec7a4308563760e54e diff --git a/Makefile b/Makefile index a1024a3..caf7e51 100644 --- a/Makefile +++ b/Makefile @@ -131,7 +131,7 @@ C_INCLUDES = \ -ICore/Inc \ -IDrivers/STM32F1xx_HAL_Driver/Inc \ -IDrivers/STM32F1xx_HAL_Driver/Inc/Legacy \ --IDrivers/CMSIS/Device/ST/STM32F1xx/Include \ +-IDrivers/CMSIS_Device_ST_STM32F1xx/Include \ -IDrivers/CMSIS/Include diff --git a/README.md b/README.md index 92c6172..c227822 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,20 @@ This is my personnal rewrite of the [original](https://github.com/clockworkpi/PicoCalc/tree/master/Code/picocalc_keyboard) PicoCalc STM32F103R8T6 firmware. -The main differences with the original are followings: +## Features differences +The main differences with the original firmware are the followings: - drastic reduction in the STM32's electricity consumption when running (~3.5 mA), -- removed stm32duino dependencies (use STM32HAL instead, maybe I'll switch to libopencm3 someday...), - clean up (in progress) to reduce binary size (~25 KB) and allow more features to be implemented, +- removed stm32duino dependencies (use STM32HAL instead, maybe I'll switch to libopencm3 someday...), - added configuration saving solution (using internal flash, including backlight option), - rewriten or added some debug UART interface message, - lighten AXP2101 PMIC driver. This source code can be compiled using ARM gcc toolchain (using v13) and make program. + +## Credits +- STM32-HAL: [link](https://github.com/STMicroelectronics/stm32f1xx-hal-driver) +- STM32-CMSIS: [link](https://github.com/STMicroelectronics/cmsis-device-f1) +- X-PowersLib: [link](https://github.com/lewisxhe/XPowersLib) +- Emulated EEPROM: [link](https://github.com/ScorpionX5/STM32F1XX-EEPROM-Emulation-Library/tree/master/V2.0)