├── .gitattributes ├── .metadata ├── .ide.log ├── .lock ├── .log ├── .log4j.xml ├── .plugins │ ├── com.st.stm32cube.ide.mcu.informationcenter │ │ └── 1.5.0.202011040924 │ ├── org.eclipse.cdt.core │ │ ├── .log │ │ ├── ControlFirmware.1612523435096.pdom │ │ └── ControlFirmware.language.settings.xml │ ├── org.eclipse.cdt.make.core │ │ ├── specs.c │ │ └── specs.cpp │ ├── org.eclipse.cdt.make.ui │ │ └── dialog_settings.xml │ ├── org.eclipse.cdt.managedbuilder.core │ │ ├── spec.c │ │ └── spec.cpp │ ├── org.eclipse.cdt.ui │ │ ├── ControlFirmware.build.log │ │ ├── dialog_settings.xml │ │ └── global-build.log │ ├── org.eclipse.core.resources │ │ ├── .history │ │ │ └── a4 │ │ │ │ └── d0259e55a367001b135bbe0301290307 │ │ ├── .projects │ │ │ └── ControlFirmware │ │ │ │ ├── .indexes │ │ │ │ ├── bf │ │ │ │ │ └── c4 │ │ │ │ │ │ ├── history.index │ │ │ │ │ │ └── properties.index │ │ │ │ └── properties.index │ │ │ │ └── .markers │ │ ├── .root │ │ │ ├── .indexes │ │ │ │ ├── history.version │ │ │ │ ├── properties.index │ │ │ │ └── properties.version │ │ │ └── 1.tree │ │ └── .safetable │ │ │ └── org.eclipse.core.resources │ ├── org.eclipse.core.runtime │ │ └── .settings │ │ │ ├── com.st.stm32cube.ide.mcu.ide.oss.prefs │ │ │ ├── org.eclipse.cdt.core.prj-ControlFirmware.prefs │ │ │ ├── org.eclipse.cdt.debug.core.prefs │ │ │ ├── org.eclipse.cdt.managedbuilder.core.prefs │ │ │ ├── org.eclipse.cdt.ui.prefs │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.debug.core.prefs │ │ │ ├── org.eclipse.debug.ui.prefs │ │ │ ├── org.eclipse.launchbar.core.prefs │ │ │ ├── org.eclipse.ui.editors.prefs │ │ │ ├── org.eclipse.ui.ide.prefs │ │ │ ├── org.eclipse.ui.navigator.prefs │ │ │ ├── org.eclipse.ui.prefs │ │ │ └── org.eclipse.ui.workbench.prefs │ ├── org.eclipse.debug.ui │ │ └── launchConfigurationHistory.xml │ ├── org.eclipse.e4.workbench │ │ └── workbench.xmi │ ├── org.eclipse.ui.ide │ │ └── dialog_settings.xml │ └── org.eclipse.ui.workbench │ │ ├── dialog_settings.xml │ │ └── workingsets.xml └── version.ini ├── Arduino ├── M5StackFireTest │ ├── Gripper │ │ ├── Gripper.ino │ │ ├── IMG20210110104031.jpg │ │ ├── IMG20210110104046.jpg │ │ ├── IMG20210110104150.jpg │ │ ├── MyServoProtocol2.h │ │ └── readme.txt │ ├── MirrorCompliance │ │ ├── IMG20210109235811.jpg │ │ ├── MirrorCompliance.ino │ │ ├── MyServoProtocol2.h │ │ └── readme.txt │ ├── ReadPositionVelocity │ │ ├── IMG20210108212159.jpg │ │ ├── MyServoProtocol2.h │ │ ├── ReadPositionVelocity.ino │ │ └── readme.txt │ ├── StallGuard │ │ ├── IMG20210109122924.jpg │ │ ├── MyServoProtocol2.h │ │ ├── StallGuard.ino │ │ └── readme.txt │ ├── WritePositionVelocityCurrentPWM │ │ ├── IMG20210108224453.jpg │ │ ├── MyServoProtocol2.h │ │ ├── WritePositionVelocityCurrentPWM.ino │ │ └── readme.txt │ └── _TODO │ │ └── M5StackFireTest.ino └── M5StickCPlusTest │ └── Haptic │ ├── Haptic.ino │ ├── IMG20210123140623.jpg │ ├── MyServoProtocol2.h │ └── readme.txt ├── ControlBoard ├── CASE │ ├── Assemblage.SLDASM │ ├── IMG20210108184915.jpg │ ├── IMG20210108185039.jpg │ ├── PCB.SLDPRT │ ├── case.SLDPRT │ ├── caseBOTTOM.STL │ └── caseTOP.STL ├── MECA │ ├── Arm.SLDPRT │ ├── Arm.STL │ └── supportMicro.SLDPRT ├── V1 │ ├── BOM_SMSMod_2021-01-05.csv │ ├── CaptureBOTTOM.PNG │ ├── CaptureLayers.PNG │ ├── CaptureTOP.PNG │ ├── JLCPCB │ │ ├── 2941402A_Y14.rar │ │ ├── 827ec9ba3ddc46f5bbd335722c29b47f_1608748205000.rar │ │ ├── BOM_MyServoShrinck3_2020-12-23_19-29-26 (1).csv │ │ ├── CaptureOrder.PNG │ │ └── PickAndPlace_PCB_2020-10-13_13-24-16 copy_2020-12-.csv │ ├── PickAndPlace_SMSMod_2021-01-05.csv │ ├── STM32.png │ ├── STM32i.png │ └── Schematic_SMSMod_2021-01-05.pdf └── V2 │ ├── BOM_Smarter Micro Servo MOD_2021-01-22.csv │ ├── CaptureBOTTOM.PNG │ ├── CaptureBOTTOM3d.PNG │ ├── CaptureTOP.PNG │ ├── CaptureTOP3d.PNG │ ├── PickAndPlace_SMSMod_2021-01-22.csv │ └── Schematic_Smarter Micro Servo MOD_2021-01-22.pdf ├── ControlFirmware ├── .cproject ├── .mxproject ├── .project ├── .settings │ ├── language.settings.xml │ └── stm32cubeide.project.prefs ├── Core │ ├── Inc │ │ ├── binary_tool.h │ │ ├── control_algo.h │ │ ├── control_table.h │ │ ├── eeprom.h │ │ ├── led.h │ │ ├── main.h │ │ ├── math_tool.h │ │ ├── pid.h │ │ ├── protocol.h │ │ ├── serial.h │ │ ├── stm32g4xx_hal_conf.h │ │ └── stm32g4xx_it.h │ ├── Src │ │ ├── control_algo.c │ │ ├── control_table.c │ │ ├── eeprom.c │ │ ├── led.c │ │ ├── main.c │ │ ├── math_tool.c │ │ ├── pic.c │ │ ├── protocol.c │ │ ├── serial.c │ │ ├── stm32g4xx_hal_msp.c │ │ ├── stm32g4xx_it.c │ │ ├── syscalls.c │ │ ├── sysmem.c │ │ └── system_stm32g4xx.c │ └── Startup │ │ └── startup_stm32g431kbtx.s ├── Debug │ ├── ControlFirmware.bin │ ├── ControlFirmware.elf │ ├── ControlFirmware.list │ ├── ControlFirmware.map │ ├── Core │ │ ├── Src │ │ │ ├── control_algo.d │ │ │ ├── control_algo.o │ │ │ ├── control_algo.su │ │ │ ├── control_table.d │ │ │ ├── control_table.o │ │ │ ├── control_table.su │ │ │ ├── eeprom.d │ │ │ ├── eeprom.o │ │ │ ├── eeprom.su │ │ │ ├── led.d │ │ │ ├── led.o │ │ │ ├── led.su │ │ │ ├── main.d │ │ │ ├── main.o │ │ │ ├── main.su │ │ │ ├── math_tool.d │ │ │ ├── math_tool.o │ │ │ ├── math_tool.su │ │ │ ├── pic.d │ │ │ ├── pic.o │ │ │ ├── pic.su │ │ │ ├── protocol.d │ │ │ ├── protocol.o │ │ │ ├── protocol.su │ │ │ ├── serial.d │ │ │ ├── serial.o │ │ │ ├── serial.su │ │ │ ├── stm32g4xx_hal_msp.d │ │ │ ├── stm32g4xx_hal_msp.o │ │ │ ├── stm32g4xx_hal_msp.su │ │ │ ├── stm32g4xx_it.d │ │ │ ├── stm32g4xx_it.o │ │ │ ├── stm32g4xx_it.su │ │ │ ├── subdir.mk │ │ │ ├── syscalls.d │ │ │ ├── syscalls.o │ │ │ ├── syscalls.su │ │ │ ├── sysmem.d │ │ │ ├── sysmem.o │ │ │ ├── sysmem.su │ │ │ ├── system_stm32g4xx.d │ │ │ ├── system_stm32g4xx.o │ │ │ └── system_stm32g4xx.su │ │ └── Startup │ │ │ ├── startup_stm32g431kbtx.d │ │ │ ├── startup_stm32g431kbtx.o │ │ │ └── subdir.mk │ ├── Drivers │ │ └── STM32G4xx_HAL_Driver │ │ │ └── Src │ │ │ ├── stm32g4xx_hal.d │ │ │ ├── stm32g4xx_hal.o │ │ │ ├── stm32g4xx_hal.su │ │ │ ├── stm32g4xx_hal_adc.d │ │ │ ├── stm32g4xx_hal_adc.o │ │ │ ├── stm32g4xx_hal_adc.su │ │ │ ├── stm32g4xx_hal_adc_ex.d │ │ │ ├── stm32g4xx_hal_adc_ex.o │ │ │ ├── stm32g4xx_hal_adc_ex.su │ │ │ ├── stm32g4xx_hal_cortex.d │ │ │ ├── stm32g4xx_hal_cortex.o │ │ │ ├── stm32g4xx_hal_cortex.su │ │ │ ├── stm32g4xx_hal_dma.d │ │ │ ├── stm32g4xx_hal_dma.o │ │ │ ├── stm32g4xx_hal_dma.su │ │ │ ├── stm32g4xx_hal_dma_ex.d │ │ │ ├── stm32g4xx_hal_dma_ex.o │ │ │ ├── stm32g4xx_hal_dma_ex.su │ │ │ ├── stm32g4xx_hal_exti.d │ │ │ ├── stm32g4xx_hal_exti.o │ │ │ ├── stm32g4xx_hal_exti.su │ │ │ ├── stm32g4xx_hal_flash.d │ │ │ ├── stm32g4xx_hal_flash.o │ │ │ ├── stm32g4xx_hal_flash.su │ │ │ ├── stm32g4xx_hal_flash_ex.d │ │ │ ├── stm32g4xx_hal_flash_ex.o │ │ │ ├── stm32g4xx_hal_flash_ex.su │ │ │ ├── stm32g4xx_hal_flash_ramfunc.d │ │ │ ├── stm32g4xx_hal_flash_ramfunc.o │ │ │ ├── stm32g4xx_hal_flash_ramfunc.su │ │ │ ├── stm32g4xx_hal_gpio.d │ │ │ ├── stm32g4xx_hal_gpio.o │ │ │ ├── stm32g4xx_hal_gpio.su │ │ │ ├── stm32g4xx_hal_opamp.d │ │ │ ├── stm32g4xx_hal_opamp.o │ │ │ ├── stm32g4xx_hal_opamp.su │ │ │ ├── stm32g4xx_hal_opamp_ex.d │ │ │ ├── stm32g4xx_hal_opamp_ex.o │ │ │ ├── stm32g4xx_hal_opamp_ex.su │ │ │ ├── stm32g4xx_hal_pwr.d │ │ │ ├── stm32g4xx_hal_pwr.o │ │ │ ├── stm32g4xx_hal_pwr.su │ │ │ ├── stm32g4xx_hal_pwr_ex.d │ │ │ ├── stm32g4xx_hal_pwr_ex.o │ │ │ ├── stm32g4xx_hal_pwr_ex.su │ │ │ ├── stm32g4xx_hal_rcc.d │ │ │ ├── stm32g4xx_hal_rcc.o │ │ │ ├── stm32g4xx_hal_rcc.su │ │ │ ├── stm32g4xx_hal_rcc_ex.d │ │ │ ├── stm32g4xx_hal_rcc_ex.o │ │ │ ├── stm32g4xx_hal_rcc_ex.su │ │ │ ├── stm32g4xx_hal_tim.d │ │ │ ├── stm32g4xx_hal_tim.o │ │ │ ├── stm32g4xx_hal_tim.su │ │ │ ├── stm32g4xx_hal_tim_ex.d │ │ │ ├── stm32g4xx_hal_tim_ex.o │ │ │ ├── stm32g4xx_hal_tim_ex.su │ │ │ ├── stm32g4xx_hal_uart.d │ │ │ ├── stm32g4xx_hal_uart.o │ │ │ ├── stm32g4xx_hal_uart.su │ │ │ ├── stm32g4xx_hal_uart_ex.d │ │ │ ├── stm32g4xx_hal_uart_ex.o │ │ │ ├── stm32g4xx_hal_uart_ex.su │ │ │ ├── stm32g4xx_ll_adc.d │ │ │ ├── stm32g4xx_ll_adc.o │ │ │ ├── stm32g4xx_ll_adc.su │ │ │ └── subdir.mk │ ├── makefile │ ├── objects.list │ ├── objects.mk │ └── sources.mk ├── Drivers │ ├── CMSIS │ │ ├── Device │ │ │ └── ST │ │ │ │ └── STM32G4xx │ │ │ │ └── Include │ │ │ │ ├── stm32g431xx.h │ │ │ │ ├── stm32g4xx.h │ │ │ │ └── system_stm32g4xx.h │ │ └── Include │ │ │ ├── cmsis_armcc.h │ │ │ ├── cmsis_armclang.h │ │ │ ├── cmsis_armclang_ltm.h │ │ │ ├── cmsis_compiler.h │ │ │ ├── cmsis_gcc.h │ │ │ ├── cmsis_iccarm.h │ │ │ ├── cmsis_version.h │ │ │ ├── core_armv81mml.h │ │ │ ├── core_armv8mbl.h │ │ │ ├── core_armv8mml.h │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm1.h │ │ │ ├── core_cm23.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm33.h │ │ │ ├── core_cm35p.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_sc000.h │ │ │ ├── core_sc300.h │ │ │ ├── mpu_armv7.h │ │ │ ├── mpu_armv8.h │ │ │ └── tz_context.h │ └── STM32G4xx_HAL_Driver │ │ ├── Inc │ │ ├── Legacy │ │ │ └── stm32_hal_legacy.h │ │ ├── stm32g4xx_hal.h │ │ ├── stm32g4xx_hal_adc.h │ │ ├── stm32g4xx_hal_adc_ex.h │ │ ├── stm32g4xx_hal_cortex.h │ │ ├── stm32g4xx_hal_def.h │ │ ├── stm32g4xx_hal_dma.h │ │ ├── stm32g4xx_hal_dma_ex.h │ │ ├── stm32g4xx_hal_exti.h │ │ ├── stm32g4xx_hal_flash.h │ │ ├── stm32g4xx_hal_flash_ex.h │ │ ├── stm32g4xx_hal_flash_ramfunc.h │ │ ├── stm32g4xx_hal_gpio.h │ │ ├── stm32g4xx_hal_gpio_ex.h │ │ ├── stm32g4xx_hal_opamp.h │ │ ├── stm32g4xx_hal_opamp_ex.h │ │ ├── stm32g4xx_hal_pwr.h │ │ ├── stm32g4xx_hal_pwr_ex.h │ │ ├── stm32g4xx_hal_rcc.h │ │ ├── stm32g4xx_hal_rcc_ex.h │ │ ├── stm32g4xx_hal_tim.h │ │ ├── stm32g4xx_hal_tim_ex.h │ │ ├── stm32g4xx_hal_uart.h │ │ ├── stm32g4xx_hal_uart_ex.h │ │ └── stm32g4xx_ll_adc.h │ │ └── Src │ │ ├── stm32g4xx_hal.c │ │ ├── stm32g4xx_hal_adc.c │ │ ├── stm32g4xx_hal_adc_ex.c │ │ ├── stm32g4xx_hal_cortex.c │ │ ├── stm32g4xx_hal_dma.c │ │ ├── stm32g4xx_hal_dma_ex.c │ │ ├── stm32g4xx_hal_exti.c │ │ ├── stm32g4xx_hal_flash.c │ │ ├── stm32g4xx_hal_flash_ex.c │ │ ├── stm32g4xx_hal_flash_ramfunc.c │ │ ├── stm32g4xx_hal_gpio.c │ │ ├── stm32g4xx_hal_opamp.c │ │ ├── stm32g4xx_hal_opamp_ex.c │ │ ├── stm32g4xx_hal_pwr.c │ │ ├── stm32g4xx_hal_pwr_ex.c │ │ ├── stm32g4xx_hal_rcc.c │ │ ├── stm32g4xx_hal_rcc_ex.c │ │ ├── stm32g4xx_hal_tim.c │ │ ├── stm32g4xx_hal_tim_ex.c │ │ ├── stm32g4xx_hal_uart.c │ │ ├── stm32g4xx_hal_uart_ex.c │ │ └── stm32g4xx_ll_adc.c ├── STM32G431KBTX_FLASH.ld ├── STM32G431KBx Debug.launch ├── STM32G431KBx.ioc ├── check-cppcheck-build-dir │ ├── control_algo.a1 │ ├── control_table.a1 │ ├── eeprom.a1 │ ├── files.txt │ ├── lastResults.xml │ ├── led.a1 │ ├── main.a1 │ ├── math_tool.a1 │ ├── pic.a1 │ ├── protocol.a1 │ ├── serial.a1 │ ├── statistics.txt │ ├── stm32g4xx_hal_msp.a1 │ ├── stm32g4xx_it.a1 │ ├── syscalls.a1 │ ├── sysmem.a1 │ └── system_stm32g4xx.a1 └── check.cppcheck ├── ControlModes ├── CaptureCurrent.PNG ├── CaptureTRIGGER.PNG ├── Mode 2.png ├── Mode1.png ├── current.png ├── mode1.jpg ├── mode2.jpg └── trigger.png ├── ControlTable └── SMS control table.xlsx ├── LICENSE ├── Pictures ├── CaptureHackaday.PNG ├── IMG20210104151520.jpg ├── IMG20210104151520drv.jpg ├── IMG20210104151547.jpg ├── IMG20210104151650.jpg ├── IMG20210104151734.jpg ├── IMG20210104153136.jpg ├── IMG20210104153136stm32.jpg ├── IMG20210104155614.jpg ├── IMG20210104160551.jpg ├── IMG20210104160612.jpg ├── IMG20210104161140.jpg ├── IMG20210104161915.jpg ├── IMG20210104161948.jpg ├── IMG20210104161958.jpg ├── IMG20210105074709.jpg ├── IMG20210109225448.jpg └── IMG20210109225906.jpg ├── README.md ├── SMSUtility ├── CaptureGUI001.png ├── CaptureGUI001i.png ├── SMSUtility.py ├── __pycache__ │ ├── eeprom_frame.cpython-37.pyc │ ├── felin.cpython-37.pyc │ ├── id_frame.cpython-37.pyc │ ├── ik.cpython-37.pyc │ ├── intersection.cpython-37.pyc │ ├── protocol2.cpython-37.pyc │ ├── ram_frame.cpython-37.pyc │ └── trace_frame.cpython-37.pyc ├── eeprom_frame.py ├── felin.py ├── id_frame.py ├── ik.py ├── intersection.py ├── protocol2.py ├── ram_frame.py └── trace_frame.py └── TestLeg ├── CaptureV1.PNG ├── CaptureV1b.PNG ├── Femur4.STEP ├── Femur4.STL ├── Tibia3.STEP ├── Tibia3.STL ├── bom.txt ├── supportHipLeg.STEP └── supportHipLeg.STL /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.metadata/.ide.log: -------------------------------------------------------------------------------- 1 | 2021-02-05 12:09:33,891 [INFO] Activator:170 - 2 | 3 | 4 | 2021-02-05 12:09:33,893 [INFO] Activator:171 - !SESSION log4j initialized 5 | -------------------------------------------------------------------------------- /.metadata/.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.lock -------------------------------------------------------------------------------- /.metadata/.log: -------------------------------------------------------------------------------- 1 | !SESSION 2021-02-05 12:09:12.933 ----------------------------------------------- 2 | eclipse.buildId=Version 1.5.0 3 | java.version=1.8.0_252 4 | java.vendor=AdoptOpenJDK 5 | BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR 6 | Command-line arguments: -os win32 -ws win32 -arch x86_64 7 | 8 | !ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2021-02-05 12:09:33.823 9 | !MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. 10 | 11 | !ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2021-02-05 12:09:33.885 12 | !MESSAGE Log4j initialized with config file C:\GitHub\SMSMod\.metadata\.log4j.xml 13 | 14 | !ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2021-02-05 12:09:35.425 15 | !MESSAGE Started RMI Server, listening on port 41338 16 | 17 | !ENTRY com.st.stm32cube.ide.mcu.ide 4 4 2021-02-05 12:09:36.184 18 | !MESSAGE com.st.stm32cube.ide.mcu.ide/META-INF/version/build_ref file not found, build reference will not be reported into properties 19 | 20 | !ENTRY org.eclipse.cdt.core 1 0 2021-02-05 12:10:40.109 21 | !MESSAGE Indexed 'ControlFirmware' (36 sources, 123 headers) in 4,98 sec: 12 478 declarations; 70 781 references; 3 unresolved inclusions; 46 syntax errors; 171 unresolved names (0,2 %) 22 | -------------------------------------------------------------------------------- /.metadata/.log4j.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.metadata/.plugins/com.st.stm32cube.ide.mcu.informationcenter/1.5.0.202011040924: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/com.st.stm32cube.ide.mcu.informationcenter/1.5.0.202011040924 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.core/.log: -------------------------------------------------------------------------------- 1 | *** SESSION févr. 05, 2021 12:09:29.59 ----------------------------------------- 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.core/ControlFirmware.1612523435096.pdom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.cdt.core/ControlFirmware.1612523435096.pdom -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.make.core/specs.c: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.make.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.c -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.cpp -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.ui/ControlFirmware.build.log: -------------------------------------------------------------------------------- 1 | 12:14:38 **** Incremental Build of configuration Debug for project ControlFirmware **** 2 | make -j8 all 3 | arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32G431xx -DUSE_HAL_DRIVER -DDEBUG -c -I../Core/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32G4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" 4 | arm-none-eabi-gcc -o "ControlFirmware.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\GitHub\SMSMod\ControlFirmware\STM32G431KBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="ControlFirmware.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group 5 | Finished building target: ControlFirmware.elf 6 | 7 | arm-none-eabi-objdump -h -S ControlFirmware.elf > "ControlFirmware.list" 8 | arm-none-eabi-objcopy -O binary ControlFirmware.elf "ControlFirmware.bin" 9 | arm-none-eabi-size ControlFirmware.elf 10 | text data bss dec hex filename 11 | 45080 164 15212 60456 ec28 ControlFirmware.elf 12 | Finished building: default.size.stdout 13 | 14 | Finished building: ControlFirmware.bin 15 | 16 | Finished building: ControlFirmware.list 17 | 18 | 19 | 12:14:39 Build Finished. 0 errors, 0 warnings. (took 1s.437ms) 20 | 21 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 |
7 |
8 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.cdt.ui/global-build.log: -------------------------------------------------------------------------------- 1 | 12:14:38 **** Incremental Build of configuration Debug for project ControlFirmware **** 2 | make -j8 all 3 | arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32G431xx -DUSE_HAL_DRIVER -DDEBUG -c -I../Core/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32G4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" 4 | arm-none-eabi-gcc -o "ControlFirmware.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\GitHub\SMSMod\ControlFirmware\STM32G431KBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="ControlFirmware.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group 5 | Finished building target: ControlFirmware.elf 6 | 7 | arm-none-eabi-objdump -h -S ControlFirmware.elf > "ControlFirmware.list" 8 | arm-none-eabi-objcopy -O binary ControlFirmware.elf "ControlFirmware.bin" 9 | arm-none-eabi-size ControlFirmware.elf 10 | text data bss dec hex filename 11 | 45080 164 15212 60456 ec28 ControlFirmware.elf 12 | Finished building: default.size.stdout 13 | 14 | Finished building: ControlFirmware.bin 15 | 16 | Finished building: ControlFirmware.list 17 | 18 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.indexes/bf/c4/history.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.indexes/bf/c4/history.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.indexes/bf/c4/properties.index: -------------------------------------------------------------------------------- 1 | /Core/Src/main.c7org.eclipse.ui.internal.registry.ResourceEditorRegistryEditorProperty!org.eclipse.cdt.ui.editor.CEditor/Core/Src/control_algo.cEditorProperty!org.eclipse.cdt.ui.editor.CEditor -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.indexes/properties.index: -------------------------------------------------------------------------------- 1 | org.eclipse.cdt.corepdomName"ControlFirmware.1612523435096.pdomorg.eclipse.cdt.make.corediscoveredScannerConfigFileNameControlFirmware.sc -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.markers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.core.resources/.projects/ControlFirmware/.markers -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index: -------------------------------------------------------------------------------- 1 | /org.eclipse.core.resourcescontentCacheState2contentCacheTimestamp 1601701547843 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/1.tree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/com.st.stm32cube.ide.mcu.ide.oss.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | project_presentation/setHierarchicalMode=false 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prj-ControlFirmware.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | indexer/preferenceScope=0 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.debug.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.cdt.debug.core.cDebug.default_source_containers=\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | properties/STM32G431KBx.null.1288947561/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1097448245=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1232419840\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1090417426\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.226144249\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1216484548\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1414329904\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1472276139\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1097448245\=rcState\\\=0\\r\\nrebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.655370248\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.2066886553\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1390767119\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1433291886\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1740366760\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1601340108\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1945187695\=rebuildState\\\=false\\r\\n\r\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.208944986\=rebuildState\\\=false\\r\\n\r\n 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | spelling_locale_initialized=true 3 | useAnnotationsPrefPage=true 4 | useQuickDiffPrefPage=true 5 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | version=1 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs: -------------------------------------------------------------------------------- 1 | //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.applicationLaunchType=org.eclipse.cdt.dsf.gdb.launch.localCLaunch,debug,;org.eclipse.cdt.cdi.launch.localCLaunch,run,; 2 | //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.attachLaunchType=org.eclipse.cdt.dsf.gdb.launch.attachCLaunch,debug,; 3 | //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.postmortemLaunchType=org.eclipse.cdt.dsf.gdb.launch.coreCLaunch,debug,; 4 | //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.remoteApplicationLaunchType=org.eclipse.rse.remotecdt.dsf.debug,debug,; 5 | eclipse.preferences.version=1 6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n 3 | preferredTargets=org.eclipse.cdt.debug.ui.toggleCBreakpointTarget,org.eclipse.cdt.debug.ui.toggleCDynamicPrintfTarget\:org.eclipse.cdt.debug.ui.toggleCBreakpointTarget| 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs: -------------------------------------------------------------------------------- 1 | LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/arch=x86_64 2 | LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/name=Local 3 | LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/os=win32 4 | configDescList=org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:STM32G431KBx Debug 5 | eclipse.preferences.version=1 6 | org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:STM32G431KBx\ Debug/activeLaunchMode=run 7 | org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:STM32G431KBx\ Debug/activeLaunchTarget=null\:--- 8 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | overviewRuler_migration=migrated_3.1 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs: -------------------------------------------------------------------------------- 1 | PROBLEMS_FILTERS_MIGRATE=true 2 | TASKS_FILTERS_MIGRATE=true 3 | eclipse.preferences.version=1 4 | platformState=1601701547843 5 | quickStart=false 6 | tipsAndTricks=true 7 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.navigator.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.ui.navigator.ProjectExplorer.filterActivation=\:org.eclipse.rse.project.filters.RemoteSystemsProjects\:org.eclipse.ui.navigator.resources.filters.startsWithDot\:org.eclipse.cdt.ui.navigator.filters.AnonymousStructFilter\:org.eclipse.ui.navigator.resources.nested.HideTopLevelProjectIfNested\:org.eclipse.ui.navigator.resources.nested.HideFolderWhenProjectIsShownAsNested\:org.eclipse.cdt.ui.navigator.filters.ForwardDeclarationFilter\: 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | showIntro=false 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs: -------------------------------------------------------------------------------- 1 | //org.eclipse.ui.commands/state/com.st.stm32cube.ide.mcu.buildanalyzer.showstate/org.eclipse.ui.commands.radioState=human 2 | //org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false 3 | eclipse.preferences.version=1 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 |
9 |
10 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.metadata/version.ini: -------------------------------------------------------------------------------- 1 | #Fri Feb 05 12:09:28 CET 2021 2 | org.eclipse.core.runtime=2 3 | org.eclipse.platform=4.16.0.v20200604-0540 4 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/Gripper/Gripper.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | int error = 0; 4 | int state = 0; //0:open, 1:close 5 | 6 | void setup() { 7 | M5.begin(); 8 | M5.Power.begin(); 9 | M5.Lcd.fillScreen(BLACK); 10 | M5.Lcd.setTextColor(GREEN , BLACK); 11 | M5.Lcd.setTextSize(5); 12 | 13 | // enable torque servo ID=2 14 | error = servo.enableTorque(2); 15 | if(error !=0) 16 | { 17 | Serial.print("rx_packet_error:"); 18 | Serial.println(error); 19 | } 20 | // switch to "velocity-profil current based position control" operating mode 21 | error = servo.setMode(2,2); 22 | if(error !=0) 23 | { 24 | Serial.print("rx_packet_error:"); 25 | Serial.println(error); 26 | } 27 | // set position to 50° (home), limit velocity by 50 dps, motor current by 60mA and PWM ratio do 50% maximum 28 | error = servo.setPositionVelocityCurrentPWM(2,30,20,50,30); 29 | if(error !=0) 30 | { 31 | Serial.print("rx_packet_error:"); 32 | Serial.println(error); 33 | } 34 | M5.Lcd.setCursor(0, 0); 35 | M5.Lcd.printf("Gripper"); 36 | M5.Lcd.setCursor(0, 50); 37 | M5.Lcd.printf("Open"); 38 | delay(1000); 39 | } 40 | 41 | void loop() { 42 | if(M5.BtnC.read()) 43 | { 44 | state = 1; 45 | M5.Lcd.setCursor(0, 50); 46 | M5.Lcd.printf("Pick! "); 47 | error = servo.setPosition(2,120.0f); 48 | 49 | } 50 | if(M5.BtnA.read()) 51 | { 52 | state = 0; 53 | M5.Lcd.setCursor(0, 50); 54 | M5.Lcd.printf("Drop! "); 55 | error = servo.setPosition(2,50.0f); 56 | } 57 | float present_current = servo.getCurrent(2,&error); 58 | M5.Lcd.setCursor(0, 100); 59 | M5.Lcd.printf("Srv1:%3.0fmA",present_current); 60 | delay(10); 61 | } 62 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/Gripper/IMG20210110104031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/Gripper/IMG20210110104031.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/Gripper/IMG20210110104046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/Gripper/IMG20210110104046.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/Gripper/IMG20210110104150.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/Gripper/IMG20210110104150.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/Gripper/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/zrTxHTn-A60 -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/MirrorCompliance/IMG20210109235811.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/MirrorCompliance/IMG20210109235811.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/MirrorCompliance/MirrorCompliance.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | int error = 0; 4 | 5 | void setup() { 6 | M5.begin(); 7 | M5.Power.begin(); 8 | M5.Lcd.fillScreen(BLACK); 9 | M5.Lcd.setTextColor(GREEN , BLACK); 10 | M5.Lcd.setTextSize(5); 11 | 12 | // enable torque servo ID=1 13 | error = servo.enableTorque(1); 14 | if(error !=0) 15 | { 16 | Serial.print("rx_packet_error:"); 17 | Serial.println(error); 18 | } 19 | // disable torque servo ID=2 20 | error = servo.disableTorque(2); 21 | if(error !=0) 22 | { 23 | Serial.print("rx_packet_error:"); 24 | Serial.println(error); 25 | } 26 | // switch to "velocity-profil current based position control" operating mode 27 | error = servo.setMode(1,2); 28 | if(error !=0) 29 | { 30 | Serial.print("rx_packet_error:"); 31 | Serial.println(error); 32 | } 33 | // read servo ID2 position 34 | float present_position_2 = servo.getPosition(2,&error); 35 | if(error !=0) 36 | { 37 | Serial.print("rx_packet_error:"); 38 | Serial.println(error); 39 | } 40 | // set servo ID1 position to present position, and limit velocity by 400 dps, motor current by 150mA and PWM ratio do 99% maximum 41 | error = servo.setPositionVelocityCurrentPWM(1,present_position_2,400,150,99); 42 | if(error !=0) 43 | { 44 | Serial.print("rx_packet_error:"); 45 | Serial.println(error); 46 | } 47 | M5.Lcd.setCursor(0, 0); 48 | M5.Lcd.printf("Mirroring+"); 49 | M5.Lcd.setCursor(0, 50); 50 | M5.Lcd.printf("Compliance"); 51 | } 52 | 53 | void loop() { 54 | delay(2); 55 | float present_position_2 = servo.getPosition(2,&error); 56 | if(error !=0) 57 | { 58 | Serial.print("rx_packet_error:"); 59 | Serial.println(error); 60 | } 61 | error = servo.setPosition(1,present_position_2); 62 | if(error !=0) 63 | { 64 | Serial.print("rx_packet_error:"); 65 | Serial.println(error); 66 | } 67 | float present_position_1 = servo.getPosition(1,&error); 68 | if(error !=0) 69 | { 70 | Serial.print("rx_packet_error:"); 71 | Serial.println(error); 72 | } 73 | float present_current_1 = servo.getCurrent(1,&error); 74 | M5.Lcd.setCursor(0, 100); 75 | M5.Lcd.printf("Srv2->Srv1"); 76 | M5.Lcd.setCursor(0, 150); 77 | M5.Lcd.printf("%3.0f*->%3.0f*",present_position_2,present_position_1); 78 | M5.Lcd.setCursor(0, 200); 79 | M5.Lcd.printf("Srv1:%3.0fmA",present_current_1); 80 | } 81 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/MirrorCompliance/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/zlluPpIHIOk -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/ReadPositionVelocity/IMG20210108212159.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/ReadPositionVelocity/IMG20210108212159.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/ReadPositionVelocity/ReadPositionVelocity.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | 4 | void setup() { 5 | M5.begin(); 6 | M5.Power.begin(); 7 | M5.Lcd.fillScreen(BLACK); 8 | M5.Lcd.setTextColor(GREEN , BLACK); 9 | M5.Lcd.setTextSize(5); 10 | 11 | // disable torque servo ID=1 12 | int error = servo.disableTorque(1); 13 | if(error !=0) 14 | { 15 | Serial.print("rx_packet_error:"); 16 | Serial.println(error); 17 | } 18 | 19 | 20 | } 21 | 22 | void loop() { 23 | delay(100); 24 | int error = 0; 25 | float present_position = servo.getPosition(1, &error); 26 | float present_velocity = servo.getVelocity(1, &error); 27 | M5.Lcd.setCursor(0, 0); 28 | M5.Lcd.printf("Position :"); 29 | M5.Lcd.setCursor(0, 50); 30 | M5.Lcd.printf("%.1f deg S", present_position); 31 | M5.Lcd.setCursor(0, 100); 32 | M5.Lcd.printf("Velocity :"); 33 | M5.Lcd.setCursor(0, 150); 34 | M5.Lcd.printf("%.1f dps ", present_velocity); 35 | } 36 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/ReadPositionVelocity/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/4UFyGHXvt0Y 2 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/StallGuard/IMG20210109122924.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/StallGuard/IMG20210109122924.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/StallGuard/StallGuard.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | int error = 0; 4 | unsigned int counter = 0; 5 | float velocity = 50; 6 | 7 | void setup() { 8 | M5.begin(); 9 | M5.Power.begin(); 10 | M5.Lcd.fillScreen(BLACK); 11 | M5.Lcd.setTextColor(GREEN , BLACK); 12 | M5.Lcd.setTextSize(5); 13 | 14 | // enable torque servo ID=1 15 | error = servo.enableTorque(1); 16 | if(error !=0) 17 | { 18 | Serial.print("rx_packet_error:"); 19 | Serial.println(error); 20 | } 21 | // switch to "velocity-profil current based position control" operating mode 22 | error = servo.setMode(1,2); 23 | if(error !=0) 24 | { 25 | Serial.print("rx_packet_error:"); 26 | Serial.println(error); 27 | } 28 | // set position to 30° (home), limit velocity by 50 dps, motor current by 150mA and PWM ratio do 50% maximum 29 | error = servo.setPositionVelocityCurrentPWM(1,30,50,150,50); 30 | if(error !=0) 31 | { 32 | Serial.print("rx_packet_error:"); 33 | Serial.println(error); 34 | } 35 | delay(1000); 36 | } 37 | 38 | void loop() { 39 | M5.Lcd.setCursor(0, 0); 40 | M5.Lcd.printf("StallGuard"); 41 | M5.Lcd.setCursor(0, 50); 42 | M5.Lcd.printf("Still! "); 43 | delay(3000); 44 | // go to target position while monitoring current 45 | error = servo.setPositionVelocity(1,150,50); 46 | if(error !=0) 47 | { 48 | Serial.print("rx_packet_error:"); 49 | Serial.println(error); 50 | } 51 | M5.Lcd.setCursor(0, 50); 52 | M5.Lcd.printf("Moving.."); 53 | unsigned long start_time = millis(); 54 | // monitor current for 3 seconds 55 | while(millis()23) && (millis()>start_time+250)) 60 | { 61 | M5.Lcd.setCursor(0, 50); 62 | M5.Lcd.printf("STALL!!!"); 63 | float present_position = servo.getPosition(1,&error); 64 | // back up for 5° 65 | error = servo.setPosition(1,present_position-5.0f); 66 | delay(3000); 67 | break; 68 | } 69 | delay(2); 70 | } 71 | // return to home 72 | error = servo.setPositionVelocity(1,30,50); 73 | if(error !=0) 74 | { 75 | Serial.print("rx_packet_error:"); 76 | Serial.println(error); 77 | } 78 | M5.Lcd.setCursor(0, 50); 79 | M5.Lcd.printf("Return.."); 80 | delay(3000); 81 | M5.Lcd.setCursor(0, 50); 82 | M5.Lcd.printf("Still! "); 83 | delay(3000); 84 | ++counter; 85 | if(counter>=1) 86 | { 87 | error = servo.disableTorque(1); 88 | if(error !=0) 89 | { 90 | Serial.print("rx_packet_error:"); 91 | Serial.println(error); 92 | } 93 | M5.Power.powerOFF(); 94 | } 95 | delay(100); 96 | } 97 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/StallGuard/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/ZC6DH60ER2E -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/WritePositionVelocityCurrentPWM/IMG20210108224453.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StackFireTest/WritePositionVelocityCurrentPWM/IMG20210108224453.jpg -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/WritePositionVelocityCurrentPWM/WritePositionVelocityCurrentPWM.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | int error = 0; 4 | unsigned int counter = 0; 5 | float velocity = 50; 6 | 7 | void setup() { 8 | M5.begin(); 9 | M5.Power.begin(); 10 | M5.Lcd.fillScreen(BLACK); 11 | M5.Lcd.setTextColor(GREEN , BLACK); 12 | M5.Lcd.setTextSize(5); 13 | 14 | // enable torque servo ID=1 15 | error = servo.enableTorque(1); 16 | if(error !=0) 17 | { 18 | Serial.print("rx_packet_error:"); 19 | Serial.println(error); 20 | } 21 | // switch to "velocity-profil current based position control" operating mode 22 | error = servo.setMode(1,2); 23 | if(error !=0) 24 | { 25 | Serial.print("rx_packet_error:"); 26 | Serial.println(error); 27 | } 28 | // set position to 90°, limit velocity by 50 dps, motor current by 500mA and PWM ratio do 99% maximum 29 | error = servo.setPositionVelocityCurrentPWM(1,90,50,500,99); 30 | if(error !=0) 31 | { 32 | Serial.print("rx_packet_error:"); 33 | Serial.println(error); 34 | } 35 | delay(1000); 36 | } 37 | 38 | void loop() { 39 | M5.Lcd.setCursor(0, 0); 40 | M5.Lcd.printf("Velocity:"); 41 | M5.Lcd.setCursor(0, 50); 42 | M5.Lcd.printf("%.0f dps ", velocity); 43 | delay(1000); 44 | 45 | error = servo.setVelocityLimit(1,velocity); 46 | if(error !=0) 47 | { 48 | Serial.print("rx_packet_error:"); 49 | Serial.println(error); 50 | } 51 | error = servo.setPosition(1,150); 52 | if(error !=0) 53 | { 54 | Serial.print("rx_packet_error:"); 55 | Serial.println(error); 56 | } 57 | delay(1200); 58 | error = servo.setPosition(1,90); 59 | if(error !=0) 60 | { 61 | Serial.print("rx_packet_error:"); 62 | Serial.println(error); 63 | } 64 | delay(1200); 65 | error = servo.setPosition(1,30); 66 | if(error !=0) 67 | { 68 | Serial.print("rx_packet_error:"); 69 | Serial.println(error); 70 | } 71 | delay(1200); 72 | error = servo.setPosition(1,90); 73 | if(error !=0) 74 | { 75 | Serial.print("rx_packet_error:"); 76 | Serial.println(error); 77 | } 78 | delay(1200); 79 | 80 | 81 | ++counter; 82 | velocity = 2*velocity; 83 | if(counter>=5) 84 | { 85 | error = servo.disableTorque(1); 86 | if(error !=0) 87 | { 88 | Serial.print("rx_packet_error:"); 89 | Serial.println(error); 90 | } 91 | M5.Power.powerOFF(); 92 | } 93 | delay(100); 94 | } 95 | -------------------------------------------------------------------------------- /Arduino/M5StackFireTest/WritePositionVelocityCurrentPWM/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/NrnVyZCxxQo 2 | -------------------------------------------------------------------------------- /Arduino/M5StickCPlusTest/Haptic/Haptic.ino: -------------------------------------------------------------------------------- 1 | #include "MyServoProtocol2.h" 2 | MyServoProtocol2 servo(500000); 3 | int error = 0; 4 | 5 | void setup() { 6 | M5.begin(); 7 | M5.Power.begin(); 8 | M5.Lcd.fillScreen(BLACK); 9 | M5.Lcd.setTextColor(GREEN , BLACK); 10 | M5.Lcd.setTextSize(5); 11 | 12 | 13 | // read EEPROM 14 | uint16_t Kp = 0; 15 | servo.readWordCommand(1,0x2A,1,&Kp,0); 16 | Serial.println(Kp); 17 | // read EEPROM 18 | servo.readWordCommand(2,0x2A,1,&Kp,0); 19 | Serial.println(Kp); 20 | // Backup Kp = 2000 (factory) 21 | // lower K for extreme compliance 22 | Kp = 500; 23 | // uncomment here to set Kp to 500 24 | //servo.writeWordCommand(1,0x2A,1,&Kp,500,0); 25 | //servo.writeWordCommand(2,0x2A,1,&Kp,500,0); 26 | // uncomment here to set Kp back to 2000 27 | //servo.writeWordCommand(1,0x2A,1,&Kp,2000,0); 28 | //servo.writeWordCommand(2,0x2A,1,&Kp,2000,0); 29 | 30 | 31 | // enable torque servo ID=1 32 | error = servo.enableTorque(1); 33 | if(error !=0) 34 | { 35 | Serial.print("rx_packet_error:"); 36 | Serial.println(error); 37 | } 38 | // disable torque servo ID=2 39 | error = servo.enableTorque(2); 40 | if(error !=0) 41 | { 42 | Serial.print("rx_packet_error:"); 43 | Serial.println(error); 44 | } 45 | // switch to "velocity-profil current based position control" operating mode 46 | error = servo.setMode(1,2); 47 | if(error !=0) 48 | { 49 | Serial.print("rx_packet_error:"); 50 | Serial.println(error); 51 | } 52 | // switch to "velocity-profil current based position control" operating mode 53 | error = servo.setMode(2,2); 54 | if(error !=0) 55 | { 56 | Serial.print("rx_packet_error:"); 57 | Serial.println(error); 58 | } 59 | // read servo ID1 position 60 | float present_position_1 = servo.getPosition(1,&error); 61 | if(error !=0) 62 | { 63 | Serial.print("rx_packet_error:"); 64 | Serial.println(error); 65 | } 66 | // read servo ID2 position 67 | float present_position_2 = servo.getPosition(2,&error); 68 | if(error !=0) 69 | { 70 | Serial.print("rx_packet_error:"); 71 | Serial.println(error); 72 | } 73 | float goal_position = (present_position_1+present_position_2)/2; 74 | // set servo ID1 position to present position, and limit velocity by 400 dps, motor current by 50mA and PWM ratio do 99% maximum 75 | error = servo.setPositionVelocityCurrentPWM(1,goal_position,400,250,99); 76 | if(error !=0) 77 | { 78 | Serial.print("rx_packet_error:"); 79 | Serial.println(error); 80 | } 81 | // set servo ID2 position to present position, and limit velocity by 400 dps, motor current by 50mA and PWM ratio do 99% maximum 82 | error = servo.setPositionVelocityCurrentPWM(2,goal_position,400,250,99); 83 | if(error !=0) 84 | { 85 | Serial.print("rx_packet_error:"); 86 | Serial.println(error); 87 | } 88 | M5.Lcd.setCursor(0, 0); 89 | M5.Lcd.printf("Haptic"); 90 | M5.Lcd.setCursor(0, 50); 91 | M5.Lcd.printf("Compliance"); 92 | } 93 | 94 | void loop() { 95 | delay(2); 96 | float present_position_1 = servo.getPosition(1,&error); 97 | if(error !=0) 98 | { 99 | Serial.print("rx_packet_error:"); 100 | Serial.println(error); 101 | } 102 | float present_position_2 = servo.getPosition(2,&error); 103 | if(error !=0) 104 | { 105 | Serial.print("rx_packet_error:"); 106 | Serial.println(error); 107 | } 108 | float goal_position = (present_position_1+present_position_2)/2; 109 | error = servo.setPosition(1,goal_position); 110 | if(error !=0) 111 | { 112 | Serial.print("rx_packet_error:"); 113 | Serial.println(error); 114 | } 115 | error = servo.setPosition(2,goal_position); 116 | if(error !=0) 117 | { 118 | Serial.print("rx_packet_error:"); 119 | Serial.println(error); 120 | } 121 | M5.Lcd.setCursor(0, 100); 122 | M5.Lcd.printf("S1<->S2"); 123 | M5.Lcd.setCursor(0, 150); 124 | M5.Lcd.printf("%3.0f*->%3.0f*",present_position_1,present_position_2); 125 | M5.Lcd.setCursor(0, 200); 126 | M5.Lcd.printf("Goal:%3.0fmA",goal_position); 127 | //Serial.print("."); 128 | } 129 | -------------------------------------------------------------------------------- /Arduino/M5StickCPlusTest/Haptic/IMG20210123140623.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Arduino/M5StickCPlusTest/Haptic/IMG20210123140623.jpg -------------------------------------------------------------------------------- /Arduino/M5StickCPlusTest/Haptic/readme.txt: -------------------------------------------------------------------------------- 1 | https://youtu.be/JIG2YbpTYrE -------------------------------------------------------------------------------- /ControlBoard/CASE/Assemblage.SLDASM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/Assemblage.SLDASM -------------------------------------------------------------------------------- /ControlBoard/CASE/IMG20210108184915.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/IMG20210108184915.jpg -------------------------------------------------------------------------------- /ControlBoard/CASE/IMG20210108185039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/IMG20210108185039.jpg -------------------------------------------------------------------------------- /ControlBoard/CASE/PCB.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/PCB.SLDPRT -------------------------------------------------------------------------------- /ControlBoard/CASE/case.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/case.SLDPRT -------------------------------------------------------------------------------- /ControlBoard/CASE/caseBOTTOM.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/caseBOTTOM.STL -------------------------------------------------------------------------------- /ControlBoard/CASE/caseTOP.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/CASE/caseTOP.STL -------------------------------------------------------------------------------- /ControlBoard/MECA/Arm.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/MECA/Arm.SLDPRT -------------------------------------------------------------------------------- /ControlBoard/MECA/Arm.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/MECA/Arm.STL -------------------------------------------------------------------------------- /ControlBoard/MECA/supportMicro.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/MECA/supportMicro.SLDPRT -------------------------------------------------------------------------------- /ControlBoard/V1/BOM_SMSMod_2021-01-05.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/BOM_SMSMod_2021-01-05.csv -------------------------------------------------------------------------------- /ControlBoard/V1/CaptureBOTTOM.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/CaptureBOTTOM.PNG -------------------------------------------------------------------------------- /ControlBoard/V1/CaptureLayers.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/CaptureLayers.PNG -------------------------------------------------------------------------------- /ControlBoard/V1/CaptureTOP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/CaptureTOP.PNG -------------------------------------------------------------------------------- /ControlBoard/V1/JLCPCB/2941402A_Y14.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/JLCPCB/2941402A_Y14.rar -------------------------------------------------------------------------------- /ControlBoard/V1/JLCPCB/827ec9ba3ddc46f5bbd335722c29b47f_1608748205000.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/JLCPCB/827ec9ba3ddc46f5bbd335722c29b47f_1608748205000.rar -------------------------------------------------------------------------------- /ControlBoard/V1/JLCPCB/BOM_MyServoShrinck3_2020-12-23_19-29-26 (1).csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/JLCPCB/BOM_MyServoShrinck3_2020-12-23_19-29-26 (1).csv -------------------------------------------------------------------------------- /ControlBoard/V1/JLCPCB/CaptureOrder.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/JLCPCB/CaptureOrder.PNG -------------------------------------------------------------------------------- /ControlBoard/V1/JLCPCB/PickAndPlace_PCB_2020-10-13_13-24-16 copy_2020-12-.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/JLCPCB/PickAndPlace_PCB_2020-10-13_13-24-16 copy_2020-12-.csv -------------------------------------------------------------------------------- /ControlBoard/V1/PickAndPlace_SMSMod_2021-01-05.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/PickAndPlace_SMSMod_2021-01-05.csv -------------------------------------------------------------------------------- /ControlBoard/V1/STM32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/STM32.png -------------------------------------------------------------------------------- /ControlBoard/V1/STM32i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/STM32i.png -------------------------------------------------------------------------------- /ControlBoard/V1/Schematic_SMSMod_2021-01-05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V1/Schematic_SMSMod_2021-01-05.pdf -------------------------------------------------------------------------------- /ControlBoard/V2/BOM_Smarter Micro Servo MOD_2021-01-22.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/BOM_Smarter Micro Servo MOD_2021-01-22.csv -------------------------------------------------------------------------------- /ControlBoard/V2/CaptureBOTTOM.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/CaptureBOTTOM.PNG -------------------------------------------------------------------------------- /ControlBoard/V2/CaptureBOTTOM3d.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/CaptureBOTTOM3d.PNG -------------------------------------------------------------------------------- /ControlBoard/V2/CaptureTOP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/CaptureTOP.PNG -------------------------------------------------------------------------------- /ControlBoard/V2/CaptureTOP3d.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/CaptureTOP3d.PNG -------------------------------------------------------------------------------- /ControlBoard/V2/PickAndPlace_SMSMod_2021-01-22.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/PickAndPlace_SMSMod_2021-01-22.csv -------------------------------------------------------------------------------- /ControlBoard/V2/Schematic_Smarter Micro Servo MOD_2021-01-22.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlBoard/V2/Schematic_Smarter Micro Servo MOD_2021-01-22.pdf -------------------------------------------------------------------------------- /ControlFirmware/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | STM32G431KBx 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | clean,full,incremental, 11 | 12 | 13 | 14 | 15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 16 | full,incremental, 17 | 18 | 19 | 20 | 21 | 22 | com.st.stm32cube.ide.mcu.MCUProjectNature 23 | com.st.stm32cube.ide.mcu.MCUCubeProjectNature 24 | org.eclipse.cdt.core.cnature 25 | com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature 26 | com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature 27 | com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature 28 | com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature 29 | com.st.stm32cube.ide.mcu.MCURootProjectNature 30 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 31 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature 32 | 33 | 34 | -------------------------------------------------------------------------------- /ControlFirmware/.settings/language.settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ControlFirmware/.settings/stm32cubeide.project.prefs: -------------------------------------------------------------------------------- 1 | 8DF89ED150041C4CBC7CB9A9CAA90856=644CED9F07754E26FF20CA43853538EC 2 | DC22A860405A8BF2F2C095E5B6529F12=644CED9F07754E26FF20CA43853538EC 3 | eclipse.preferences.version=1 4 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/binary_tool.h: -------------------------------------------------------------------------------- 1 | /* 2 | * binary_tool.h 3 | * 4 | * Created on: 27 sept. 2020 5 | * Author: patrick 6 | */ 7 | 8 | #ifndef INC_BINARY_TOOL_H_ 9 | #define INC_BINARY_TOOL_H_ 10 | 11 | #define LOW_BYTE(x) ((unsigned char)((x)&0xFF)) 12 | #define HIGH_BYTE(x) ((unsigned char)(((x)>>8)&0xFF)) 13 | #define MAKE_SHORT(l,h) (((uint16_t)((h)&0xFF)<<8) | (uint16_t)((l)&0xFF)) 14 | 15 | #endif /* INC_BINARY_TOOL_H_ */ 16 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/control_algo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * control_algo.h 3 | * 4 | * Created on: 6 nov. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef INC_CONTROL_ALGO_H_ 9 | #define INC_CONTROL_ALGO_H_ 10 | 11 | #include "stm32g4xx_hal.h" 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | void APP_Control_Init(); 18 | void APP_Control_Process(); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | 25 | #endif /* INC_CONTROL_ALGO_H_ */ 26 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/eeprom.h: -------------------------------------------------------------------------------- 1 | /* 2 | * eeprom.h 3 | * 4 | * Created on: 13 déc. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef INC_EEPROM_H_ 9 | #define INC_EEPROM_H_ 10 | 11 | #include 12 | #include "stm32g4xx_hal.h" 13 | 14 | bool eeprom_empty(); 15 | HAL_StatusTypeDef eeprom_restore(uint8_t * regs, uint32_t size); // size must be 64 bits aligned 16 | HAL_StatusTypeDef eeprom_store(uint8_t const * regs, uint32_t size); // size must be 64 bits aligned 17 | 18 | uint8_t const * eeprom_base_address(); 19 | 20 | #endif /* INC_EEPROM_H_ */ 21 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/led.h: -------------------------------------------------------------------------------- 1 | /* 2 | * led.h 3 | * 4 | * Created on: 25 d�c. 2015 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef APPLICATION_USER_HAL_LED_H_ 9 | #define APPLICATION_USER_HAL_LED_H_ 10 | 11 | 12 | /* Includes ------------------------------------------------------------------*/ 13 | #include "stm32g4xx_hal.h" 14 | #include "main.h" 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | /* HAL settings ------------------------------------------------------------------*/ 21 | 22 | enum LED_ID 23 | { 24 | LED0 = 0, 25 | LED_COUNT 26 | }; 27 | 28 | static uint16_t const hal_led_id_to_pin[LED_COUNT] = { 29 | LED0_Pin, 30 | }; 31 | 32 | static GPIO_TypeDef * const hal_led_id_to_port[LED_COUNT] = { 33 | LED0_GPIO_Port, 34 | }; 35 | 36 | /* HAL Public Data ------------------------------------------------------------------*/ 37 | 38 | enum LED_STATE 39 | { 40 | LED_OFF = 0, 41 | LED_ON = 1 42 | }; 43 | 44 | /* HAL Functions ------------------------------------------------------------------*/ 45 | 46 | void HAL_Led_Init(void); 47 | void HAL_Led_Process(void); 48 | 49 | void HAL_Led_Set(int id); 50 | void HAL_Led_Reset(int id); 51 | void HAL_Led_Toggle(int id); 52 | 53 | int HAL_Led_Get(int id); 54 | 55 | void HAL_Led_Blink(int id, int times, int period_ms); // times = 0 ==> non stop blinking 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /* APPLICATION_USER_HAL_LED_H_ */ 62 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/main.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file : main.h 5 | * @brief : Header for main.c file. 6 | * This file contains the common defines of the application. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2021 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under BSD 3-Clause license, 14 | * the "License"; You may not use this file except in compliance with the 15 | * License. You may obtain a copy of the License at: 16 | * opensource.org/licenses/BSD-3-Clause 17 | * 18 | ****************************************************************************** 19 | */ 20 | /* USER CODE END Header */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __MAIN_H 24 | #define __MAIN_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "stm32g4xx_hal.h" 32 | 33 | /* Private includes ----------------------------------------------------------*/ 34 | /* USER CODE BEGIN Includes */ 35 | 36 | /* USER CODE END Includes */ 37 | 38 | /* Exported types ------------------------------------------------------------*/ 39 | /* USER CODE BEGIN ET */ 40 | 41 | /* USER CODE END ET */ 42 | 43 | /* Exported constants --------------------------------------------------------*/ 44 | /* USER CODE BEGIN EC */ 45 | 46 | /* USER CODE END EC */ 47 | 48 | /* Exported macro ------------------------------------------------------------*/ 49 | /* USER CODE BEGIN EM */ 50 | 51 | /* USER CODE END EM */ 52 | 53 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 54 | 55 | /* Exported functions prototypes ---------------------------------------------*/ 56 | void Error_Handler(void); 57 | 58 | /* USER CODE BEGIN EFP */ 59 | 60 | /* USER CODE END EFP */ 61 | 62 | /* Private defines -----------------------------------------------------------*/ 63 | #define LED0_Pin GPIO_PIN_11 64 | #define LED0_GPIO_Port GPIOA 65 | #define UART2_DIR_TX_Pin GPIO_PIN_12 66 | #define UART2_DIR_TX_GPIO_Port GPIOA 67 | #define UART2_DIR_RX_Pin GPIO_PIN_4 68 | #define UART2_DIR_RX_GPIO_Port GPIOB 69 | #define FAULT_Pin GPIO_PIN_5 70 | #define FAULT_GPIO_Port GPIOB 71 | /* USER CODE BEGIN Private defines */ 72 | 73 | /* USER CODE END Private defines */ 74 | 75 | #ifdef __cplusplus 76 | } 77 | #endif 78 | 79 | #endif /* __MAIN_H */ 80 | 81 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 82 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/math_tool.h: -------------------------------------------------------------------------------- 1 | /* 2 | * math_tool.h 3 | * 4 | * Created on: 4 nov. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef INC_MATH_TOOL_H_ 9 | #define INC_MATH_TOOL_H_ 10 | 11 | #include "stm32g4xx_hal.h" 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | int32_t constrain(int32_t x, int32_t min, int32_t max); 18 | float fconstrain(float x, float min, float max); 19 | uint32_t map(uint32_t x, uint32_t in_min, uint32_t in_max, uint32_t out_min, uint32_t out_max); 20 | float fmap(float x, float in_min, float in_max, float out_min, float out_max); 21 | 22 | #endif /* INC_MATH_TOOL_H_ */ 23 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/pid.h: -------------------------------------------------------------------------------- 1 | /* 2 | * pid.h 3 | * 4 | * Created on: 16 nov. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef INC_PID_H_ 9 | #define INC_PID_H_ 10 | 11 | #include "stm32g4xx_hal.h" 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | #define PID_INTEGRAL_DEPTH 100 18 | 19 | typedef struct{ 20 | float err_last_one; 21 | float err_integral; 22 | float derivative_filtered; 23 | 24 | } pid_context_t; 25 | 26 | void pid_reset( pid_context_t * ctx ); 27 | 28 | float pid_process_antiwindup_clamp_with_ff( 29 | pid_context_t * ctx, 30 | float error, 31 | float kp, 32 | float ki, 33 | float kd, 34 | float output_limit, 35 | float alpha_derivative, 36 | float feed_forward 37 | ); 38 | 39 | 40 | float pid_process_antiwindup_clamp( 41 | pid_context_t * ctx, 42 | float error, 43 | float kp, 44 | float ki, 45 | float kd, 46 | float output_limit, 47 | float alpha_derivative 48 | ); 49 | 50 | float pid_process_antiwindup_back_calculation( 51 | pid_context_t * ctx, 52 | float error, 53 | float kp, 54 | float ki, 55 | float kd, 56 | float output_limit, 57 | float kt, 58 | float alpha_derivative 59 | ); 60 | 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif /* INC_PID_H_ */ 67 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/protocol.h: -------------------------------------------------------------------------------- 1 | /* 2 | * protocol.h 3 | * 4 | * Created on: 4 nov. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef INC_PROTOCOL_H_ 9 | #define INC_PROTOCOL_H_ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #include "stm32g4xx_hal.h" 16 | 17 | uint16_t updateCRC(uint16_t crc_accum, uint8_t *data_blk_ptr, uint16_t data_blk_size); 18 | void packet_encapsulate(uint32_t payload_status_length); 19 | void instruction_handler(); 20 | void packet_handler(char c); 21 | 22 | 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif /* INC_PROTOCOL_H_ */ 29 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/serial.h: -------------------------------------------------------------------------------- 1 | /* 2 | * serial.h 3 | * 4 | * Created on: 29 nov. 2015 5 | * Author: Patrick 6 | */ 7 | 8 | #ifndef HAL_SERIAL_H_ 9 | #define HAL_SERIAL_H_ 10 | 11 | #include "stm32g4xx_hal.h" 12 | #include "stdbool.h" 13 | 14 | /* HAL Public Data ------------------------------------------------------------------*/ 15 | /* 16 | #define size_of_tx_pool 16 17 | #define size_of_tx_buffer 1600 18 | #define size_of_rx_circular_buffer 16000 19 | */ 20 | 21 | #define size_of_tx_pool 32 22 | #define size_of_tx_buffer 256 23 | #define size_of_rx_circular_buffer 2048 24 | 25 | /* 26 | #define size_of_tx_pool 32 27 | #define size_of_tx_buffer 1600 28 | #define size_of_rx_circular_buffer 32000 29 | */ 30 | 31 | typedef struct 32 | { 33 | uint8_t data[size_of_tx_buffer]; 34 | uint32_t length; 35 | } tx_buffer; 36 | 37 | typedef struct 38 | { 39 | UART_HandleTypeDef * huart; 40 | 41 | tx_buffer tx_buffer_pool[size_of_tx_pool]; 42 | uint32_t tx_head_position; 43 | uint32_t tx_tail_position; 44 | volatile uint32_t tx_dma; 45 | 46 | uint8_t rx_circular_buffer[size_of_rx_circular_buffer]; 47 | uint8_t const * rx_tail_ptr; 48 | 49 | // for half duplex serial, DIR TX and RX signals 50 | bool half_duplex; 51 | GPIO_TypeDef *GPIOx_DIR_TX; 52 | uint16_t GPIO_Pin_DIR_TX; 53 | GPIO_PinState PinState_DIR_TX; 54 | GPIO_TypeDef *GPIOx_DIR_RX; 55 | uint16_t GPIO_Pin_DIR_RX; 56 | GPIO_PinState PinState_DIR_RX; 57 | 58 | } HAL_Serial_Handler; 59 | 60 | #define HAL_Serial_Handler_Count 1 61 | 62 | /* HAL Functions ------------------------------------------------------------------*/ 63 | 64 | void HAL_Serial_Init(UART_HandleTypeDef * huart, HAL_Serial_Handler * hserial); 65 | void HAL_Serial_Init_Half_Duplex( 66 | UART_HandleTypeDef * huart, 67 | HAL_Serial_Handler * hserial, 68 | GPIO_TypeDef *GPIOx_TX, 69 | uint16_t GPIO_Pin_TX, 70 | GPIO_PinState PinState_TX, 71 | GPIO_TypeDef *GPIOx_RX, 72 | uint16_t GPIO_Pin_RX, 73 | GPIO_PinState PinState_RX 74 | ); 75 | int HAL_Serial_Available(HAL_Serial_Handler * hserial); 76 | char HAL_Serial_GetChar(HAL_Serial_Handler * hserial); 77 | int HAL_Serial_Read(HAL_Serial_Handler * hserial, uint8_t * ptr, int len ); 78 | int HAL_Serial_Write(HAL_Serial_Handler * hserial, uint8_t const * ptr, int len ); 79 | int HAL_Serial_Print(HAL_Serial_Handler * hserial,const char *fmt, ...); 80 | 81 | /* HAL Functions ------------------------------------------------------------------*/ 82 | 83 | 84 | #endif /* HAL_SERIAL_H_ */ 85 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Inc/stm32g4xx_it.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file stm32g4xx_it.h 5 | * @brief This file contains the headers of the interrupt handlers. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __STM32G4xx_IT_H 23 | #define __STM32G4xx_IT_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Private includes ----------------------------------------------------------*/ 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* Exported types ------------------------------------------------------------*/ 35 | /* USER CODE BEGIN ET */ 36 | 37 | /* USER CODE END ET */ 38 | 39 | /* Exported constants --------------------------------------------------------*/ 40 | /* USER CODE BEGIN EC */ 41 | 42 | /* USER CODE END EC */ 43 | 44 | /* Exported macro ------------------------------------------------------------*/ 45 | /* USER CODE BEGIN EM */ 46 | 47 | /* USER CODE END EM */ 48 | 49 | /* Exported functions prototypes ---------------------------------------------*/ 50 | void NMI_Handler(void); 51 | void HardFault_Handler(void); 52 | void MemManage_Handler(void); 53 | void BusFault_Handler(void); 54 | void UsageFault_Handler(void); 55 | void SVC_Handler(void); 56 | void DebugMon_Handler(void); 57 | void PendSV_Handler(void); 58 | void SysTick_Handler(void); 59 | void DMA1_Channel1_IRQHandler(void); 60 | void DMA1_Channel2_IRQHandler(void); 61 | void DMA1_Channel3_IRQHandler(void); 62 | void ADC1_2_IRQHandler(void); 63 | void TIM4_IRQHandler(void); 64 | void USART2_IRQHandler(void); 65 | /* USER CODE BEGIN EFP */ 66 | 67 | /* USER CODE END EFP */ 68 | 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | 73 | #endif /* __STM32G4xx_IT_H */ 74 | 75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 76 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Src/eeprom.c: -------------------------------------------------------------------------------- 1 | /* 2 | * eeprom.c 3 | * 4 | * Created on: 13 déc. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #include "eeprom.h" 9 | #include 10 | 11 | static uint32_t const page_nb = 63U; //(uint32_t)FLASH_PAGE_NB-1; 12 | static uint32_t const start_address = 0x08000000UL+63*0x800U; //(FLASH_BASE)+page_nb*(FLASH_PAGE_SIZE); 13 | 14 | uint8_t const * eeprom_base_address() 15 | { 16 | return (uint8_t*)start_address; 17 | } 18 | 19 | bool eeprom_empty() 20 | { 21 | return *(uint32_t*)(start_address)==0xFFFFFFFF; 22 | } 23 | 24 | HAL_StatusTypeDef eeprom_restore(uint8_t * regs, uint32_t size) 25 | { 26 | memcpy(regs,(uint8_t const*)start_address,size); 27 | return HAL_OK; 28 | } 29 | 30 | HAL_StatusTypeDef eeprom_store(uint8_t const * regs, uint32_t size) 31 | { 32 | HAL_FLASH_Unlock(); 33 | // erase the last page of bank1 (STM32G43x : 1 bank, 64 pages, 2kB per page, 64-bit data) 34 | { 35 | FLASH_EraseInitTypeDef erase = 36 | { 37 | FLASH_TYPEERASE_PAGES, 38 | FLASH_BANK_1, 39 | page_nb, 40 | 1 41 | }; 42 | uint32_t page_error = 0; 43 | HAL_StatusTypeDef result = HAL_FLASHEx_Erase(&erase, &page_error); 44 | if(result!=HAL_OK) 45 | { 46 | HAL_FLASH_Lock(); 47 | return result; 48 | } 49 | } 50 | // write the last page 51 | { 52 | uint64_t data = 0xDEADBEEF; 53 | for(uint32_t index=0; indexmax) 15 | return max; 16 | else 17 | return x; 18 | } 19 | 20 | float fconstrain(float x, float min, float max) 21 | { 22 | if(xmax) 25 | return max; 26 | else 27 | return x; 28 | } 29 | 30 | uint32_t map(uint32_t x, uint32_t in_min, uint32_t in_max, uint32_t out_min, uint32_t out_max) 31 | { 32 | if(x<=in_min) 33 | return out_min; 34 | else if(x>=in_max) 35 | return out_max; 36 | else 37 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 38 | } 39 | 40 | float fmap(float x, float in_min, float in_max, float out_min, float out_max) 41 | { 42 | if(x<=in_min) 43 | return out_min; 44 | else if(x>=in_max) 45 | return out_max; 46 | else 47 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 48 | } 49 | 50 | 51 | #ifdef __cplusplus 52 | } 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Src/pic.c: -------------------------------------------------------------------------------- 1 | /* 2 | * pic.c 3 | * 4 | * Created on: 16 nov. 2020 5 | * Author: Patrick 6 | */ 7 | 8 | #include "pid.h" 9 | #include 10 | #include 11 | #include "math_tool.h" 12 | 13 | void pid_reset( pid_context_t * ctx ) 14 | { 15 | ctx->err_last_one = 0.0f; 16 | ctx->err_integral = 0.0f; 17 | ctx->derivative_filtered = 0.0f; 18 | } 19 | 20 | float pid_process_antiwindup_clamp_with_ff( 21 | pid_context_t * ctx, 22 | float error, 23 | float kp, 24 | float ki, 25 | float kd, 26 | float output_limit, 27 | float alpha_derivative, 28 | float feed_forward 29 | ) 30 | { 31 | // filter derivative 32 | ctx->derivative_filtered = alpha_derivative*(error-ctx->err_last_one)+(1.0f-alpha_derivative)*ctx->derivative_filtered; 33 | // update derivative state 34 | ctx->err_last_one = error; 35 | // PID 36 | float const p_term = kp*error; 37 | float const i_term = ctx->err_integral; 38 | float const d_term = kd*ctx->derivative_filtered; 39 | // compute output before saturation 40 | float const v = p_term + i_term + d_term + feed_forward; 41 | // saturation 42 | float const u = fconstrain(v,-output_limit,output_limit); 43 | // output saturating 44 | bool saturating = (u!=v); 45 | // error and output same sign 46 | bool sign = (error*v >= 0); 47 | // zero 48 | bool clamp = saturating && sign; 49 | if(!clamp) 50 | ctx->err_integral = ctx->err_integral + ki*error; 51 | // output 52 | return u; 53 | } 54 | 55 | float pid_process_antiwindup_clamp( 56 | pid_context_t * ctx, 57 | float error, 58 | float kp, 59 | float ki, 60 | float kd, 61 | float output_limit, 62 | float alpha_derivative 63 | ) 64 | { 65 | // filter derivative 66 | ctx->derivative_filtered = alpha_derivative*(error-ctx->err_last_one)+(1.0f-alpha_derivative)*ctx->derivative_filtered; 67 | // update derivative state 68 | ctx->err_last_one = error; 69 | // PID 70 | float const p_term = kp*error; 71 | float const i_term = ctx->err_integral; 72 | float const d_term = kd*ctx->derivative_filtered; 73 | // compute output before saturation 74 | float const v = p_term + i_term + d_term; 75 | // saturation 76 | float const u = fconstrain(v,-output_limit,output_limit); 77 | // output saturating 78 | bool saturating = (u!=v); 79 | // error and output same sign 80 | bool sign = (error*v >= 0); 81 | // zero 82 | bool clamp = saturating && sign; 83 | if(!clamp) 84 | ctx->err_integral = ctx->err_integral + ki*error; 85 | // output 86 | return u; 87 | } 88 | 89 | float pid_process_antiwindup_back_calculation( 90 | pid_context_t * ctx, 91 | float error, 92 | float kp, 93 | float ki, 94 | float kd, 95 | float output_limit, 96 | float kt, 97 | float alpha_derivative 98 | ) 99 | { 100 | // filter derivative 101 | ctx->derivative_filtered = alpha_derivative*(error-ctx->err_last_one)+(1.0f-alpha_derivative)*ctx->derivative_filtered; 102 | // update derivative state 103 | ctx->err_last_one = error; 104 | // PID 105 | float const p_term = kp*error; 106 | float const i_term = ctx->err_integral; 107 | float const d_term = kd*ctx->derivative_filtered; 108 | // compute output before saturation 109 | float const v = p_term + i_term + d_term; 110 | // saturation 111 | float const u = fconstrain(v,-output_limit,output_limit); 112 | // compute delta saturation 113 | float const e = u-v; 114 | // compute feedback 115 | float i_feedback = e*kt; 116 | // update integral state 117 | ctx->err_integral = ctx->err_integral + ki*error + i_feedback; 118 | // output 119 | return u; 120 | } 121 | 122 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Src/syscalls.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file syscalls.c 4 | * @author Auto-generated by STM32CubeIDE 5 | * @brief STM32CubeIDE Minimal System calls file 6 | * 7 | * For more information about which c-functions 8 | * need which of these lowlevel functions 9 | * please consult the Newlib libc-manual 10 | ****************************************************************************** 11 | * @attention 12 | * 13 | *

© Copyright (c) 2020 STMicroelectronics. 14 | * All rights reserved.

15 | * 16 | * This software component is licensed by ST under BSD 3-Clause license, 17 | * the "License"; You may not use this file except in compliance with the 18 | * License. You may obtain a copy of the License at: 19 | * opensource.org/licenses/BSD-3-Clause 20 | * 21 | ****************************************************************************** 22 | */ 23 | 24 | /* Includes */ 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | 35 | /* Variables */ 36 | //#undef errno 37 | extern int errno; 38 | extern int __io_putchar(int ch) __attribute__((weak)); 39 | extern int __io_getchar(void) __attribute__((weak)); 40 | 41 | register char * stack_ptr asm("sp"); 42 | 43 | char *__env[1] = { 0 }; 44 | char **environ = __env; 45 | 46 | 47 | /* Functions */ 48 | void initialise_monitor_handles() 49 | { 50 | } 51 | 52 | int _getpid(void) 53 | { 54 | return 1; 55 | } 56 | 57 | int _kill(int pid, int sig) 58 | { 59 | errno = EINVAL; 60 | return -1; 61 | } 62 | 63 | void _exit (int status) 64 | { 65 | _kill(status, -1); 66 | while (1) {} /* Make sure we hang here */ 67 | } 68 | 69 | __attribute__((weak)) int _read(int file, char *ptr, int len) 70 | { 71 | int DataIdx; 72 | 73 | for (DataIdx = 0; DataIdx < len; DataIdx++) 74 | { 75 | *ptr++ = __io_getchar(); 76 | } 77 | 78 | return len; 79 | } 80 | 81 | __attribute__((weak)) int _write(int file, char *ptr, int len) 82 | { 83 | int DataIdx; 84 | 85 | for (DataIdx = 0; DataIdx < len; DataIdx++) 86 | { 87 | __io_putchar(*ptr++); 88 | } 89 | return len; 90 | } 91 | 92 | int _close(int file) 93 | { 94 | return -1; 95 | } 96 | 97 | 98 | int _fstat(int file, struct stat *st) 99 | { 100 | st->st_mode = S_IFCHR; 101 | return 0; 102 | } 103 | 104 | int _isatty(int file) 105 | { 106 | return 1; 107 | } 108 | 109 | int _lseek(int file, int ptr, int dir) 110 | { 111 | return 0; 112 | } 113 | 114 | int _open(char *path, int flags, ...) 115 | { 116 | /* Pretend like we always fail */ 117 | return -1; 118 | } 119 | 120 | int _wait(int *status) 121 | { 122 | errno = ECHILD; 123 | return -1; 124 | } 125 | 126 | int _unlink(char *name) 127 | { 128 | errno = ENOENT; 129 | return -1; 130 | } 131 | 132 | int _times(struct tms *buf) 133 | { 134 | return -1; 135 | } 136 | 137 | int _stat(char *file, struct stat *st) 138 | { 139 | st->st_mode = S_IFCHR; 140 | return 0; 141 | } 142 | 143 | int _link(char *old, char *new) 144 | { 145 | errno = EMLINK; 146 | return -1; 147 | } 148 | 149 | int _fork(void) 150 | { 151 | errno = EAGAIN; 152 | return -1; 153 | } 154 | 155 | int _execve(char *name, char **argv, char **env) 156 | { 157 | errno = ENOMEM; 158 | return -1; 159 | } 160 | -------------------------------------------------------------------------------- /ControlFirmware/Core/Src/sysmem.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sysmem.c 4 | * @author Generated by STM32CubeIDE 5 | * @brief STM32CubeIDE System Memory calls file 6 | * 7 | * For more information about which C functions 8 | * need which of these lowlevel functions 9 | * please consult the newlib libc manual 10 | ****************************************************************************** 11 | * @attention 12 | * 13 | *

© Copyright (c) 2020 STMicroelectronics. 14 | * All rights reserved.

15 | * 16 | * This software component is licensed by ST under BSD 3-Clause license, 17 | * the "License"; You may not use this file except in compliance with the 18 | * License. You may obtain a copy of the License at: 19 | * opensource.org/licenses/BSD-3-Clause 20 | * 21 | ****************************************************************************** 22 | */ 23 | 24 | /* Includes */ 25 | #include 26 | #include 27 | 28 | /** 29 | * Pointer to the current high watermark of the heap usage 30 | */ 31 | static uint8_t *__sbrk_heap_end = NULL; 32 | 33 | /** 34 | * @brief _sbrk() allocates memory to the newlib heap and is used by malloc 35 | * and others from the C library 36 | * 37 | * @verbatim 38 | * ############################################################################ 39 | * # .data # .bss # newlib heap # MSP stack # 40 | * # # # # Reserved by _Min_Stack_Size # 41 | * ############################################################################ 42 | * ^-- RAM start ^-- _end _estack, RAM end --^ 43 | * @endverbatim 44 | * 45 | * This implementation starts allocating at the '_end' linker symbol 46 | * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack 47 | * The implementation considers '_estack' linker symbol to be RAM end 48 | * NOTE: If the MSP stack, at any point during execution, grows larger than the 49 | * reserved size, please increase the '_Min_Stack_Size'. 50 | * 51 | * @param incr Memory size 52 | * @return Pointer to allocated memory 53 | */ 54 | void *_sbrk(ptrdiff_t incr) 55 | { 56 | extern uint8_t _end; /* Symbol defined in the linker script */ 57 | extern uint8_t _estack; /* Symbol defined in the linker script */ 58 | extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */ 59 | const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; 60 | const uint8_t *max_heap = (uint8_t *)stack_limit; 61 | uint8_t *prev_heap_end; 62 | 63 | /* Initialize heap end at first call */ 64 | if (NULL == __sbrk_heap_end) 65 | { 66 | __sbrk_heap_end = &_end; 67 | } 68 | 69 | /* Protect heap from growing into the reserved MSP stack */ 70 | if (__sbrk_heap_end + incr > max_heap) 71 | { 72 | errno = ENOMEM; 73 | return (void *)-1; 74 | } 75 | 76 | prev_heap_end = __sbrk_heap_end; 77 | __sbrk_heap_end += incr; 78 | 79 | return (void *)prev_heap_end; 80 | } 81 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/ControlFirmware.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/ControlFirmware.bin -------------------------------------------------------------------------------- /ControlFirmware/Debug/ControlFirmware.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/ControlFirmware.elf -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/control_algo.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/control_algo.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/control_algo.su: -------------------------------------------------------------------------------- 1 | control_algo.c:76:6:scale_all_sensors 24 static 2 | control_algo.c:96:6:APP_Control_Reset 8 static 3 | control_algo.c:116:6:APP_Control_Init 8 static 4 | control_algo.c:147:6:APP_Control_Process 248 static 5 | control_algo.c:578:6:HAL_ADC_ConvCpltCallback 16 static 6 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/control_table.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/control_table.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/control_table.su: -------------------------------------------------------------------------------- 1 | control_table.c:16:6:factory_reset_eeprom_regs 8 static 2 | control_table.c:82:6:load_eeprom_regs 8 static 3 | control_table.c:87:6:store_eeprom_regs 8 static 4 | control_table.c:92:6:reset_ram_regs 4 static 5 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/eeprom.d: -------------------------------------------------------------------------------- 1 | Core/Src/eeprom.o: ../Core/Src/eeprom.c ../Core/Inc/eeprom.h \ 2 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h \ 3 | ../Core/Inc/stm32g4xx_hal_conf.h \ 4 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h \ 5 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h \ 6 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h \ 7 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h \ 8 | ../Drivers/CMSIS/Include/core_cm4.h \ 9 | ../Drivers/CMSIS/Include/cmsis_version.h \ 10 | ../Drivers/CMSIS/Include/cmsis_compiler.h \ 11 | ../Drivers/CMSIS/Include/cmsis_gcc.h \ 12 | ../Drivers/CMSIS/Include/mpu_armv7.h \ 13 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h \ 14 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ 15 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h \ 16 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h \ 17 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h \ 18 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h \ 19 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h \ 20 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h \ 21 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h \ 22 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h \ 23 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h \ 24 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h \ 25 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h \ 26 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h \ 27 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h \ 28 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h \ 29 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h \ 30 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h \ 31 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h \ 32 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h \ 33 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h \ 34 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h \ 35 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h 36 | 37 | ../Core/Inc/eeprom.h: 38 | 39 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h: 40 | 41 | ../Core/Inc/stm32g4xx_hal_conf.h: 42 | 43 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h: 44 | 45 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h: 46 | 47 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: 48 | 49 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: 50 | 51 | ../Drivers/CMSIS/Include/core_cm4.h: 52 | 53 | ../Drivers/CMSIS/Include/cmsis_version.h: 54 | 55 | ../Drivers/CMSIS/Include/cmsis_compiler.h: 56 | 57 | ../Drivers/CMSIS/Include/cmsis_gcc.h: 58 | 59 | ../Drivers/CMSIS/Include/mpu_armv7.h: 60 | 61 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: 62 | 63 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: 64 | 65 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h: 66 | 67 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h: 68 | 69 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h: 70 | 71 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h: 72 | 73 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h: 74 | 75 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h: 76 | 77 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h: 78 | 79 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h: 80 | 81 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h: 82 | 83 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h: 84 | 85 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h: 86 | 87 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: 88 | 89 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: 90 | 91 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h: 92 | 93 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: 94 | 95 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h: 96 | 97 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h: 98 | 99 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h: 100 | 101 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h: 102 | 103 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h: 104 | 105 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h: 106 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/eeprom.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/eeprom.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/eeprom.su: -------------------------------------------------------------------------------- 1 | eeprom.c:14:17:eeprom_base_address 4 static 2 | eeprom.c:19:6:eeprom_empty 4 static 3 | eeprom.c:24:19:eeprom_restore 16 static 4 | eeprom.c:30:19:eeprom_store 64 static 5 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/led.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/led.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/led.su: -------------------------------------------------------------------------------- 1 | led.c:22:6:stop_blinking 16 static 2 | led.c:32:6:HAL_Led_Init 16 static 3 | led.c:43:6:HAL_Led_Process 16 static 4 | led.c:77:6:HAL_Led_Set 16 static 5 | led.c:83:6:HAL_Led_Reset 16 static 6 | led.c:89:6:HAL_Led_Toggle 16 static 7 | led.c:98:5:HAL_Led_Get 16 static 8 | led.c:106:6:HAL_Led_Blink 24 static 9 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/main.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/main.su: -------------------------------------------------------------------------------- 1 | main.c:87:5:main 32 static 2 | main.c:178:6:SystemClock_Config 152 static 3 | main.c:233:13:MX_ADC1_Init 56 static 4 | main.c:314:13:MX_OPAMP1_Init 8 static 5 | main.c:348:13:MX_TIM4_Init 64 static 6 | main.c:412:13:MX_TIM15_Init 40 static 7 | main.c:458:13:MX_USART2_UART_Init 48 static 8 | main.c:543:13:MX_DMA_Init 16 static 9 | main.c:568:13:MX_GPIO_Init 40 static 10 | main.c:620:6:Error_Handler 4 static,ignoring_inline_asm 11 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/math_tool.d: -------------------------------------------------------------------------------- 1 | Core/Src/math_tool.o: ../Core/Src/math_tool.c ../Core/Inc/math_tool.h \ 2 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h \ 3 | ../Core/Inc/stm32g4xx_hal_conf.h \ 4 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h \ 5 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h \ 6 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h \ 7 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h \ 8 | ../Drivers/CMSIS/Include/core_cm4.h \ 9 | ../Drivers/CMSIS/Include/cmsis_version.h \ 10 | ../Drivers/CMSIS/Include/cmsis_compiler.h \ 11 | ../Drivers/CMSIS/Include/cmsis_gcc.h \ 12 | ../Drivers/CMSIS/Include/mpu_armv7.h \ 13 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h \ 14 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ 15 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h \ 16 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h \ 17 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h \ 18 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h \ 19 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h \ 20 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h \ 21 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h \ 22 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h \ 23 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h \ 24 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h \ 25 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h \ 26 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h \ 27 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h \ 28 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h \ 29 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h \ 30 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h \ 31 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h \ 32 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h \ 33 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h \ 34 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h \ 35 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h 36 | 37 | ../Core/Inc/math_tool.h: 38 | 39 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h: 40 | 41 | ../Core/Inc/stm32g4xx_hal_conf.h: 42 | 43 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h: 44 | 45 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h: 46 | 47 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: 48 | 49 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: 50 | 51 | ../Drivers/CMSIS/Include/core_cm4.h: 52 | 53 | ../Drivers/CMSIS/Include/cmsis_version.h: 54 | 55 | ../Drivers/CMSIS/Include/cmsis_compiler.h: 56 | 57 | ../Drivers/CMSIS/Include/cmsis_gcc.h: 58 | 59 | ../Drivers/CMSIS/Include/mpu_armv7.h: 60 | 61 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: 62 | 63 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: 64 | 65 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h: 66 | 67 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h: 68 | 69 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h: 70 | 71 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h: 72 | 73 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h: 74 | 75 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h: 76 | 77 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h: 78 | 79 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h: 80 | 81 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h: 82 | 83 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h: 84 | 85 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h: 86 | 87 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: 88 | 89 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: 90 | 91 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h: 92 | 93 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: 94 | 95 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h: 96 | 97 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h: 98 | 99 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h: 100 | 101 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h: 102 | 103 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h: 104 | 105 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h: 106 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/math_tool.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/math_tool.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/math_tool.su: -------------------------------------------------------------------------------- 1 | math_tool.c:10:9:constrain 24 static 2 | math_tool.c:20:7:fconstrain 24 static 3 | math_tool.c:30:10:map 24 static 4 | math_tool.c:40:7:fmap 32 static 5 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/pic.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/pic.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/pic.su: -------------------------------------------------------------------------------- 1 | pic.c:13:6:pid_reset 16 static 2 | pic.c:20:7:pid_process_antiwindup_clamp_with_ff 64 static 3 | pic.c:55:7:pid_process_antiwindup_clamp 64 static 4 | pic.c:89:7:pid_process_antiwindup_back_calculation 72 static 5 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/protocol.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/protocol.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/protocol.su: -------------------------------------------------------------------------------- 1 | protocol.c:15:10:updateCRC 24 static 2 | protocol.c:88:6:packet_encapsulate 24 static 3 | protocol.c:125:6:instruction_handler 56 static 4 | protocol.c:277:6:packet_handler 24 static 5 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/serial.d: -------------------------------------------------------------------------------- 1 | Core/Src/serial.o: ../Core/Src/serial.c ../Core/Inc/serial.h \ 2 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h \ 3 | ../Core/Inc/stm32g4xx_hal_conf.h \ 4 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h \ 5 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h \ 6 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h \ 7 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h \ 8 | ../Drivers/CMSIS/Include/core_cm4.h \ 9 | ../Drivers/CMSIS/Include/cmsis_version.h \ 10 | ../Drivers/CMSIS/Include/cmsis_compiler.h \ 11 | ../Drivers/CMSIS/Include/cmsis_gcc.h \ 12 | ../Drivers/CMSIS/Include/mpu_armv7.h \ 13 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h \ 14 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ 15 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h \ 16 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h \ 17 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h \ 18 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h \ 19 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h \ 20 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h \ 21 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h \ 22 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h \ 23 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h \ 24 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h \ 25 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h \ 26 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h \ 27 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h \ 28 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h \ 29 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h \ 30 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h \ 31 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h \ 32 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h \ 33 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h \ 34 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h \ 35 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h 36 | 37 | ../Core/Inc/serial.h: 38 | 39 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h: 40 | 41 | ../Core/Inc/stm32g4xx_hal_conf.h: 42 | 43 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h: 44 | 45 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h: 46 | 47 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: 48 | 49 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: 50 | 51 | ../Drivers/CMSIS/Include/core_cm4.h: 52 | 53 | ../Drivers/CMSIS/Include/cmsis_version.h: 54 | 55 | ../Drivers/CMSIS/Include/cmsis_compiler.h: 56 | 57 | ../Drivers/CMSIS/Include/cmsis_gcc.h: 58 | 59 | ../Drivers/CMSIS/Include/mpu_armv7.h: 60 | 61 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: 62 | 63 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: 64 | 65 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h: 66 | 67 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h: 68 | 69 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h: 70 | 71 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h: 72 | 73 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h: 74 | 75 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h: 76 | 77 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h: 78 | 79 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h: 80 | 81 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h: 82 | 83 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h: 84 | 85 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h: 86 | 87 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: 88 | 89 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: 90 | 91 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h: 92 | 93 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: 94 | 95 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h: 96 | 97 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h: 98 | 99 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h: 100 | 101 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h: 102 | 103 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h: 104 | 105 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h: 106 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/serial.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/serial.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/serial.su: -------------------------------------------------------------------------------- 1 | serial.c:18:6:HAL_UART_ErrorCallback 16 static 2 | serial.c:32:6:HAL_Serial_Init 16 static 3 | serial.c:59:6:HAL_Serial_Init_Half_Duplex 24 static 4 | serial.c:98:5:HAL_Serial_Available 24 static 5 | serial.c:110:6:HAL_Serial_GetChar 32 static 6 | serial.c:127:5:HAL_Serial_Read 32 static 7 | serial.c:145:5:HAL_Serial_Write 40 static 8 | serial.c:197:6:HAL_UART_TxCpltCallback 24 static 9 | serial.c:248:6:ts_itoa 32 static 10 | serial.c:272:5:ts_formatstring 40 static 11 | serial.c:338:5:ts_formatlength 24 static 12 | serial.c:386:5:HAL_Serial_Print 44 dynamic 13 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/stm32g4xx_hal_msp.d: -------------------------------------------------------------------------------- 1 | Core/Src/stm32g4xx_hal_msp.o: ../Core/Src/stm32g4xx_hal_msp.c \ 2 | ../Core/Inc/main.h ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h \ 3 | ../Core/Inc/stm32g4xx_hal_conf.h \ 4 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h \ 5 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h \ 6 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h \ 7 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h \ 8 | ../Drivers/CMSIS/Include/core_cm4.h \ 9 | ../Drivers/CMSIS/Include/cmsis_version.h \ 10 | ../Drivers/CMSIS/Include/cmsis_compiler.h \ 11 | ../Drivers/CMSIS/Include/cmsis_gcc.h \ 12 | ../Drivers/CMSIS/Include/mpu_armv7.h \ 13 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h \ 14 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ 15 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h \ 16 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h \ 17 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h \ 18 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h \ 19 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h \ 20 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h \ 21 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h \ 22 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h \ 23 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h \ 24 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h \ 25 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h \ 26 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h \ 27 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h \ 28 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h \ 29 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h \ 30 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h \ 31 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h \ 32 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h \ 33 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h \ 34 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h \ 35 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h 36 | 37 | ../Core/Inc/main.h: 38 | 39 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h: 40 | 41 | ../Core/Inc/stm32g4xx_hal_conf.h: 42 | 43 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h: 44 | 45 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h: 46 | 47 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: 48 | 49 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: 50 | 51 | ../Drivers/CMSIS/Include/core_cm4.h: 52 | 53 | ../Drivers/CMSIS/Include/cmsis_version.h: 54 | 55 | ../Drivers/CMSIS/Include/cmsis_compiler.h: 56 | 57 | ../Drivers/CMSIS/Include/cmsis_gcc.h: 58 | 59 | ../Drivers/CMSIS/Include/mpu_armv7.h: 60 | 61 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: 62 | 63 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: 64 | 65 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h: 66 | 67 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h: 68 | 69 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h: 70 | 71 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h: 72 | 73 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h: 74 | 75 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h: 76 | 77 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h: 78 | 79 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h: 80 | 81 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h: 82 | 83 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h: 84 | 85 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h: 86 | 87 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: 88 | 89 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: 90 | 91 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h: 92 | 93 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: 94 | 95 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h: 96 | 97 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h: 98 | 99 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h: 100 | 101 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h: 102 | 103 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h: 104 | 105 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h: 106 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/stm32g4xx_hal_msp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/stm32g4xx_hal_msp.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/stm32g4xx_hal_msp.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_msp.c:71:6:HAL_MspInit 16 static 2 | stm32g4xx_hal_msp.c:97:6:HAL_ADC_MspInit 48 static 3 | stm32g4xx_hal_msp.c:158:6:HAL_ADC_MspDeInit 16 static 4 | stm32g4xx_hal_msp.c:194:6:HAL_OPAMP_MspInit 40 static 5 | stm32g4xx_hal_msp.c:226:6:HAL_OPAMP_MspDeInit 16 static 6 | stm32g4xx_hal_msp.c:253:6:HAL_TIM_Base_MspInit 24 static 7 | stm32g4xx_hal_msp.c:283:6:HAL_TIM_MspPostInit 40 static 8 | stm32g4xx_hal_msp.c:316:6:HAL_TIM_Base_MspDeInit 16 static 9 | stm32g4xx_hal_msp.c:352:6:HAL_UART_MspInit 48 static 10 | stm32g4xx_hal_msp.c:434:6:HAL_UART_MspDeInit 16 static 11 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/stm32g4xx_it.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/stm32g4xx_it.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/stm32g4xx_it.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_it.c:75:6:NMI_Handler 4 static 2 | stm32g4xx_it.c:90:6:HardFault_Handler 4 static 3 | stm32g4xx_it.c:105:6:MemManage_Handler 4 static 4 | stm32g4xx_it.c:120:6:BusFault_Handler 4 static 5 | stm32g4xx_it.c:135:6:UsageFault_Handler 4 static 6 | stm32g4xx_it.c:150:6:SVC_Handler 4 static 7 | stm32g4xx_it.c:163:6:DebugMon_Handler 4 static 8 | stm32g4xx_it.c:176:6:PendSV_Handler 4 static 9 | stm32g4xx_it.c:189:6:SysTick_Handler 8 static 10 | stm32g4xx_it.c:210:6:DMA1_Channel1_IRQHandler 8 static 11 | stm32g4xx_it.c:224:6:DMA1_Channel2_IRQHandler 8 static 12 | stm32g4xx_it.c:238:6:DMA1_Channel3_IRQHandler 8 static 13 | stm32g4xx_it.c:252:6:ADC1_2_IRQHandler 8 static 14 | stm32g4xx_it.c:266:6:TIM4_IRQHandler 8 static 15 | stm32g4xx_it.c:280:6:USART2_IRQHandler 8 static 16 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/syscalls.d: -------------------------------------------------------------------------------- 1 | Core/Src/syscalls.o: ../Core/Src/syscalls.c 2 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/syscalls.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/syscalls.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/syscalls.su: -------------------------------------------------------------------------------- 1 | syscalls.c:48:6:initialise_monitor_handles 4 static 2 | syscalls.c:52:5:_getpid 4 static 3 | syscalls.c:57:5:_kill 16 static 4 | syscalls.c:63:6:_exit 16 static 5 | syscalls.c:69:27:_read 32 static 6 | syscalls.c:81:27:_write 32 static 7 | syscalls.c:92:5:_close 16 static 8 | syscalls.c:98:5:_fstat 16 static 9 | syscalls.c:104:5:_isatty 16 static 10 | syscalls.c:109:5:_lseek 24 static 11 | syscalls.c:114:5:_open 12 static 12 | syscalls.c:120:5:_wait 16 static 13 | syscalls.c:126:5:_unlink 16 static 14 | syscalls.c:132:5:_times 16 static 15 | syscalls.c:137:5:_stat 16 static 16 | syscalls.c:143:5:_link 16 static 17 | syscalls.c:149:5:_fork 8 static 18 | syscalls.c:155:5:_execve 24 static 19 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/sysmem.d: -------------------------------------------------------------------------------- 1 | Core/Src/sysmem.o: ../Core/Src/sysmem.c 2 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/sysmem.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/sysmem.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/sysmem.su: -------------------------------------------------------------------------------- 1 | sysmem.c:54:7:_sbrk 32 static 2 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/system_stm32g4xx.d: -------------------------------------------------------------------------------- 1 | Core/Src/system_stm32g4xx.o: ../Core/Src/system_stm32g4xx.c \ 2 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h \ 3 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h \ 4 | ../Drivers/CMSIS/Include/core_cm4.h \ 5 | ../Drivers/CMSIS/Include/cmsis_version.h \ 6 | ../Drivers/CMSIS/Include/cmsis_compiler.h \ 7 | ../Drivers/CMSIS/Include/cmsis_gcc.h \ 8 | ../Drivers/CMSIS/Include/mpu_armv7.h \ 9 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h \ 10 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h \ 11 | ../Core/Inc/stm32g4xx_hal_conf.h \ 12 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h \ 13 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h \ 14 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ 15 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h \ 16 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h \ 17 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h \ 18 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h \ 19 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h \ 20 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h \ 21 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h \ 22 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h \ 23 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h \ 24 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h \ 25 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h \ 26 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h \ 27 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h \ 28 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h \ 29 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h \ 30 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h \ 31 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h \ 32 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h \ 33 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h \ 34 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h \ 35 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h 36 | 37 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: 38 | 39 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: 40 | 41 | ../Drivers/CMSIS/Include/core_cm4.h: 42 | 43 | ../Drivers/CMSIS/Include/cmsis_version.h: 44 | 45 | ../Drivers/CMSIS/Include/cmsis_compiler.h: 46 | 47 | ../Drivers/CMSIS/Include/cmsis_gcc.h: 48 | 49 | ../Drivers/CMSIS/Include/mpu_armv7.h: 50 | 51 | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: 52 | 53 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h: 54 | 55 | ../Core/Inc/stm32g4xx_hal_conf.h: 56 | 57 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h: 58 | 59 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h: 60 | 61 | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: 62 | 63 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h: 64 | 65 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h: 66 | 67 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h: 68 | 69 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h: 70 | 71 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h: 72 | 73 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h: 74 | 75 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h: 76 | 77 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_adc.h: 78 | 79 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h: 80 | 81 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h: 82 | 83 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h: 84 | 85 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: 86 | 87 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: 88 | 89 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h: 90 | 91 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: 92 | 93 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h: 94 | 95 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h: 96 | 97 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h: 98 | 99 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h: 100 | 101 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h: 102 | 103 | ../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h: 104 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/system_stm32g4xx.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Src/system_stm32g4xx.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Src/system_stm32g4xx.su: -------------------------------------------------------------------------------- 1 | system_stm32g4xx.c:162:6:SystemInit 4 static 2 | system_stm32g4xx.c:213:6:SystemCoreClockUpdate 32 static 3 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Startup/startup_stm32g431kbtx.d: -------------------------------------------------------------------------------- 1 | Core/Startup/startup_stm32g431kbtx.o: \ 2 | ../Core/Startup/startup_stm32g431kbtx.s 3 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Startup/startup_stm32g431kbtx.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Core/Startup/startup_stm32g431kbtx.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Core/Startup/subdir.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | # Add inputs and outputs from these tool invocations to the build variables 6 | S_SRCS += \ 7 | ../Core/Startup/startup_stm32g431kbtx.s 8 | 9 | OBJS += \ 10 | ./Core/Startup/startup_stm32g431kbtx.o 11 | 12 | S_DEPS += \ 13 | ./Core/Startup/startup_stm32g431kbtx.d 14 | 15 | 16 | # Each subdirectory must supply rules for building sources it contributes 17 | Core/Startup/startup_stm32g431kbtx.o: ../Core/Startup/startup_stm32g431kbtx.s 18 | arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -c -x assembler-with-cpp -MMD -MP -MF"Core/Startup/startup_stm32g431kbtx.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<" 19 | 20 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal.c:149:19:HAL_Init 16 static 2 | stm32g4xx_hal.c:193:19:HAL_DeInit 8 static 3 | stm32g4xx_hal.c:222:13:HAL_MspInit 4 static 4 | stm32g4xx_hal.c:233:13:HAL_MspDeInit 4 static 5 | stm32g4xx_hal.c:256:26:HAL_InitTick 24 static 6 | stm32g4xx_hal.c:323:13:HAL_IncTick 4 static 7 | stm32g4xx_hal.c:334:17:HAL_GetTick 4 static 8 | stm32g4xx_hal.c:343:10:HAL_GetTickPrio 4 static 9 | stm32g4xx_hal.c:352:19:HAL_SetTickFreq 24 static 10 | stm32g4xx_hal.c:384:10:HAL_GetTickFreq 4 static 11 | stm32g4xx_hal.c:400:13:HAL_Delay 24 static 12 | stm32g4xx_hal.c:426:13:HAL_SuspendTick 4 static 13 | stm32g4xx_hal.c:442:13:HAL_ResumeTick 4 static 14 | stm32g4xx_hal.c:452:10:HAL_GetHalVersion 4 static 15 | stm32g4xx_hal.c:461:10:HAL_GetREVID 4 static 16 | stm32g4xx_hal.c:470:10:HAL_GetDEVID 4 static 17 | stm32g4xx_hal.c:499:6:HAL_DBGMCU_EnableDBGSleepMode 4 static 18 | stm32g4xx_hal.c:508:6:HAL_DBGMCU_DisableDBGSleepMode 4 static 19 | stm32g4xx_hal.c:517:6:HAL_DBGMCU_EnableDBGStopMode 4 static 20 | stm32g4xx_hal.c:526:6:HAL_DBGMCU_DisableDBGStopMode 4 static 21 | stm32g4xx_hal.c:535:6:HAL_DBGMCU_EnableDBGStandbyMode 4 static 22 | stm32g4xx_hal.c:544:6:HAL_DBGMCU_DisableDBGStandbyMode 4 static 23 | stm32g4xx_hal.c:577:6:HAL_SYSCFG_CCMSRAMErase 4 static 24 | stm32g4xx_hal.c:596:6:HAL_SYSCFG_EnableMemorySwappingBank 4 static 25 | stm32g4xx_hal.c:611:6:HAL_SYSCFG_DisableMemorySwappingBank 4 static 26 | stm32g4xx_hal.c:629:6:HAL_SYSCFG_VREFBUF_VoltageScalingConfig 16 static 27 | stm32g4xx_hal.c:645:6:HAL_SYSCFG_VREFBUF_HighImpedanceConfig 16 static 28 | stm32g4xx_hal.c:659:6:HAL_SYSCFG_VREFBUF_TrimmingConfig 16 static 29 | stm32g4xx_hal.c:671:19:HAL_SYSCFG_EnableVREFBUF 16 static 30 | stm32g4xx_hal.c:697:6:HAL_SYSCFG_DisableVREFBUF 4 static 31 | stm32g4xx_hal.c:708:6:HAL_SYSCFG_EnableIOSwitchBooster 4 static 32 | stm32g4xx_hal.c:718:6:HAL_SYSCFG_DisableIOSwitchBooster 4 static 33 | stm32g4xx_hal.c:728:6:HAL_SYSCFG_EnableIOSwitchVDD 4 static 34 | stm32g4xx_hal.c:738:6:HAL_SYSCFG_DisableIOSwitchVDD 4 static 35 | stm32g4xx_hal.c:749:6:HAL_SYSCFG_CCMSRAM_WriteProtectionEnable 16 static 36 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_ll_adc.h:2729:22:LL_ADC_SetCommonClock 16 static 2 | stm32g4xx_ll_adc.h:2793:22:LL_ADC_SetCommonPathInternalCh 16 static 3 | stm32g4xx_ll_adc.h:2874:26:LL_ADC_GetCommonPathInternalCh 16 static 4 | stm32g4xx_ll_adc.h:3215:22:LL_ADC_SetOffset 32 static 5 | stm32g4xx_ll_adc.h:3298:26:LL_ADC_GetOffsetChannel 24 static 6 | stm32g4xx_ll_adc.h:3357:22:LL_ADC_SetOffsetState 32 static 7 | stm32g4xx_ll_adc.h:3412:22:LL_ADC_SetOffsetSign 32 static 8 | stm32g4xx_ll_adc.h:3467:22:LL_ADC_SetOffsetSaturation 32 static 9 | stm32g4xx_ll_adc.h:3555:22:LL_ADC_SetSamplingTimeCommonConfig 16 static 10 | stm32g4xx_ll_adc.h:3742:26:LL_ADC_REG_IsTriggerSourceSWStart 16 static 11 | stm32g4xx_ll_adc.h:4086:22:LL_ADC_REG_SetSequencerRanks 32 static 12 | stm32g4xx_ll_adc.h:4529:26:LL_ADC_INJ_IsTriggerSourceSWStart 16 static 13 | stm32g4xx_ll_adc.h:5325:22:LL_ADC_SetChannelSamplingTime 32 static 14 | stm32g4xx_ll_adc.h:5490:22:LL_ADC_SetChannelSingleDiff 24 static 15 | stm32g4xx_ll_adc.h:5712:22:LL_ADC_SetAnalogWDMonitChannels 32 static 16 | stm32g4xx_ll_adc.h:5952:22:LL_ADC_ConfigAnalogWDThresholds 32 static 17 | stm32g4xx_ll_adc.h:6377:26:LL_ADC_GetMultimode 16 static 18 | stm32g4xx_ll_adc.h:6474:26:LL_ADC_GetMultiDMATransfer 16 static 19 | stm32g4xx_ll_adc.h:6591:22:LL_ADC_DisableDeepPowerDown 16 static 20 | stm32g4xx_ll_adc.h:6605:26:LL_ADC_IsDeepPowerDownEnabled 16 static 21 | stm32g4xx_ll_adc.h:6624:22:LL_ADC_EnableInternalRegulator 16 static 22 | stm32g4xx_ll_adc.h:6654:26:LL_ADC_IsInternalRegulatorEnabled 16 static 23 | stm32g4xx_ll_adc.h:6675:22:LL_ADC_Enable 16 static 24 | stm32g4xx_ll_adc.h:6695:22:LL_ADC_Disable 16 static 25 | stm32g4xx_ll_adc.h:6714:26:LL_ADC_IsEnabled 16 static 26 | stm32g4xx_ll_adc.h:6725:26:LL_ADC_IsDisableOngoing 16 static 27 | stm32g4xx_ll_adc.h:6800:22:LL_ADC_REG_StartConversion 16 static 28 | stm32g4xx_ll_adc.h:6820:22:LL_ADC_REG_StopConversion 16 static 29 | stm32g4xx_ll_adc.h:6836:26:LL_ADC_REG_IsConversionOngoing 16 static 30 | stm32g4xx_ll_adc.h:7045:22:LL_ADC_INJ_StopConversion 16 static 31 | stm32g4xx_ll_adc.h:7061:26:LL_ADC_INJ_IsConversionOngoing 16 static 32 | stm32g4xx_ll_adc.h:7440:22:LL_ADC_ClearFlag_AWD1 16 static 33 | stm32g4xx_ll_adc.h:7451:22:LL_ADC_ClearFlag_AWD2 16 static 34 | stm32g4xx_ll_adc.h:7462:22:LL_ADC_ClearFlag_AWD3 16 static 35 | stm32g4xx_ll_adc.h:7835:22:LL_ADC_EnableIT_AWD1 16 static 36 | stm32g4xx_ll_adc.h:7846:22:LL_ADC_EnableIT_AWD2 16 static 37 | stm32g4xx_ll_adc.h:7857:22:LL_ADC_EnableIT_AWD3 16 static 38 | stm32g4xx_ll_adc.h:7956:22:LL_ADC_DisableIT_AWD1 16 static 39 | stm32g4xx_ll_adc.h:7967:22:LL_ADC_DisableIT_AWD2 16 static 40 | stm32g4xx_ll_adc.h:7978:22:LL_ADC_DisableIT_AWD3 16 static 41 | stm32g4xx_hal_adc.c:404:19:HAL_ADC_Init 48 static 42 | stm32g4xx_hal_adc.c:723:19:HAL_ADC_DeInit 32 static 43 | stm32g4xx_hal_adc.c:925:13:HAL_ADC_MspInit 16 static 44 | stm32g4xx_hal_adc.c:942:13:HAL_ADC_MspDeInit 16 static 45 | stm32g4xx_hal_adc.c:1231:19:HAL_ADC_Start 32 static 46 | stm32g4xx_hal_adc.c:1366:19:HAL_ADC_Stop 24 static 47 | stm32g4xx_hal_adc.c:1420:19:HAL_ADC_PollForConversion 40 static 48 | stm32g4xx_hal_adc.c:1599:19:HAL_ADC_PollForEvent 32 static 49 | stm32g4xx_hal_adc.c:1744:19:HAL_ADC_Start_IT 32 static 50 | stm32g4xx_hal_adc.c:1951:19:HAL_ADC_Stop_IT 24 static 51 | stm32g4xx_hal_adc.c:2004:19:HAL_ADC_Start_DMA 32 static 52 | stm32g4xx_hal_adc.c:2145:19:HAL_ADC_Stop_DMA 24 static 53 | stm32g4xx_hal_adc.c:2230:10:HAL_ADC_GetValue 16 static 54 | stm32g4xx_hal_adc.c:2251:19:HAL_ADC_StartSampling 16 static 55 | stm32g4xx_hal_adc.c:2273:19:HAL_ADC_StopSampling 16 static 56 | stm32g4xx_hal_adc.c:2290:6:HAL_ADC_IRQHandler 48 static 57 | stm32g4xx_hal_adc.c:2660:13:HAL_ADC_ConvCpltCallback 16 static 58 | stm32g4xx_hal_adc.c:2675:13:HAL_ADC_ConvHalfCpltCallback 16 static 59 | stm32g4xx_hal_adc.c:2690:13:HAL_ADC_LevelOutOfWindowCallback 16 static 60 | stm32g4xx_hal_adc.c:2712:13:HAL_ADC_ErrorCallback 16 static 61 | stm32g4xx_hal_adc.c:2758:19:HAL_ADC_ConfigChannel 224 static,ignoring_inline_asm 62 | stm32g4xx_hal_adc.c:2987:19:HAL_ADC_AnalogWDGConfig 64 static,ignoring_inline_asm 63 | stm32g4xx_hal_adc.c:3242:10:HAL_ADC_GetState 16 static 64 | stm32g4xx_hal_adc.c:3256:10:HAL_ADC_GetError 16 static 65 | stm32g4xx_hal_adc.c:3286:19:ADC_ConversionStop 40 static 66 | stm32g4xx_hal_adc.c:3416:19:ADC_Enable 24 static 67 | stm32g4xx_hal_adc.c:3483:19:ADC_Disable 24 static 68 | stm32g4xx_hal_adc.c:3541:6:ADC_DMAConvCplt 24 static 69 | stm32g4xx_hal_adc.c:3619:6:ADC_DMAHalfConvCplt 24 static 70 | stm32g4xx_hal_adc.c:3637:6:ADC_DMAError 24 static 71 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_ll_adc.h:2793:22:LL_ADC_SetCommonPathInternalCh 16 static 2 | stm32g4xx_ll_adc.h:2874:26:LL_ADC_GetCommonPathInternalCh 16 static 3 | stm32g4xx_ll_adc.h:2918:22:LL_ADC_SetCalibrationFactor 24 static 4 | stm32g4xx_ll_adc.h:2941:26:LL_ADC_GetCalibrationFactor 16 static 5 | stm32g4xx_ll_adc.h:3215:22:LL_ADC_SetOffset 32 static 6 | stm32g4xx_ll_adc.h:3298:26:LL_ADC_GetOffsetChannel 24 static 7 | stm32g4xx_ll_adc.h:3357:22:LL_ADC_SetOffsetState 32 static 8 | stm32g4xx_ll_adc.h:3412:22:LL_ADC_SetOffsetSign 32 static 9 | stm32g4xx_ll_adc.h:3467:22:LL_ADC_SetOffsetSaturation 32 static 10 | stm32g4xx_ll_adc.h:3555:22:LL_ADC_SetSamplingTimeCommonConfig 16 static 11 | stm32g4xx_ll_adc.h:3742:26:LL_ADC_REG_IsTriggerSourceSWStart 16 static 12 | stm32g4xx_ll_adc.h:4529:26:LL_ADC_INJ_IsTriggerSourceSWStart 16 static 13 | stm32g4xx_ll_adc.h:4853:26:LL_ADC_INJ_GetTrigAuto 16 static 14 | stm32g4xx_ll_adc.h:4899:22:LL_ADC_INJ_SetQueueMode 16 static 15 | stm32g4xx_ll_adc.h:5325:22:LL_ADC_SetChannelSamplingTime 32 static 16 | stm32g4xx_ll_adc.h:5490:22:LL_ADC_SetChannelSingleDiff 24 static 17 | stm32g4xx_ll_adc.h:6377:26:LL_ADC_GetMultimode 16 static 18 | stm32g4xx_ll_adc.h:6568:22:LL_ADC_EnableDeepPowerDown 16 static 19 | stm32g4xx_ll_adc.h:6643:22:LL_ADC_DisableInternalRegulator 16 static 20 | stm32g4xx_ll_adc.h:6714:26:LL_ADC_IsEnabled 16 static 21 | stm32g4xx_ll_adc.h:6753:22:LL_ADC_StartCalibration 16 static 22 | stm32g4xx_ll_adc.h:6769:26:LL_ADC_IsCalibrationOnGoing 16 static 23 | stm32g4xx_ll_adc.h:6800:22:LL_ADC_REG_StartConversion 16 static 24 | stm32g4xx_ll_adc.h:6836:26:LL_ADC_REG_IsConversionOngoing 16 static 25 | stm32g4xx_ll_adc.h:7025:22:LL_ADC_INJ_StartConversion 16 static 26 | stm32g4xx_ll_adc.h:7061:26:LL_ADC_INJ_IsConversionOngoing 16 static 27 | stm32g4xx_hal_adc_ex.c:136:19:HAL_ADCEx_Calibration_Start 24 static 28 | stm32g4xx_hal_adc_ex.c:210:10:HAL_ADCEx_Calibration_GetValue 16 static 29 | stm32g4xx_hal_adc_ex.c:230:19:HAL_ADCEx_Calibration_SetValue 40 static 30 | stm32g4xx_hal_adc_ex.c:286:19:HAL_ADCEx_InjectedStart 32 static 31 | stm32g4xx_hal_adc_ex.c:435:19:HAL_ADCEx_InjectedStop 24 static 32 | stm32g4xx_hal_adc_ex.c:490:19:HAL_ADCEx_InjectedPollForConversion 48 static 33 | stm32g4xx_hal_adc_ex.c:627:19:HAL_ADCEx_InjectedStart_IT 32 static 34 | stm32g4xx_hal_adc_ex.c:800:19:HAL_ADCEx_InjectedStop_IT 24 static 35 | stm32g4xx_hal_adc_ex.c:867:19:HAL_ADCEx_MultiModeStart_DMA 144 static 36 | stm32g4xx_hal_adc_ex.c:982:19:HAL_ADCEx_MultiModeStop_DMA 144 static 37 | stm32g4xx_hal_adc_ex.c:1095:10:HAL_ADCEx_MultiModeGetValue 24 static 38 | stm32g4xx_hal_adc_ex.c:1142:10:HAL_ADCEx_InjectedGetValue 24 static 39 | stm32g4xx_hal_adc_ex.c:1177:13:HAL_ADCEx_InjectedConvCpltCallback 16 static 40 | stm32g4xx_hal_adc_ex.c:1196:13:HAL_ADCEx_InjectedQueueOverflowCallback 16 static 41 | stm32g4xx_hal_adc_ex.c:1211:13:HAL_ADCEx_LevelOutOfWindow2Callback 16 static 42 | stm32g4xx_hal_adc_ex.c:1226:13:HAL_ADCEx_LevelOutOfWindow3Callback 16 static 43 | stm32g4xx_hal_adc_ex.c:1242:13:HAL_ADCEx_EndOfSamplingCallback 16 static 44 | stm32g4xx_hal_adc_ex.c:1259:19:HAL_ADCEx_RegularStop 24 static 45 | stm32g4xx_hal_adc_ex.c:1317:19:HAL_ADCEx_RegularStop_IT 24 static 46 | stm32g4xx_hal_adc_ex.c:1377:19:HAL_ADCEx_RegularStop_DMA 24 static 47 | stm32g4xx_hal_adc_ex.c:1464:19:HAL_ADCEx_RegularMultiModeStop_DMA 136 static 48 | stm32g4xx_hal_adc_ex.c:1638:19:HAL_ADCEx_InjectedConfigChannel 224 static,ignoring_inline_asm 49 | stm32g4xx_hal_adc_ex.c:2079:19:HAL_ADCEx_MultiModeConfigChannel 144 static 50 | stm32g4xx_hal_adc_ex.c:2192:19:HAL_ADCEx_EnableInjectedQueue 32 static 51 | stm32g4xx_hal_adc_ex.c:2233:19:HAL_ADCEx_DisableInjectedQueue 32 static 52 | stm32g4xx_hal_adc_ex.c:2270:19:HAL_ADCEx_DisableVoltageRegulator 24 static 53 | stm32g4xx_hal_adc_ex.c:2307:19:HAL_ADCEx_EnterADCDeepPowerDownMode 24 static 54 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cortex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cortex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cortex.su: -------------------------------------------------------------------------------- 1 | core_cm4.h:1648:22:__NVIC_SetPriorityGrouping 24 static 2 | core_cm4.h:1667:26:__NVIC_GetPriorityGrouping 4 static 3 | core_cm4.h:1679:22:__NVIC_EnableIRQ 16 static,ignoring_inline_asm 4 | core_cm4.h:1717:22:__NVIC_DisableIRQ 16 static,ignoring_inline_asm 5 | core_cm4.h:1736:26:__NVIC_GetPendingIRQ 16 static 6 | core_cm4.h:1755:22:__NVIC_SetPendingIRQ 16 static 7 | core_cm4.h:1770:22:__NVIC_ClearPendingIRQ 16 static 8 | core_cm4.h:1787:26:__NVIC_GetActive 16 static 9 | core_cm4.h:1809:22:__NVIC_SetPriority 16 static 10 | core_cm4.h:1831:26:__NVIC_GetPriority 16 static 11 | core_cm4.h:1856:26:NVIC_EncodePriority 40 static 12 | core_cm4.h:1883:22:NVIC_DecodePriority 40 static 13 | core_cm4.h:1933:34:__NVIC_SystemReset 4 static,ignoring_inline_asm 14 | core_cm4.h:2017:26:SysTick_Config 16 static 15 | stm32g4xx_hal_cortex.c:164:6:HAL_NVIC_SetPriorityGrouping 16 static 16 | stm32g4xx_hal_cortex.c:186:6:HAL_NVIC_SetPriority 32 static 17 | stm32g4xx_hal_cortex.c:208:6:HAL_NVIC_EnableIRQ 16 static 18 | stm32g4xx_hal_cortex.c:224:6:HAL_NVIC_DisableIRQ 16 static 19 | stm32g4xx_hal_cortex.c:237:6:HAL_NVIC_SystemReset 8 static 20 | stm32g4xx_hal_cortex.c:250:10:HAL_SYSTICK_Config 16 static 21 | stm32g4xx_hal_cortex.c:278:10:HAL_NVIC_GetPriorityGrouping 8 static 22 | stm32g4xx_hal_cortex.c:305:6:HAL_NVIC_GetPriority 24 static 23 | stm32g4xx_hal_cortex.c:320:6:HAL_NVIC_SetPendingIRQ 16 static 24 | stm32g4xx_hal_cortex.c:338:10:HAL_NVIC_GetPendingIRQ 16 static 25 | stm32g4xx_hal_cortex.c:354:6:HAL_NVIC_ClearPendingIRQ 16 static 26 | stm32g4xx_hal_cortex.c:371:10:HAL_NVIC_GetActive 16 static 27 | stm32g4xx_hal_cortex.c:385:6:HAL_SYSTICK_CLKSourceConfig 16 static 28 | stm32g4xx_hal_cortex.c:403:6:HAL_SYSTICK_IRQHandler 8 static 29 | stm32g4xx_hal_cortex.c:412:13:HAL_SYSTICK_Callback 4 static 30 | stm32g4xx_hal_cortex.c:431:6:HAL_MPU_Enable 16 static,ignoring_inline_asm 31 | stm32g4xx_hal_cortex.c:446:6:HAL_MPU_Disable 4 static,ignoring_inline_asm 32 | stm32g4xx_hal_cortex.c:462:6:HAL_MPU_ConfigRegion 16 static 33 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_dma.c:152:19:HAL_DMA_Init 24 static 2 | stm32g4xx_hal_dma.c:263:19:HAL_DMA_DeInit 16 static 3 | stm32g4xx_hal_dma.c:378:19:HAL_DMA_Start 32 static 4 | stm32g4xx_hal_dma.c:421:19:HAL_DMA_Start_IT 32 static 5 | stm32g4xx_hal_dma.c:491:19:HAL_DMA_Abort 24 static 6 | stm32g4xx_hal_dma.c:544:19:HAL_DMA_Abort_IT 24 static 7 | stm32g4xx_hal_dma.c:611:19:HAL_DMA_PollForTransfer 32 static 8 | stm32g4xx_hal_dma.c:741:6:HAL_DMA_IRQHandler 24 static 9 | stm32g4xx_hal_dma.c:835:19:HAL_DMA_RegisterCallback 32 static 10 | stm32g4xx_hal_dma.c:886:19:HAL_DMA_UnRegisterCallback 24 static 11 | stm32g4xx_hal_dma.c:964:22:HAL_DMA_GetState 16 static 12 | stm32g4xx_hal_dma.c:976:10:HAL_DMA_GetError 16 static 13 | stm32g4xx_hal_dma.c:1002:13:DMA_SetConfig 24 static 14 | stm32g4xx_hal_dma.c:1045:13:DMA_CalcDMAMUXChannelBaseAndMask 32 static 15 | stm32g4xx_hal_dma.c:1082:13:DMA_CalcDMAMUXRequestGenBaseAndMask 24 static 16 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_dma_ex.c:96:19:HAL_DMAEx_ConfigMuxSync 16 static 2 | stm32g4xx_hal_dma_ex.c:142:19:HAL_DMAEx_ConfigMuxRequestGenerator 32 static,ignoring_inline_asm 3 | stm32g4xx_hal_dma_ex.c:182:19:HAL_DMAEx_EnableMuxRequestGenerator 16 static 4 | stm32g4xx_hal_dma_ex.c:210:19:HAL_DMAEx_DisableMuxRequestGenerator 16 static 5 | stm32g4xx_hal_dma_ex.c:238:6:HAL_DMAEx_MUX_IRQHandler 16 static 6 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_exti.c:145:19:HAL_EXTI_SetConfigLine 40 static 2 | stm32g4xx_hal_exti.c:269:19:HAL_EXTI_GetConfigLine 40 static 3 | stm32g4xx_hal_exti.c:374:19:HAL_EXTI_ClearConfigLine 40 static 4 | stm32g4xx_hal_exti.c:442:19:HAL_EXTI_RegisterCallback 32 static 5 | stm32g4xx_hal_exti.c:473:19:HAL_EXTI_GetHandle 16 static 6 | stm32g4xx_hal_exti.c:514:6:HAL_EXTI_IRQHandler 32 static 7 | stm32g4xx_hal_exti.c:549:10:HAL_EXTI_GetPending 40 static 8 | stm32g4xx_hal_exti.c:584:6:HAL_EXTI_ClearPending 32 static 9 | stm32g4xx_hal_exti.c:613:6:HAL_EXTI_GenerateSWI 32 static 10 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_flash.c:174:19:HAL_FLASH_Program 32 static 2 | stm32g4xx_hal_flash.c:242:19:HAL_FLASH_Program_IT 32 static 3 | stm32g4xx_hal_flash.c:302:6:HAL_FLASH_IRQHandler 24 static 4 | stm32g4xx_hal_flash.c:442:13:HAL_FLASH_EndOfOperationCallback 16 static 5 | stm32g4xx_hal_flash.c:460:13:HAL_FLASH_OperationErrorCallback 16 static 6 | stm32g4xx_hal_flash.c:493:19:HAL_FLASH_Unlock 16 static 7 | stm32g4xx_hal_flash.c:517:19:HAL_FLASH_Lock 16 static 8 | stm32g4xx_hal_flash.c:537:19:HAL_FLASH_OB_Unlock 16 static 9 | stm32g4xx_hal_flash.c:561:19:HAL_FLASH_OB_Lock 16 static 10 | stm32g4xx_hal_flash.c:581:19:HAL_FLASH_OB_Launch 8 static 11 | stm32g4xx_hal_flash.c:629:10:HAL_FLASH_GetError 4 static 12 | stm32g4xx_hal_flash.c:653:19:FLASH_WaitForLastOperation 24 static 13 | stm32g4xx_hal_flash.c:700:13:FLASH_Program_DoubleWord 24 static,ignoring_inline_asm 14 | stm32g4xx_hal_flash.c:725:13:FLASH_Program_Fast 40 static,ignoring_inline_asm 15 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_flash_ex.c:139:19:HAL_FLASHEx_Erase 24 static 2 | stm32g4xx_hal_flash_ex.c:241:19:HAL_FLASHEx_Erase_IT 24 static 3 | stm32g4xx_hal_flash_ex.c:317:19:HAL_FLASHEx_OBProgram 24 static 4 | stm32g4xx_hal_flash_ex.c:406:6:HAL_FLASHEx_OBGetConfig 16 static 5 | stm32g4xx_hal_flash_ex.c:466:19:HAL_FLASHEx_EnableSecMemProtection 16 static 6 | stm32g4xx_hal_flash_ex.c:500:6:HAL_FLASHEx_EnableDebugger 4 static 7 | stm32g4xx_hal_flash_ex.c:512:6:HAL_FLASHEx_DisableDebugger 4 static 8 | stm32g4xx_hal_flash_ex.c:540:13:FLASH_MassErase 16 static 9 | stm32g4xx_hal_flash_ex.c:585:6:FLASH_PageErase 16 static 10 | stm32g4xx_hal_flash_ex.c:620:6:FLASH_FlushCaches 16 static 11 | stm32g4xx_hal_flash_ex.c:672:26:FLASH_OB_WRPConfig 32 static 12 | stm32g4xx_hal_flash_ex.c:737:26:FLASH_OB_RDPConfig 24 static 13 | stm32g4xx_hal_flash_ex.c:784:26:FLASH_OB_UserConfig 32 static 14 | stm32g4xx_hal_flash_ex.c:990:26:FLASH_OB_PCROPConfig 40 static 15 | stm32g4xx_hal_flash_ex.c:1108:26:FLASH_OB_SecMemConfig 24 static 16 | stm32g4xx_hal_flash_ex.c:1161:26:FLASH_OB_BootLockConfig 24 static 17 | stm32g4xx_hal_flash_ex.c:1196:13:FLASH_OB_GetSecMem 16 static 18 | stm32g4xx_hal_flash_ex.c:1222:17:FLASH_OB_GetBootLock 4 static 19 | stm32g4xx_hal_flash_ex.c:1241:13:FLASH_OB_GetWRP 24 static 20 | stm32g4xx_hal_flash_ex.c:1280:17:FLASH_OB_GetRDP 16 static 21 | stm32g4xx_hal_flash_ex.c:1308:17:FLASH_OB_GetUser 16 static 22 | stm32g4xx_hal_flash_ex.c:1327:13:FLASH_OB_GetPCROP 32 static 23 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ramfunc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ramfunc.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ramfunc.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_flash_ramfunc.c:93:30:HAL_FLASHEx_EnableRunPowerDown 4 static 2 | stm32g4xx_hal_flash_ramfunc.c:107:30:HAL_FLASHEx_DisableRunPowerDown 4 static 3 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_gpio.c:170:6:HAL_GPIO_Init 32 static 2 | stm32g4xx_hal_gpio.c:295:6:HAL_GPIO_DeInit 32 static 3 | stm32g4xx_hal_gpio.c:376:15:HAL_GPIO_ReadPin 24 static 4 | stm32g4xx_hal_gpio.c:410:6:HAL_GPIO_WritePin 16 static 5 | stm32g4xx_hal_gpio.c:433:6:HAL_GPIO_TogglePin 24 static 6 | stm32g4xx_hal_gpio.c:458:19:HAL_GPIO_LockPin 24 static 7 | stm32g4xx_hal_gpio.c:493:6:HAL_GPIO_EXTI_IRQHandler 16 static 8 | stm32g4xx_hal_gpio.c:508:13:HAL_GPIO_EXTI_Callback 16 static 9 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_opamp.c:286:19:HAL_OPAMP_Init 24 static 2 | stm32g4xx_hal_opamp.c:452:19:HAL_OPAMP_DeInit 24 static 3 | stm32g4xx_hal_opamp.c:516:13:HAL_OPAMP_MspInit 16 static 4 | stm32g4xx_hal_opamp.c:533:13:HAL_OPAMP_MspDeInit 16 static 5 | stm32g4xx_hal_opamp.c:570:19:HAL_OPAMP_Start 24 static 6 | stm32g4xx_hal_opamp.c:613:19:HAL_OPAMP_Stop 24 static 7 | stm32g4xx_hal_opamp.c:664:19:HAL_OPAMP_SelfCalibrate 32 static 8 | stm32g4xx_hal_opamp.c:866:19:HAL_OPAMP_Lock 24 static 9 | stm32g4xx_hal_opamp.c:905:19:HAL_OPAMP_LockTimerMux 24 static 10 | stm32g4xx_hal_opamp.c:960:24:HAL_OPAMP_GetState 16 static 11 | stm32g4xx_hal_opamp.c:982:28:HAL_OPAMP_GetTrimOffset 32 static 12 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_opamp_ex.c:89:19:HAL_OPAMPEx_SelfCalibrateAll 56 static 2 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_pwr.c:87:6:HAL_PWR_DeInit 4 static 2 | stm32g4xx_hal_pwr.c:105:6:HAL_PWR_EnableBkUpAccess 4 static 3 | stm32g4xx_hal_pwr.c:115:6:HAL_PWR_DisableBkUpAccess 4 static 4 | stm32g4xx_hal_pwr.c:309:19:HAL_PWR_ConfigPVD 16 static 5 | stm32g4xx_hal_pwr.c:355:6:HAL_PWR_EnablePVD 4 static 6 | stm32g4xx_hal_pwr.c:364:6:HAL_PWR_DisablePVD 4 static 7 | stm32g4xx_hal_pwr.c:389:6:HAL_PWR_EnableWakeUpPin 16 static 8 | stm32g4xx_hal_pwr.c:410:6:HAL_PWR_DisableWakeUpPin 16 static 9 | stm32g4xx_hal_pwr.c:442:6:HAL_PWR_EnterSLEEPMode 16 static,ignoring_inline_asm 10 | stm32g4xx_hal_pwr.c:517:6:HAL_PWR_EnterSTOPMode 16 static 11 | stm32g4xx_hal_pwr.c:550:6:HAL_PWR_EnterSTANDBYMode 4 static,ignoring_inline_asm 12 | stm32g4xx_hal_pwr.c:576:6:HAL_PWR_EnableSleepOnExit 4 static 13 | stm32g4xx_hal_pwr.c:589:6:HAL_PWR_DisableSleepOnExit 4 static 14 | stm32g4xx_hal_pwr.c:603:6:HAL_PWR_EnableSEVOnPend 4 static 15 | stm32g4xx_hal_pwr.c:616:6:HAL_PWR_DisableSEVOnPend 4 static 16 | stm32g4xx_hal_pwr.c:630:13:HAL_PWR_PVDCallback 4 static 17 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_pwr_ex.c:110:10:HAL_PWREx_GetVoltageRange 4 static 2 | stm32g4xx_hal_pwr_ex.c:154:19:HAL_PWREx_ControlVoltageScaling 24 static 3 | stm32g4xx_hal_pwr_ex.c:239:6:HAL_PWREx_EnableBatteryCharging 16 static 4 | stm32g4xx_hal_pwr_ex.c:255:6:HAL_PWREx_DisableBatteryCharging 4 static 5 | stm32g4xx_hal_pwr_ex.c:265:6:HAL_PWREx_EnableInternalWakeUpLine 4 static 6 | stm32g4xx_hal_pwr_ex.c:275:6:HAL_PWREx_DisableInternalWakeUpLine 4 static 7 | stm32g4xx_hal_pwr_ex.c:303:19:HAL_PWREx_EnableGPIOPullUp 24 static 8 | stm32g4xx_hal_pwr_ex.c:364:19:HAL_PWREx_DisableGPIOPullUp 24 static 9 | stm32g4xx_hal_pwr_ex.c:425:19:HAL_PWREx_EnableGPIOPullDown 24 static 10 | stm32g4xx_hal_pwr_ex.c:486:19:HAL_PWREx_DisableGPIOPullDown 24 static 11 | stm32g4xx_hal_pwr_ex.c:536:6:HAL_PWREx_EnablePullUpPullDownConfig 4 static 12 | stm32g4xx_hal_pwr_ex.c:548:6:HAL_PWREx_DisablePullUpPullDownConfig 4 static 13 | stm32g4xx_hal_pwr_ex.c:561:6:HAL_PWREx_EnableSRAM2ContentRetention 4 static 14 | stm32g4xx_hal_pwr_ex.c:573:6:HAL_PWREx_DisableSRAM2ContentRetention 4 static 15 | stm32g4xx_hal_pwr_ex.c:586:6:HAL_PWREx_EnablePVM1 4 static 16 | stm32g4xx_hal_pwr_ex.c:595:6:HAL_PWREx_DisablePVM1 4 static 17 | stm32g4xx_hal_pwr_ex.c:607:6:HAL_PWREx_EnablePVM2 4 static 18 | stm32g4xx_hal_pwr_ex.c:616:6:HAL_PWREx_DisablePVM2 4 static 19 | stm32g4xx_hal_pwr_ex.c:627:6:HAL_PWREx_EnablePVM3 4 static 20 | stm32g4xx_hal_pwr_ex.c:636:6:HAL_PWREx_DisablePVM3 4 static 21 | stm32g4xx_hal_pwr_ex.c:646:6:HAL_PWREx_EnablePVM4 4 static 22 | stm32g4xx_hal_pwr_ex.c:655:6:HAL_PWREx_DisablePVM4 4 static 23 | stm32g4xx_hal_pwr_ex.c:675:19:HAL_PWREx_ConfigPVM 24 static 24 | stm32g4xx_hal_pwr_ex.c:836:6:HAL_PWREx_EnableLowPowerRunMode 4 static 25 | stm32g4xx_hal_pwr_ex.c:851:19:HAL_PWREx_DisableLowPowerRunMode 16 static 26 | stm32g4xx_hal_pwr_ex.c:895:6:HAL_PWREx_EnterSTOP0Mode 16 static,ignoring_inline_asm 27 | stm32g4xx_hal_pwr_ex.c:946:6:HAL_PWREx_EnterSTOP1Mode 16 static,ignoring_inline_asm 28 | stm32g4xx_hal_pwr_ex.c:987:6:HAL_PWREx_EnterSHUTDOWNMode 4 static,ignoring_inline_asm 29 | stm32g4xx_hal_pwr_ex.c:1012:6:HAL_PWREx_PVD_PVM_IRQHandler 8 static 30 | stm32g4xx_hal_pwr_ex.c:1068:13:HAL_PWREx_PVM1Callback 4 static 31 | stm32g4xx_hal_pwr_ex.c:1081:13:HAL_PWREx_PVM2Callback 4 static 32 | stm32g4xx_hal_pwr_ex.c:1093:13:HAL_PWREx_PVM3Callback 4 static 33 | stm32g4xx_hal_pwr_ex.c:1104:13:HAL_PWREx_PVM4Callback 4 static 34 | stm32g4xx_hal_pwr_ex.c:1116:6:HAL_PWREx_EnableUCPDStandbyMode 4 static 35 | stm32g4xx_hal_pwr_ex.c:1128:6:HAL_PWREx_DisableUCPDStandbyMode 4 static 36 | stm32g4xx_hal_pwr_ex.c:1142:6:HAL_PWREx_EnableUCPDDeadBattery 4 static 37 | stm32g4xx_hal_pwr_ex.c:1158:6:HAL_PWREx_DisableUCPDDeadBattery 4 static 38 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_rcc.c:217:19:HAL_RCC_DeInit 16 static 2 | stm32g4xx_hal_rcc.c:310:19:HAL_RCC_OscConfig 40 static 3 | stm32g4xx_hal_rcc.c:765:19:HAL_RCC_ClockConfig 32 static 4 | stm32g4xx_hal_rcc.c:988:6:HAL_RCC_MCOConfig 48 static 5 | stm32g4xx_hal_rcc.c:1045:10:HAL_RCC_GetSysClockFreq 32 static 6 | stm32g4xx_hal_rcc.c:1100:10:HAL_RCC_GetHCLKFreq 4 static 7 | stm32g4xx_hal_rcc.c:1111:10:HAL_RCC_GetPCLK1Freq 8 static 8 | stm32g4xx_hal_rcc.c:1123:10:HAL_RCC_GetPCLK2Freq 8 static 9 | stm32g4xx_hal_rcc.c:1136:6:HAL_RCC_GetOscConfig 16 static 10 | stm32g4xx_hal_rcc.c:1230:6:HAL_RCC_GetClockConfig 16 static 11 | stm32g4xx_hal_rcc.c:1265:6:HAL_RCC_EnableCSS 4 static 12 | stm32g4xx_hal_rcc.c:1279:6:HAL_RCC_EnableLSECSS 4 static 13 | stm32g4xx_hal_rcc.c:1290:6:HAL_RCC_DisableLSECSS 4 static 14 | stm32g4xx_hal_rcc.c:1300:6:HAL_RCC_NMI_IRQHandler 8 static 15 | stm32g4xx_hal_rcc.c:1317:13:HAL_RCC_CSSCallback 4 static 16 | stm32g4xx_hal_rcc.c:1341:17:RCC_GetSysClockFreqFromPLLSource 32 static 17 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_rcc_ex.c:125:19:HAL_RCCEx_PeriphCLKConfig 32 static 2 | stm32g4xx_hal_rcc_ex.c:487:6:HAL_RCCEx_GetPeriphCLKConfig 16 static 3 | stm32g4xx_hal_rcc_ex.c:650:10:HAL_RCCEx_GetPeriphCLKFreq 40 static 4 | stm32g4xx_hal_rcc_ex.c:1288:6:HAL_RCCEx_EnableLSECSS 4 static 5 | stm32g4xx_hal_rcc_ex.c:1298:6:HAL_RCCEx_DisableLSECSS 4 static 6 | stm32g4xx_hal_rcc_ex.c:1311:6:HAL_RCCEx_EnableLSECSS_IT 4 static 7 | stm32g4xx_hal_rcc_ex.c:1328:6:HAL_RCCEx_LSECSS_IRQHandler 8 static 8 | stm32g4xx_hal_rcc_ex.c:1345:13:HAL_RCCEx_LSECSS_Callback 4 static 9 | stm32g4xx_hal_rcc_ex.c:1360:6:HAL_RCCEx_EnableLSCO 48 static 10 | stm32g4xx_hal_rcc_ex.c:1407:6:HAL_RCCEx_DisableLSCO 16 static 11 | stm32g4xx_hal_rcc_ex.c:1515:6:HAL_RCCEx_CRSConfig 24 static 12 | stm32g4xx_hal_rcc_ex.c:1557:6:HAL_RCCEx_CRSSoftwareSynchronizationGenerate 4 static 13 | stm32g4xx_hal_rcc_ex.c:1567:6:HAL_RCCEx_CRSGetSynchronizationInfo 16 static 14 | stm32g4xx_hal_rcc_ex.c:1600:10:HAL_RCCEx_CRSWaitSynchronization 24 static 15 | stm32g4xx_hal_rcc_ex.c:1683:6:HAL_RCCEx_CRS_IRQHandler 24 static 16 | stm32g4xx_hal_rcc_ex.c:1748:13:HAL_RCCEx_CRS_SyncOkCallback 4 static 17 | stm32g4xx_hal_rcc_ex.c:1759:13:HAL_RCCEx_CRS_SyncWarnCallback 4 static 18 | stm32g4xx_hal_rcc_ex.c:1770:13:HAL_RCCEx_CRS_ExpectedSyncCallback 4 static 19 | stm32g4xx_hal_rcc_ex.c:1786:13:HAL_RCCEx_CRS_ErrorCallback 16 static 20 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_uart.c:298:19:HAL_UART_Init 16 static 2 | stm32g4xx_hal_uart.c:371:19:HAL_HalfDuplex_Init 16 static 3 | stm32g4xx_hal_uart.c:444:19:HAL_LIN_Init 16 static 4 | stm32g4xx_hal_uart.c:541:19:HAL_MultiProcessor_Init 24 static 5 | stm32g4xx_hal_uart.c:615:19:HAL_UART_DeInit 16 static 6 | stm32g4xx_hal_uart.c:660:13:HAL_UART_MspInit 16 static 7 | stm32g4xx_hal_uart.c:675:13:HAL_UART_MspDeInit 16 static 8 | stm32g4xx_hal_uart.c:1039:19:HAL_UART_Transmit 48 static 9 | stm32g4xx_hal_uart.c:1128:19:HAL_UART_Receive 48 static 10 | stm32g4xx_hal_uart.c:1213:19:HAL_UART_Transmit_IT 24 static 11 | stm32g4xx_hal_uart.c:1287:19:HAL_UART_Receive_IT 24 static 12 | stm32g4xx_hal_uart.c:1368:19:HAL_UART_Transmit_DMA 24 static 13 | stm32g4xx_hal_uart.c:1444:19:HAL_UART_Receive_DMA 24 static 14 | stm32g4xx_hal_uart.c:1515:19:HAL_UART_DMAPause 24 static 15 | stm32g4xx_hal_uart.c:1549:19:HAL_UART_DMAResume 16 static 16 | stm32g4xx_hal_uart.c:1581:19:HAL_UART_DMAStop 24 static 17 | stm32g4xx_hal_uart.c:1656:19:HAL_UART_Abort 16 static 18 | stm32g4xx_hal_uart.c:1750:19:HAL_UART_AbortTransmit 16 static 19 | stm32g4xx_hal_uart.c:1808:19:HAL_UART_AbortReceive 16 static 20 | stm32g4xx_hal_uart.c:1868:19:HAL_UART_Abort_IT 24 static 21 | stm32g4xx_hal_uart.c:2013:19:HAL_UART_AbortTransmit_IT 16 static 22 | stm32g4xx_hal_uart.c:2103:19:HAL_UART_AbortReceive_IT 16 static 23 | stm32g4xx_hal_uart.c:2187:6:HAL_UART_IRQHandler 40 static 24 | stm32g4xx_hal_uart.c:2419:13:HAL_UART_TxCpltCallback 16 static 25 | stm32g4xx_hal_uart.c:2434:13:HAL_UART_TxHalfCpltCallback 16 static 26 | stm32g4xx_hal_uart.c:2449:13:HAL_UART_RxCpltCallback 16 static 27 | stm32g4xx_hal_uart.c:2464:13:HAL_UART_RxHalfCpltCallback 16 static 28 | stm32g4xx_hal_uart.c:2479:13:HAL_UART_ErrorCallback 16 static 29 | stm32g4xx_hal_uart.c:2494:13:HAL_UART_AbortCpltCallback 16 static 30 | stm32g4xx_hal_uart.c:2509:13:HAL_UART_AbortTransmitCpltCallback 16 static 31 | stm32g4xx_hal_uart.c:2524:13:HAL_UART_AbortReceiveCpltCallback 16 static 32 | stm32g4xx_hal_uart.c:2571:6:HAL_UART_ReceiverTimeout_Config 16 static 33 | stm32g4xx_hal_uart.c:2586:19:HAL_UART_EnableReceiverTimeout 16 static 34 | stm32g4xx_hal_uart.c:2624:19:HAL_UART_DisableReceiverTimeout 16 static 35 | stm32g4xx_hal_uart.c:2662:19:HAL_MultiProcessor_EnableMuteMode 16 static 36 | stm32g4xx_hal_uart.c:2682:19:HAL_MultiProcessor_DisableMuteMode 16 static 37 | stm32g4xx_hal_uart.c:2702:6:HAL_MultiProcessor_EnterMuteMode 16 static 38 | stm32g4xx_hal_uart.c:2712:19:HAL_HalfDuplex_EnableTransmitter 16 static 39 | stm32g4xx_hal_uart.c:2735:19:HAL_HalfDuplex_EnableReceiver 16 static 40 | stm32g4xx_hal_uart.c:2759:19:HAL_LIN_SendBreak 16 static 41 | stm32g4xx_hal_uart.c:2804:23:HAL_UART_GetState 24 static 42 | stm32g4xx_hal_uart.c:2820:10:HAL_UART_GetError 16 static 43 | stm32g4xx_hal_uart.c:2865:19:UART_SetConfig 48 static 44 | stm32g4xx_hal_uart.c:3083:6:UART_AdvFeatureConfig 16 static 45 | stm32g4xx_hal_uart.c:3157:19:UART_CheckIdleState 32 static 46 | stm32g4xx_hal_uart.c:3207:19:UART_WaitOnFlagUntilTimeout 24 static 47 | stm32g4xx_hal_uart.c:3264:13:UART_EndTxTransfer 16 static 48 | stm32g4xx_hal_uart.c:3280:13:UART_EndRxTransfer 16 static 49 | stm32g4xx_hal_uart.c:3299:13:UART_DMATransmitCplt 24 static 50 | stm32g4xx_hal_uart.c:3333:13:UART_DMATxHalfCplt 24 static 51 | stm32g4xx_hal_uart.c:3351:13:UART_DMAReceiveCplt 24 static 52 | stm32g4xx_hal_uart.c:3386:13:UART_DMARxHalfCplt 24 static 53 | stm32g4xx_hal_uart.c:3404:13:UART_DMAError 32 static 54 | stm32g4xx_hal_uart.c:3444:13:UART_DMAAbortOnError 24 static 55 | stm32g4xx_hal_uart.c:3467:13:UART_DMATxAbortCallback 24 static 56 | stm32g4xx_hal_uart.c:3521:13:UART_DMARxAbortCallback 24 static 57 | stm32g4xx_hal_uart.c:3572:13:UART_DMATxOnlyAbortCallback 24 static 58 | stm32g4xx_hal_uart.c:3605:13:UART_DMARxOnlyAbortCallback 24 static 59 | stm32g4xx_hal_uart.c:3637:13:UART_TxISR_8BIT 16 static 60 | stm32g4xx_hal_uart.c:3666:13:UART_TxISR_16BIT 24 static 61 | stm32g4xx_hal_uart.c:3698:13:UART_TxISR_8BIT_FIFOEN 24 static 62 | stm32g4xx_hal_uart.c:3738:13:UART_TxISR_16BIT_FIFOEN 24 static 63 | stm32g4xx_hal_uart.c:3779:13:UART_EndTransmit_IT 16 static 64 | stm32g4xx_hal_uart.c:3804:13:UART_RxISR_8BIT 24 static 65 | stm32g4xx_hal_uart.c:3854:13:UART_RxISR_16BIT 24 static 66 | stm32g4xx_hal_uart.c:3906:13:UART_RxISR_8BIT_FIFOEN 24 static 67 | stm32g4xx_hal_uart.c:3979:13:UART_RxISR_16BIT_FIFOEN 32 static 68 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart_ex.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart_ex.su: -------------------------------------------------------------------------------- 1 | stm32g4xx_hal_uart_ex.c:166:19:HAL_RS485Ex_Init 32 static 2 | stm32g4xx_hal_uart_ex.c:272:13:HAL_UARTEx_WakeupCallback 16 static 3 | stm32g4xx_hal_uart_ex.c:287:13:HAL_UARTEx_RxFifoFullCallback 16 static 4 | stm32g4xx_hal_uart_ex.c:302:13:HAL_UARTEx_TxFifoEmptyCallback 16 static 5 | stm32g4xx_hal_uart_ex.c:352:19:HAL_MultiProcessorEx_AddressLength_Set 16 static 6 | stm32g4xx_hal_uart_ex.c:390:19:HAL_UARTEx_StopModeWakeUpSourceConfig 40 static 7 | stm32g4xx_hal_uart_ex.c:445:19:HAL_UARTEx_EnableStopMode 16 static 8 | stm32g4xx_hal_uart_ex.c:464:19:HAL_UARTEx_DisableStopMode 16 static 9 | stm32g4xx_hal_uart_ex.c:483:19:HAL_UARTEx_EnableFifoMode 24 static 10 | stm32g4xx_hal_uart_ex.c:524:19:HAL_UARTEx_DisableFifoMode 24 static 11 | stm32g4xx_hal_uart_ex.c:570:19:HAL_UARTEx_SetTxFifoThreshold 24 static 12 | stm32g4xx_hal_uart_ex.c:619:19:HAL_UARTEx_SetRxFifoThreshold 24 static 13 | stm32g4xx_hal_uart_ex.c:673:13:UARTEx_Wakeup_AddressConfig 24 static 14 | stm32g4xx_hal_uart_ex.c:691:13:UARTEx_SetNbDataToProcess 40 static 15 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.d: -------------------------------------------------------------------------------- 1 | Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.o: \ 2 | ../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.c 3 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.o -------------------------------------------------------------------------------- /ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.su: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Debug/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.su -------------------------------------------------------------------------------- /ControlFirmware/Debug/makefile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | -include ../makefile.init 6 | 7 | RM := rm -rf 8 | 9 | # All of the sources participating in the build are defined here 10 | -include sources.mk 11 | -include Drivers/STM32G4xx_HAL_Driver/Src/subdir.mk 12 | -include Core/Startup/subdir.mk 13 | -include Core/Src/subdir.mk 14 | -include subdir.mk 15 | -include objects.mk 16 | 17 | ifneq ($(MAKECMDGOALS),clean) 18 | ifneq ($(strip $(S_DEPS)),) 19 | -include $(S_DEPS) 20 | endif 21 | ifneq ($(strip $(S_UPPER_DEPS)),) 22 | -include $(S_UPPER_DEPS) 23 | endif 24 | ifneq ($(strip $(C_DEPS)),) 25 | -include $(C_DEPS) 26 | endif 27 | endif 28 | 29 | -include ../makefile.defs 30 | 31 | BUILD_ARTIFACT_NAME := ControlFirmware 32 | BUILD_ARTIFACT_EXTENSION := elf 33 | BUILD_ARTIFACT_PREFIX := 34 | BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME).$(BUILD_ARTIFACT_EXTENSION) 35 | 36 | # Add inputs and outputs from these tool invocations to the build variables 37 | EXECUTABLES += \ 38 | ControlFirmware.elf \ 39 | 40 | SIZE_OUTPUT += \ 41 | default.size.stdout \ 42 | 43 | OBJDUMP_LIST += \ 44 | ControlFirmware.list \ 45 | 46 | OBJCOPY_BIN += \ 47 | ControlFirmware.bin \ 48 | 49 | 50 | # All Target 51 | all: main-build 52 | 53 | # Main-build Target 54 | main-build: ControlFirmware.elf secondary-outputs 55 | 56 | # Tool invocations 57 | ControlFirmware.elf: $(OBJS) $(USER_OBJS) C:\GitHub\SMSMod\ControlFirmware\STM32G431KBTX_FLASH.ld 58 | arm-none-eabi-gcc -o "ControlFirmware.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"C:\GitHub\SMSMod\ControlFirmware\STM32G431KBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="ControlFirmware.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group 59 | @echo 'Finished building target: $@' 60 | @echo ' ' 61 | 62 | default.size.stdout: $(EXECUTABLES) 63 | arm-none-eabi-size $(EXECUTABLES) 64 | @echo 'Finished building: $@' 65 | @echo ' ' 66 | 67 | ControlFirmware.list: $(EXECUTABLES) 68 | arm-none-eabi-objdump -h -S $(EXECUTABLES) > "ControlFirmware.list" 69 | @echo 'Finished building: $@' 70 | @echo ' ' 71 | 72 | ControlFirmware.bin: $(EXECUTABLES) 73 | arm-none-eabi-objcopy -O binary $(EXECUTABLES) "ControlFirmware.bin" 74 | @echo 'Finished building: $@' 75 | @echo ' ' 76 | 77 | # Other Targets 78 | clean: 79 | -$(RM) * 80 | -@echo ' ' 81 | 82 | secondary-outputs: $(SIZE_OUTPUT) $(OBJDUMP_LIST) $(OBJCOPY_BIN) 83 | 84 | fail-specified-linker-script-missing: 85 | @echo 'Error: Cannot find the specified linker script. Check the linker settings in the build configuration.' 86 | @exit 2 87 | 88 | warn-no-linker-script-specified: 89 | @echo 'Warning: No linker script specified. Check the linker settings in the build configuration.' 90 | 91 | .PHONY: all clean dependents fail-specified-linker-script-missing warn-no-linker-script-specified 92 | .SECONDARY: 93 | 94 | -include ../makefile.targets 95 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/objects.list: -------------------------------------------------------------------------------- 1 | "Core/Src/control_algo.o" 2 | "Core/Src/control_table.o" 3 | "Core/Src/eeprom.o" 4 | "Core/Src/led.o" 5 | "Core/Src/main.o" 6 | "Core/Src/math_tool.o" 7 | "Core/Src/pic.o" 8 | "Core/Src/protocol.o" 9 | "Core/Src/serial.o" 10 | "Core/Src/stm32g4xx_hal_msp.o" 11 | "Core/Src/stm32g4xx_it.o" 12 | "Core/Src/syscalls.o" 13 | "Core/Src/sysmem.o" 14 | "Core/Src/system_stm32g4xx.o" 15 | "Core/Startup/startup_stm32g431kbtx.o" 16 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.o" 17 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc.o" 18 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc_ex.o" 19 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cortex.o" 20 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma.o" 21 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma_ex.o" 22 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.o" 23 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash.o" 24 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.o" 25 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ramfunc.o" 26 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.o" 27 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.o" 28 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp_ex.o" 29 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr.o" 30 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr_ex.o" 31 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.o" 32 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.o" 33 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim.o" 34 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_tim_ex.o" 35 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.o" 36 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart_ex.o" 37 | "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_adc.o" 38 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | USER_OBJS := 6 | 7 | LIBS := 8 | 9 | -------------------------------------------------------------------------------- /ControlFirmware/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | ELF_SRCS := 6 | OBJ_SRCS := 7 | S_SRCS := 8 | C_SRCS := 9 | S_UPPER_SRCS := 10 | O_SRCS := 11 | SIZE_OUTPUT := 12 | OBJDUMP_LIST := 13 | EXECUTABLES := 14 | OBJS := 15 | S_DEPS := 16 | S_UPPER_DEPS := 17 | C_DEPS := 18 | OBJCOPY_BIN := 19 | 20 | # Every subdirectory with source files must be described here 21 | SUBDIRS := \ 22 | Core/Src \ 23 | Core/Startup \ 24 | Drivers/STM32G4xx_HAL_Driver/Src \ 25 | 26 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h -------------------------------------------------------------------------------- /ControlFirmware/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlFirmware/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h -------------------------------------------------------------------------------- /ControlFirmware/Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32g4xx.h 4 | * @author MCD Application Team 5 | * @brief CMSIS Cortex-M4 Device System Source File for STM32G4xx devices. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /** @addtogroup CMSIS 21 | * @{ 22 | */ 23 | 24 | /** @addtogroup stm32g4xx_system 25 | * @{ 26 | */ 27 | 28 | /** 29 | * @brief Define to prevent recursive inclusion 30 | */ 31 | #ifndef __SYSTEM_STM32G4XX_H 32 | #define __SYSTEM_STM32G4XX_H 33 | 34 | #ifdef __cplusplus 35 | extern "C" { 36 | #endif 37 | 38 | /** @addtogroup STM32G4xx_System_Includes 39 | * @{ 40 | */ 41 | 42 | /** 43 | * @} 44 | */ 45 | 46 | 47 | /** @addtogroup STM32G4xx_System_Exported_Variables 48 | * @{ 49 | */ 50 | /* The SystemCoreClock variable is updated in three ways: 51 | 1) by calling CMSIS function SystemCoreClockUpdate() 52 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq() 53 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 54 | Note: If you use this function to configure the system clock; then there 55 | is no need to call the 2 first functions listed above, since SystemCoreClock 56 | variable is updated automatically. 57 | */ 58 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 59 | 60 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */ 61 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */ 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | /** @addtogroup STM32G4xx_System_Exported_Constants 68 | * @{ 69 | */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** @addtogroup STM32G4xx_System_Exported_Macros 76 | * @{ 77 | */ 78 | 79 | /** 80 | * @} 81 | */ 82 | 83 | /** @addtogroup STM32G4xx_System_Exported_Functions 84 | * @{ 85 | */ 86 | 87 | extern void SystemInit(void); 88 | extern void SystemCoreClockUpdate(void); 89 | /** 90 | * @} 91 | */ 92 | 93 | #ifdef __cplusplus 94 | } 95 | #endif 96 | 97 | #endif /*__SYSTEM_STM32G4XX_H */ 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | /** 104 | * @} 105 | */ 106 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 107 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/CMSIS/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.3 5 | * @date 24. June 2019 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2019 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/CMSIS/Include/tz_context.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * @file tz_context.h 3 | * @brief Context Management for Armv8-M TrustZone 4 | * @version V1.0.1 5 | * @date 10. January 2018 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2017-2018 Arm Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef TZ_CONTEXT_H 32 | #define TZ_CONTEXT_H 33 | 34 | #include 35 | 36 | #ifndef TZ_MODULEID_T 37 | #define TZ_MODULEID_T 38 | /// \details Data type that identifies secure software modules called by a process. 39 | typedef uint32_t TZ_ModuleId_t; 40 | #endif 41 | 42 | /// \details TZ Memory ID identifies an allocated memory slot. 43 | typedef uint32_t TZ_MemoryId_t; 44 | 45 | /// Initialize secure context memory system 46 | /// \return execution status (1: success, 0: error) 47 | uint32_t TZ_InitContextSystem_S (void); 48 | 49 | /// Allocate context memory for calling secure software modules in TrustZone 50 | /// \param[in] module identifies software modules called from non-secure mode 51 | /// \return value != 0 id TrustZone memory slot identifier 52 | /// \return value 0 no memory available or internal error 53 | TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module); 54 | 55 | /// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S 56 | /// \param[in] id TrustZone memory slot identifier 57 | /// \return execution status (1: success, 0: error) 58 | uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id); 59 | 60 | /// Load secure context (called on RTOS thread context switch) 61 | /// \param[in] id TrustZone memory slot identifier 62 | /// \return execution status (1: success, 0: error) 63 | uint32_t TZ_LoadContext_S (TZ_MemoryId_t id); 64 | 65 | /// Store secure context (called on RTOS thread context switch) 66 | /// \param[in] id TrustZone memory slot identifier 67 | /// \return execution status (1: success, 0: error) 68 | uint32_t TZ_StoreContext_S (TZ_MemoryId_t id); 69 | 70 | #endif // TZ_CONTEXT_H 71 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32g4xx_hal_flash_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of FLASH HAL Extended module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© COPYRIGHT(c) 2019 STMicroelectronics

10 | * 11 | * This software component is licensed by ST under BSD 3-Clause license, 12 | * the "License"; You may not use this file except in compliance with the 13 | * License. You may obtain a copy of the License at: 14 | * opensource.org/licenses/BSD-3-Clause 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef STM32G4xx_HAL_FLASH_EX_H 21 | #define STM32G4xx_HAL_FLASH_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32g4xx_hal_def.h" 29 | 30 | /** @addtogroup STM32G4xx_HAL_Driver 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup FLASHEx 35 | * @{ 36 | */ 37 | 38 | /* Exported types ------------------------------------------------------------*/ 39 | 40 | /* Exported constants --------------------------------------------------------*/ 41 | 42 | /* Exported macro ------------------------------------------------------------*/ 43 | 44 | /* Exported functions --------------------------------------------------------*/ 45 | /** @addtogroup FLASHEx_Exported_Functions 46 | * @{ 47 | */ 48 | 49 | /* Extended Program operation functions *************************************/ 50 | /** @addtogroup FLASHEx_Exported_Functions_Group1 51 | * @{ 52 | */ 53 | HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError); 54 | HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit); 55 | HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit); 56 | void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit); 57 | HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank); 58 | void HAL_FLASHEx_EnableDebugger(void); 59 | void HAL_FLASHEx_DisableDebugger(void); 60 | /** 61 | * @} 62 | */ 63 | 64 | /** 65 | * @} 66 | */ 67 | 68 | /** @addtogroup FLASHEx_Private_Functions 69 | * @{ 70 | */ 71 | void FLASH_PageErase(uint32_t Page, uint32_t Banks); 72 | void FLASH_FlushCaches(void); 73 | /** 74 | * @} 75 | */ 76 | 77 | /** 78 | * @} 79 | */ 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | #ifdef __cplusplus 86 | } 87 | #endif 88 | 89 | #endif /* STM32G4xx_HAL_FLASH_EX_H */ 90 | 91 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 92 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32g4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @brief Header file of FLASH RAMFUNC driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© COPYRIGHT(c) 2019 STMicroelectronics

10 | * 11 | * This software component is licensed by ST under BSD 3-Clause license, 12 | * the "License"; You may not use this file except in compliance with the 13 | * License. You may obtain a copy of the License at: 14 | * opensource.org/licenses/BSD-3-Clause 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef STM32G4xx_FLASH_RAMFUNC_H 21 | #define STM32G4xx_FLASH_RAMFUNC_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32g4xx_hal_def.h" 29 | 30 | /** @addtogroup STM32G4xx_HAL_Driver 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup FLASH_RAMFUNC 35 | * @{ 36 | */ 37 | 38 | /* Exported types ------------------------------------------------------------*/ 39 | /* Exported macro ------------------------------------------------------------*/ 40 | /* Exported functions --------------------------------------------------------*/ 41 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 42 | * @{ 43 | */ 44 | 45 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 46 | * @{ 47 | */ 48 | /* Peripheral Control functions ************************************************/ 49 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void); 50 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void); 51 | #if defined (FLASH_OPTR_DBANK) 52 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_OB_DBankConfig(uint32_t DBankConfig); 53 | #endif 54 | /** 55 | * @} 56 | */ 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | #ifdef __cplusplus 71 | } 72 | #endif 73 | 74 | #endif /* STM32G4xx_FLASH_RAMFUNC_H */ 75 | 76 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 77 | -------------------------------------------------------------------------------- /ControlFirmware/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32g4xx_hal_opamp_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of OPAMP HAL Extended module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef STM32G4xx_HAL_OPAMP_EX_H 22 | #define STM32G4xx_HAL_OPAMP_EX_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32g4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32G4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup OPAMPEx OPAMPEx 36 | * @{ 37 | */ 38 | /* Exported types ------------------------------------------------------------*/ 39 | /* Exported constants --------------------------------------------------------*/ 40 | /* Exported macro ------------------------------------------------------------*/ 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup OPAMPEx_Exported_Functions OPAMP Extended Exported Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup OPAMPEx_Exported_Functions_Group1 Extended Input and Output operation functions 47 | * @{ 48 | */ 49 | 50 | /* I/O operation functions *****************************************************/ 51 | 52 | #if defined(STM32G473xx) || defined(STM32G474xx) || defined(STM32G483xx) || defined(STM32G484xx) 53 | HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPAMP_HandleTypeDef *hopamp2, 54 | OPAMP_HandleTypeDef *hopamp3, OPAMP_HandleTypeDef *hopamp4, OPAMP_HandleTypeDef *hopamp5, OPAMP_HandleTypeDef *hopamp6); 55 | #elif defined(STM32GBK1CB) || defined(STM32G431xx) || defined(STM32G441xx) || defined(STM32G471xx) 56 | HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPAMP_HandleTypeDef *hopamp2, 57 | OPAMP_HandleTypeDef *hopamp3); 58 | #elif defined(STM32G491xx) || defined(STM32G4A1xx) 59 | HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPAMP_HandleTypeDef *hopamp2, 60 | OPAMP_HandleTypeDef *hopamp3, OPAMP_HandleTypeDef *hopamp6); 61 | #endif 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | /** 68 | * @} 69 | */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** 76 | * @} 77 | */ 78 | 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | 84 | 85 | #endif /* STM32G4xx_HAL_OPAMP_EX_H */ 86 | 87 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 88 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/control_table.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/eeprom.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/files.txt: -------------------------------------------------------------------------------- 1 | control_algo.a1::Core/Src/control_algo.c 2 | control_table.a1::Core/Src/control_table.c 3 | eeprom.a1::Core/Src/eeprom.c 4 | led.a1::Core/Src/led.c 5 | main.a1::Core/Src/main.c 6 | math_tool.a1::Core/Src/math_tool.c 7 | pic.a1::Core/Src/pic.c 8 | protocol.a1::Core/Src/protocol.c 9 | serial.a1::Core/Src/serial.c 10 | stm32g4xx_hal_msp.a1::Core/Src/stm32g4xx_hal_msp.c 11 | stm32g4xx_it.a1::Core/Src/stm32g4xx_it.c 12 | syscalls.a1::Core/Src/syscalls.c 13 | sysmem.a1::Core/Src/sysmem.c 14 | system_stm32g4xx.a1::Core/Src/system_stm32g4xx.c 15 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/led.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/math_tool.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/pic.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/statistics.txt: -------------------------------------------------------------------------------- 1 | [08.01.2021] 2 | 1610120062644 3 | cppcheck-error:0 4 | cppcheck-warning:0 5 | cppcheck-style:57 6 | cppcheck-performance:0 7 | cppcheck-portability:0 8 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/stm32g4xx_it.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/syscalls.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/sysmem.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ControlFirmware/check-cppcheck-build-dir/system_stm32g4xx.a1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ControlFirmware/check.cppcheck: -------------------------------------------------------------------------------- 1 | 2 | 3 | check-cppcheck-build-dir 4 | Unspecified 5 | false 6 | true 7 | false 8 | 2 9 | 100 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ControlModes/CaptureCurrent.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/CaptureCurrent.PNG -------------------------------------------------------------------------------- /ControlModes/CaptureTRIGGER.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/CaptureTRIGGER.PNG -------------------------------------------------------------------------------- /ControlModes/Mode 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/Mode 2.png -------------------------------------------------------------------------------- /ControlModes/Mode1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/Mode1.png -------------------------------------------------------------------------------- /ControlModes/current.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/current.png -------------------------------------------------------------------------------- /ControlModes/mode1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/mode1.jpg -------------------------------------------------------------------------------- /ControlModes/mode2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/mode2.jpg -------------------------------------------------------------------------------- /ControlModes/trigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlModes/trigger.png -------------------------------------------------------------------------------- /ControlTable/SMS control table.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/ControlTable/SMS control table.xlsx -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 pat92fr 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pictures/CaptureHackaday.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/CaptureHackaday.PNG -------------------------------------------------------------------------------- /Pictures/IMG20210104151520.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104151520.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104151520drv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104151520drv.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104151547.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104151547.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104151650.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104151650.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104151734.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104151734.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104153136.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104153136.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104153136stm32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104153136stm32.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104155614.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104155614.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104160551.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104160551.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104160612.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104160612.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104161140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104161140.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104161915.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104161915.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104161948.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104161948.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210104161958.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210104161958.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210105074709.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210105074709.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210109225448.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210109225448.jpg -------------------------------------------------------------------------------- /Pictures/IMG20210109225906.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/Pictures/IMG20210109225906.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | https://hackaday.io/project/176678-smarter-micro-servo-sms-mod 2 | 3 | # SMSMod 4 | Smarter Micro Servo (SMS) MOD 5 | 6 | ![Screenshot](Pictures/IMG20210105074709.jpg) 7 | 8 | This projet is a tiny control board for micro servo. It replaces the original servo control board and provides a smart bus interface (TTL level, Up to 1Mbps) and configurable close-loop regulation for robotic applications. Any micro and mini servo may be hacked and driven by this board (5-pin interface : 2 for DC motor, 3 for potentiometer). The control board may be directly powered by a LIPo 2S battery (min 6.5V, max 10V). 9 | 10 | Commercial off-the-shelf smart 3-pin cables, hubs, accessories and physical interface adapter boards (e.g. TTLinker) may be used to connect the hacked servo to the host controller (Arduino board, Arm-based board, RPi, and Jetson). User can drive up to 254 servo, with the same bus. 11 | 12 | Position, velocity, and torque of each servo are controlable. Present position, velocity, and torque feedback are avaible. Communication protocol is developed in Python and C/C++ (Arduino). Ping, read, write, sync write, reboot, factory reset commands are supported. One command takes about 1ms to be processed with a return status. 13 | -------------------------------------------------------------------------------- /SMSUtility/CaptureGUI001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/CaptureGUI001.png -------------------------------------------------------------------------------- /SMSUtility/CaptureGUI001i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/CaptureGUI001i.png -------------------------------------------------------------------------------- /SMSUtility/SMSUtility.py: -------------------------------------------------------------------------------- 1 | import time 2 | 3 | import serial 4 | # help : https://pythonhosted.org/pyserial/pyserial_api.html 5 | 6 | from tkinter import * 7 | #from tkinter.ttk import * 8 | 9 | from id_frame import * 10 | from eeprom_frame import * 11 | from ram_frame import * 12 | from trace_frame import * 13 | from protocol2 import * 14 | 15 | import cProfile 16 | 17 | 18 | def main(): 19 | 20 | servo = servo_protocol2('COM3',500000) ##eeprom baud = 3 21 | 22 | window = Tk() 23 | window.title(" MyServoGUI") 24 | window.geometry("1600x1020") 25 | window.minsize(1600,1020) 26 | 27 | fi = id_frame(window,servo) 28 | fe = eeprom_frame(window,servo,fi) 29 | ft =trace_frame(window,servo,fi) 30 | fr = ram_frame(window,servo,ft,fi) 31 | 32 | fi.grid(column = 0, row = 0, sticky='nsew') 33 | fe.grid(column = 1, row = 0, sticky='nsew') 34 | ft.grid(column = 2, row = 0, sticky='nsew') 35 | fr.grid(column = 3, row = 0, sticky='nsew') 36 | 37 | window.columnconfigure(2, weight=1) 38 | window.rowconfigure(0, weight=1) 39 | 40 | mainloop() 41 | 42 | 43 | if __name__ == "__main__": 44 | 45 | ##cProfile.run("main()") 46 | main() 47 | 48 | 49 | -------------------------------------------------------------------------------- /SMSUtility/__pycache__/eeprom_frame.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/eeprom_frame.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/felin.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/felin.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/id_frame.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/id_frame.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/ik.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/ik.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/intersection.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/intersection.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/protocol2.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/protocol2.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/ram_frame.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/ram_frame.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/__pycache__/trace_frame.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pat92fr/SMSMod/5a25963661b2b21c9e4990acab97350e17aed776/SMSUtility/__pycache__/trace_frame.cpython-37.pyc -------------------------------------------------------------------------------- /SMSUtility/felin.py: -------------------------------------------------------------------------------- 1 | # Robot 2 | 3 | # Position of the Coxa Joint (C) in the body reference frame of the robot 4 | # oX is forward 5 | Lhx = 0.000 6 | # oY is left 7 | Lhy = 0.000 8 | # oZ is upward 9 | Lhz = 0.000 10 | 11 | # Relative position of knee servo (S2) // hip servo (S1) 12 | S2x = 0.000 #-0.010 13 | S2z = 0.000 #0.012 14 | 15 | # Femur Joint (A) is // with the XZ plane of body frame 16 | # Tibia Joint (B) is // with the XZ plane of body frame 17 | 18 | # Legs : 19 | # Femur Length 20 | Lf = 0.06 21 | # Tibia Length 22 | Lt = 0.07 #0.06 23 | # Tibia to hord end 24 | Ll = 0.015 #0.023 25 | # S2 horn 26 | Lh2 = 0.0135 27 | # rod length 28 | Lb = 0.060 #0.063 29 | 30 | 31 | # foot standby position in leg reference frame 32 | # oX is backward (RIGHT), forward (LEFT) 33 | Fx = 0.000 34 | # oY is exterior 35 | Fy = 0.000 36 | # oZ is upward 37 | Fz = -0.070 38 | 39 | -------------------------------------------------------------------------------- /SMSUtility/id_frame.py: -------------------------------------------------------------------------------- 1 | ## http://www.science.smith.edu/dftwiki/index.php/Color_Charts_for_TKinter 2 | 3 | 4 | from tkinter import * 5 | #from tkinter.ttk import * 6 | from protocol2 import sign 7 | import time 8 | 9 | class id_frame(LabelFrame): 10 | 11 | def __init__(self,window,protocol): 12 | super().__init__(text="ID") 13 | self.protocol = protocol 14 | self.labels = {} 15 | self.entries = {} 16 | self.lists = {} 17 | self.variables = {} 18 | self.row = 0 19 | 20 | self.current_id = 1 21 | 22 | # update button 23 | button_update = Button(self,text="Update",command = self.update) 24 | button_update.grid(column = 0, row = self.row, sticky='we') 25 | self.row += 1 26 | 27 | # list 28 | self.lists["ids"] = Listbox(self) 29 | self.lists["ids"].grid(column = 0, row = self.row, sticky='w') 30 | self.lists["ids"].bind("<>", self.select_id) 31 | self.row += 1 32 | 33 | # startup auto ping and update list 34 | self.update() 35 | 36 | 37 | def gui_spacer(self,text_label): 38 | label = Label(self, text = text_label, anchor="w", justify=LEFT) 39 | label.grid(column = 0, row = self.row, sticky='w') 40 | self.row += 1 41 | 42 | def update(self): 43 | counter = 0 44 | for i in range(1,20): 45 | print("ping servo ID:" + str(i) + '...') 46 | error, model_number, firmware_version = self.protocol.ping_command(i) 47 | #print("error:"+str(error)) 48 | if(error==0): 49 | self.lists["ids"].insert(counter,str(i)) 50 | counter += 1 51 | self.lists["ids"].selection_set(0) 52 | if self.lists["ids"].curselection(): 53 | self.current_id = int(self.lists["ids"].get(self.lists["ids"].curselection())) 54 | print("self.current_id:"+str(self.current_id)) 55 | 56 | def select_id(self,event): 57 | if self.lists["ids"].curselection(): 58 | self.current_id = int(self.lists["ids"].get(self.lists["ids"].curselection())) 59 | print("self.current_id:"+str(self.current_id)) 60 | -------------------------------------------------------------------------------- /SMSUtility/ik.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import math 3 | 4 | from felin import * 5 | from intersection import * 6 | 7 | ##DEBUG ####################################################################### 8 | 9 | # TRACE macro 10 | DEBUG = False 11 | 12 | def log(s): 13 | if DEBUG: 14 | print(s) 15 | 16 | ##DEBUG ####################################################################### 17 | 18 | # return 3x1 vector (a (femur), b (tibia)) in RADIANS 19 | def ik(foot_position): # input 3x1 vector (x,y,z,1) in METERS, where x axis pointing forward, y axis pointing exterior, and z axis pointing upward 20 | log("foot_position:\n"+str(foot_position)) 21 | # Angle Y 22 | Y = math.atan2(-foot_position[2,0],foot_position[0,0]) 23 | log("Y: "+str(round(math.degrees(Y),0))+"deg") 24 | # Distance HK 25 | HK = math.sqrt(foot_position[2,0]**2+foot_position[0,0]**2) 26 | log("HK: "+str(round(HK,3))+"m") 27 | # Angle E 28 | E = math.acos((HK**2 + Lf**2 - Lt**2)/(2*HK*Lf)) 29 | log("E: "+str(round(math.degrees(E),0))+"deg") 30 | # Angle S1 31 | A = math.pi - E - Y 32 | log("A: "+str(round(math.degrees(A),0))+"deg") 33 | # Knee position 34 | Kx = -Lf * math.cos(A) 35 | Kz = - Lf * math.sin(A) 36 | log("Kx:"+str(Kx)) 37 | log("Kz:"+str(Kz)) 38 | # Position B 39 | Bx = (Lt+Ll)/Lt*(Kx-foot_position[0,0])+foot_position[0,0] 40 | Bz = (Lt+Ll)/Lt*(Kz-foot_position[2,0])+foot_position[2,0] 41 | log("Bx:"+str(Bx)) 42 | log("Bz:"+str(Bz)) 43 | # A position at circle intersection 44 | Ax, Az = intetsection(Bx,Bz,Lb,S2x,S2z,Lh2) 45 | log("Ax:"+str(Ax)) 46 | log("Az:"+str(Az)) 47 | # Angle S2 48 | B = math.atan2(Az-S2z,-(Ax-S2x)) 49 | log("B: "+str(round(math.degrees(B),0))+"deg") 50 | return np.array((A,B)).reshape((2,1)) 51 | 52 | 53 | if __name__ == "__main__": 54 | print("Test Unitaire ik.py") 55 | foot_position = np.zeros((3,1)) # x,y,z 56 | foot_position[0,0] = 0.000 57 | foot_position[1,0] = 0.000 58 | foot_position[2,0] = -0.060 59 | print(foot_position) 60 | leg_joint_angles = ik(foot_position) # A,B 61 | print(np.round(np.degrees(leg_joint_angles),1)) 62 | # return 0.0 90.0 63 | 64 | foot_position[0,0] = 0.000 65 | foot_position[1,0] = 0.000 66 | foot_position[2,0] = -0.060 67 | print(foot_position) 68 | leg_joint_angles = ik(foot_position) # A,B 69 | print(np.round(np.degrees(leg_joint_angles),1)) 70 | # return 41.4 82.8 71 | 72 | foot_position[0,0] = 0.000 73 | foot_position[1,0] = 0.000 74 | foot_position[2,0] = -0.060 75 | print(foot_position) 76 | leg_joint_angles = ik(foot_position) # A,B 77 | print(np.round(np.degrees(leg_joint_angles),1)) 78 | # return 41.4 82.8 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /SMSUtility/intersection.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | def intetsection(x0,y0,R0,x1,y1,R1): 4 | dx = x0-x1 5 | dy = y0-y1 6 | ratio = dx/dy 7 | N = ( R1**2 - R0**2 - x1**2 + x0**2 - y1**2 + y0**2 ) / ( 2 * (y0-y1) ) 8 | A = (dx/dy)**2+1 9 | B = 2*y0*(dx/dy)-2*N*(dx/dy)-2*x0 10 | C = x0**2+y0**2+N**2-R0**2-2*y0*N 11 | delta = math.sqrt(B**2-4*A*C) 12 | xi1 = (-B+delta)/(2*A) 13 | xi2 = (-B-delta)/(2*A) 14 | yi1 = N-xi1*dx/dy 15 | yi2 = N-xi2*dx/dy 16 | if xi1