├── README.md ├── hardware_picture.jpeg └── stm32f407 ├── .cproject ├── .metadata ├── .lock ├── .log ├── .mylyn │ └── repositories.xml.zip ├── .plugins │ ├── org.eclipse.cdt.core │ │ └── .log │ ├── org.eclipse.cdt.make.core │ │ ├── specs.c │ │ └── specs.cpp │ ├── org.eclipse.core.resources │ │ ├── .root │ │ │ ├── .indexes │ │ │ │ ├── history.version │ │ │ │ └── properties.version │ │ │ └── 1.tree │ │ └── .safetable │ │ │ └── org.eclipse.core.resources │ ├── org.eclipse.core.runtime │ │ └── .settings │ │ │ ├── org.eclipse.cdt.ui.prefs │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.epp.logging.aeri.ide.prefs │ │ │ ├── org.eclipse.mylyn.context.core.prefs │ │ │ ├── org.eclipse.mylyn.monitor.ui.prefs │ │ │ ├── org.eclipse.mylyn.tasks.ui.prefs │ │ │ ├── org.eclipse.team.svn.core.prefs │ │ │ ├── org.eclipse.team.ui.prefs │ │ │ ├── org.eclipse.ui.ide.prefs │ │ │ ├── org.eclipse.ui.prefs │ │ │ └── org.eclipse.ui.workbench.prefs │ ├── org.eclipse.e4.workbench │ │ └── workbench.xmi │ ├── org.eclipse.epp.logging.aeri.ide │ │ └── org.eclipse.epp.logging.aeri.ide.server │ │ │ ├── local-history │ │ │ ├── _0.fdt │ │ │ ├── _0.fdx │ │ │ ├── _0.fnm │ │ │ ├── _0.frq │ │ │ ├── _0.nrm │ │ │ ├── _0.tii │ │ │ ├── _0.tis │ │ │ ├── segments.gen │ │ │ ├── segments_1 │ │ │ └── write.lock │ │ │ ├── remote-history │ │ │ ├── _0.fdt │ │ │ ├── _0.fdx │ │ │ ├── _0.fnm │ │ │ ├── _0.frq │ │ │ ├── _0.nrm │ │ │ ├── _0.tii │ │ │ ├── _0.tis │ │ │ ├── segments.gen │ │ │ └── segments_1 │ │ │ └── server-config.json │ ├── org.eclipse.linuxtools.cdt.libhover │ │ └── C │ │ │ ├── devhelp.libhover │ │ │ └── glibc_library.libhover │ ├── org.eclipse.ui.ide │ │ └── dialog_settings.xml │ └── org.eclipse.ui.workbench │ │ ├── dialog_settings.xml │ │ └── workingsets.xml └── version.ini ├── .mxproject ├── .project ├── .settings └── language.settings.xml ├── Debug ├── Drivers │ └── STM32F4xx_HAL_Driver │ │ └── Src │ │ ├── stm32f4xx_hal.d │ │ ├── stm32f4xx_hal.o │ │ ├── stm32f4xx_hal_cortex.d │ │ ├── stm32f4xx_hal_cortex.o │ │ ├── stm32f4xx_hal_dma.d │ │ ├── stm32f4xx_hal_dma.o │ │ ├── stm32f4xx_hal_dma_ex.d │ │ ├── stm32f4xx_hal_dma_ex.o │ │ ├── stm32f4xx_hal_flash.d │ │ ├── stm32f4xx_hal_flash.o │ │ ├── stm32f4xx_hal_flash_ex.d │ │ ├── stm32f4xx_hal_flash_ex.o │ │ ├── stm32f4xx_hal_flash_ramfunc.d │ │ ├── stm32f4xx_hal_flash_ramfunc.o │ │ ├── stm32f4xx_hal_gpio.d │ │ ├── stm32f4xx_hal_gpio.o │ │ ├── stm32f4xx_hal_pwr.d │ │ ├── stm32f4xx_hal_pwr.o │ │ ├── stm32f4xx_hal_pwr_ex.d │ │ ├── stm32f4xx_hal_pwr_ex.o │ │ ├── stm32f4xx_hal_rcc.d │ │ ├── stm32f4xx_hal_rcc.o │ │ ├── stm32f4xx_hal_rcc_ex.d │ │ ├── stm32f4xx_hal_rcc_ex.o │ │ ├── stm32f4xx_hal_spi.d │ │ ├── stm32f4xx_hal_spi.o │ │ ├── stm32f4xx_hal_tim.d │ │ ├── stm32f4xx_hal_tim.o │ │ ├── stm32f4xx_hal_tim_ex.d │ │ ├── stm32f4xx_hal_tim_ex.o │ │ ├── stm32f4xx_hal_uart.d │ │ ├── stm32f4xx_hal_uart.o │ │ └── subdir.mk ├── Middlewares │ └── Third_Party │ │ └── FreeRTOS │ │ └── Source │ │ ├── CMSIS_RTOS │ │ ├── cmsis_os.d │ │ ├── cmsis_os.o │ │ └── subdir.mk │ │ ├── croutine.d │ │ ├── croutine.o │ │ ├── event_groups.d │ │ ├── event_groups.o │ │ ├── list.d │ │ ├── list.o │ │ ├── portable │ │ ├── GCC │ │ │ └── ARM_CM4F │ │ │ │ ├── port.d │ │ │ │ ├── port.o │ │ │ │ └── subdir.mk │ │ └── MemMang │ │ │ ├── heap_4.d │ │ │ ├── heap_4.o │ │ │ └── subdir.mk │ │ ├── queue.d │ │ ├── queue.o │ │ ├── subdir.mk │ │ ├── tasks.d │ │ ├── tasks.o │ │ ├── timers.d │ │ └── timers.o ├── Src │ ├── AHRS_matrix.d │ ├── AHRS_matrix.o │ ├── AHRS_quat.d │ ├── AHRS_quat.o │ ├── AHRS_states.d │ ├── AHRS_states.o │ ├── IMU.d │ ├── IMU.o │ ├── delay.d │ ├── delay.o │ ├── freertos.d │ ├── freertos.o │ ├── gpio.d │ ├── gpio.o │ ├── led.d │ ├── led.o │ ├── main.d │ ├── main.o │ ├── math_nb.d │ ├── math_nb.o │ ├── mpu6500.d │ ├── mpu6500.o │ ├── pid.d │ ├── pid.o │ ├── send_data.d │ ├── send_data.o │ ├── spi.d │ ├── spi.o │ ├── stm32f4xx_hal_msp.d │ ├── stm32f4xx_hal_msp.o │ ├── stm32f4xx_it.d │ ├── stm32f4xx_it.o │ ├── subdir.mk │ ├── sys.d │ ├── sys.o │ ├── syscalls.d │ ├── syscalls.o │ ├── system_stm32f4xx.d │ ├── system_stm32f4xx.o │ ├── tim.d │ ├── tim.o │ ├── usart.d │ ├── usart.o │ ├── utask.d │ └── utask.o ├── makefile ├── objects.list ├── objects.mk ├── output.map ├── sources.mk ├── startup │ ├── startup_stm32f407xx.o │ └── subdir.mk ├── stm32f407.bin └── stm32f407.elf ├── Drivers ├── CMSIS │ ├── Device │ │ └── ST │ │ │ └── STM32F4xx │ │ │ └── Include │ │ │ ├── stm32f407xx.h │ │ │ ├── stm32f4xx.h │ │ │ └── system_stm32f4xx.h │ └── Include │ │ ├── arm_common_tables.h │ │ ├── arm_const_structs.h │ │ ├── arm_math.h │ │ ├── cmsis_armcc.h │ │ ├── cmsis_armcc_V6.h │ │ ├── cmsis_gcc.h │ │ ├── core_cm0.h │ │ ├── core_cm0plus.h │ │ ├── core_cm3.h │ │ ├── core_cm4.h │ │ ├── core_cm7.h │ │ ├── core_cmFunc.h │ │ ├── core_cmInstr.h │ │ ├── core_cmSimd.h │ │ ├── core_sc000.h │ │ └── core_sc300.h └── STM32F4xx_HAL_Driver │ ├── Inc │ ├── Legacy │ │ └── stm32_hal_legacy.h │ ├── stm32f4xx_hal.h │ ├── stm32f4xx_hal_cortex.h │ ├── stm32f4xx_hal_def.h │ ├── stm32f4xx_hal_dma.h │ ├── stm32f4xx_hal_dma_ex.h │ ├── stm32f4xx_hal_flash.h │ ├── stm32f4xx_hal_flash_ex.h │ ├── stm32f4xx_hal_flash_ramfunc.h │ ├── stm32f4xx_hal_gpio.h │ ├── stm32f4xx_hal_gpio_ex.h │ ├── stm32f4xx_hal_pwr.h │ ├── stm32f4xx_hal_pwr_ex.h │ ├── stm32f4xx_hal_rcc.h │ ├── stm32f4xx_hal_rcc_ex.h │ ├── stm32f4xx_hal_spi.h │ ├── stm32f4xx_hal_tim.h │ ├── stm32f4xx_hal_tim_ex.h │ └── stm32f4xx_hal_uart.h │ └── Src │ ├── stm32f4xx_hal.c │ ├── stm32f4xx_hal_cortex.c │ ├── stm32f4xx_hal_dma.c │ ├── stm32f4xx_hal_dma_ex.c │ ├── stm32f4xx_hal_flash.c │ ├── stm32f4xx_hal_flash_ex.c │ ├── stm32f4xx_hal_flash_ramfunc.c │ ├── stm32f4xx_hal_gpio.c │ ├── stm32f4xx_hal_pwr.c │ ├── stm32f4xx_hal_pwr_ex.c │ ├── stm32f4xx_hal_rcc.c │ ├── stm32f4xx_hal_rcc_ex.c │ ├── stm32f4xx_hal_spi.c │ ├── stm32f4xx_hal_tim.c │ ├── stm32f4xx_hal_tim_ex.c │ └── stm32f4xx_hal_uart.c ├── Inc ├── AHRS_matrix.h ├── AHRS_quat.h ├── AHRS_states.h ├── Backup │ ├── FreeRTOSConfig.h.bak │ ├── IMU.h.bak │ ├── IOI2C.h.bak │ ├── MPU6050.h.bak │ ├── delay.h.bak │ ├── ds18b20.h.bak │ ├── gpio.h.bak │ ├── led.h.bak │ ├── main.h.bak │ ├── mpu6500.h.bak │ ├── pid.h.bak │ ├── spi.h.bak │ ├── stm32f4xx_hal_conf.h.bak │ ├── stm32f4xx_it.h.bak │ ├── sys.h.bak │ ├── tim.h.bak │ ├── usart.h.bak │ └── utask.h.bak ├── FreeRTOSConfig.h ├── IMU.h ├── delay.h ├── gpio.h ├── led.h ├── main.h ├── math_nb.h ├── mpu6500.h ├── pid.h ├── send_data.h ├── spi.h ├── stm32f4xx_hal_conf.h ├── stm32f4xx_it.h ├── sys.h ├── tim.h ├── usart.h └── utask.h ├── Middlewares └── Third_Party │ └── FreeRTOS │ └── Source │ ├── CMSIS_RTOS │ ├── cmsis_os.c │ └── cmsis_os.h │ ├── croutine.c │ ├── event_groups.c │ ├── include │ ├── FreeRTOS.h │ ├── FreeRTOSConfig_template.h │ ├── StackMacros.h │ ├── croutine.h │ ├── deprecated_definitions.h │ ├── event_groups.h │ ├── list.h │ ├── mpu_wrappers.h │ ├── portable.h │ ├── projdefs.h │ ├── queue.h │ ├── semphr.h │ ├── task.h │ └── timers.h │ ├── list.c │ ├── portable │ ├── GCC │ │ └── ARM_CM4F │ │ │ ├── port.c │ │ │ └── portmacro.h │ └── MemMang │ │ └── heap_4.c │ ├── queue.c │ ├── tasks.c │ └── timers.c ├── STM32F407VGTx_FLASH.ld ├── Src ├── AHRS_matrix.c ├── AHRS_quat.c ├── AHRS_states.c ├── IMU.c ├── delay.c ├── freertos.c ├── gpio.c ├── led.c ├── main.c ├── math_nb.c ├── mpu6500.c ├── pid.c ├── send_data.c ├── spi.c ├── stm32f4xx_hal_msp.c ├── stm32f4xx_it.c ├── sys.c ├── syscalls.c ├── system_stm32f4xx.c ├── tim.c ├── usart.c └── utask.c ├── startup └── startup_stm32f407xx.s ├── stm32f407.cfg ├── stm32f407.ioc └── stm32f407.xml /README.md: -------------------------------------------------------------------------------- 1 | # IMU 2 | EKF to IMU and LED show states 3 | the platform is stm32f407, and the imu is mpu6500, the actuator is a rgb pwm led. 4 | -------------------------------------------------------------------------------- /hardware_picture.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/hardware_picture.jpeg -------------------------------------------------------------------------------- /stm32f407/.metadata/.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.lock -------------------------------------------------------------------------------- /stm32f407/.metadata/.log: -------------------------------------------------------------------------------- 1 | !SESSION 2017-07-05 14:35:33.351 ----------------------------------------------- 2 | eclipse.buildId=4.5.2.M20160212-1500 3 | java.version=1.8.0_131 4 | java.vendor=Oracle Corporation 5 | BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN 6 | Framework arguments: -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product 7 | Command-line arguments: -os linux -ws gtk -arch x86_64 -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product 8 | 9 | !ENTRY fr.ac6.mcu.ide 1 1 2017-07-05 14:35:59.669 10 | !MESSAGE Started RMI Server, listening on port 21113 11 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.mylyn/repositories.xml.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.mylyn/repositories.xml.zip -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.cdt.core/.log: -------------------------------------------------------------------------------- 1 | *** SESSION 7月 05, 2017 14:35:57.94 -------------------------------------------- 2 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree: -------------------------------------------------------------------------------- 1 | org.eclipse.team.svnremote-cache-keyorg.eclipse.cdt.coreorg.eclipse.team.svn.core -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources -------------------------------------------------------------------------------- /stm32f407/.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 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | version=1 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | resetSendMode=KEEP 3 | resetSendModeOn=0 4 | sendMode=NOTIFY 5 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | mylyn.attention.migrated=true 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | migrated.task.repositories.secure.store=true 3 | org.eclipse.mylyn.tasks.ui.filters.nonmatching=true 4 | org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true 5 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | externalMigrateFromAuthorizationDatabase/isMigrated=true 3 | migrateFromAuthorizationDatabase/isMigrated=true 4 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.team.ui.first_time=false 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs: -------------------------------------------------------------------------------- 1 | PROBLEMS_FILTERS_MIGRATE=true 2 | eclipse.preferences.version=1 3 | platformState=1490346434316 4 | quickStart=false 5 | tipsAndTricks=true 6 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | showIntro=false 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs: -------------------------------------------------------------------------------- 1 | //org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.fdt: -------------------------------------------------------------------------------- 1 | 0.6 -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.fdx: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.fnm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.fnm -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.frq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.frq -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.nrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.nrm -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.tii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.tii -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.tis: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/_0.tis -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/segments.gen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/segments.gen -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/segments_1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/segments_1 -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/write.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/local-history/write.lock -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.fdt: -------------------------------------------------------------------------------- 1 | 0.6 -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.fdx: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.fnm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.fnm -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.frq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.frq -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.nrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.nrm -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.tii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.tii -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.tis: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/_0.tis -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/segments.gen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/segments.gen -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/segments_1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/remote-history/segments_1 -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.epp.logging.aeri.ide/org.eclipse.epp.logging.aeri.ide.server/server-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "v1", 3 | "title": "Eclipse", 4 | "timestamp": 1499236560011, 5 | "ttl": 10080, 6 | "helpUrl": "https://dev.eclipse.org/recommenders/community/aeri/v2/help/", 7 | "feedbackUrl": "http://ctrlflow.com/automated-error-reporting", 8 | "aboutUrl": "https://wiki.eclipse.org/EPP/Logging", 9 | "submitUrl": "https://dev.eclipse.org/recommenders/community/confess/0.6/reports/", 10 | "maxReportSize": 262144, 11 | "problemsUrl": "https://www.eclipse.org/downloads/download.php?r\u003d1\u0026file\u003d/technology/epp/logging/problems.zip", 12 | "problemsTtl": 20160, 13 | "connectTimeout": 10, 14 | "socketTimeout": 10, 15 | "acceptedProducts": [ 16 | "org.eclipse.*", 17 | "org.fordiac.*" 18 | ], 19 | "acceptedPlugins": [ 20 | "org.apache.log4j.*", 21 | "org.eclipse.*", 22 | "org.fordiac.*" 23 | ], 24 | "acceptedPackages": [ 25 | "ch.qos.*", 26 | "com.cforcoding.*", 27 | "com.google.*", 28 | "com.gradleware.tooling.*", 29 | "com.mountainminds.eclemma.*", 30 | "com.naef.*", 31 | "com.sun.*", 32 | "java.*", 33 | "javafx.*", 34 | "javax.*", 35 | "org.apache.*", 36 | "org.eclipse.*", 37 | "org.fordiac.*", 38 | "org.gradle.*", 39 | "org.jacoco.*", 40 | "org.osgi.*", 41 | "org.slf4j.*", 42 | "sun.*" 43 | ], 44 | "requiredPackages": [ 45 | "com.cforcoding.*", 46 | "com.gradleware.tooling.*", 47 | "com.mountainminds.eclemma.*", 48 | "com.naef.*", 49 | "org.eclipse.*", 50 | "org.fordiac.*", 51 | "org.gradle.*", 52 | "org.jacoco.*" 53 | ], 54 | "acceptOtherPackages": false, 55 | "acceptUiFreezes": true, 56 | "ignoredStatuses": [ 57 | ":java.io.IOException:There is not enough space on the disk", 58 | ":java.net.*:", 59 | "org.eclipse.core.filesystem::Could not delete*", 60 | "org.eclipse.core.filesystem::Could not move*", 61 | "org.eclipse.core.resources:org.eclipse.core.internal.resources.ResourceException:Resource is out of sync with the file system*", 62 | "org.eclipse.core.runtime::Invalid input url*", 63 | "org.eclipse.epp.mpc.ui:java.io.IOException:", 64 | "org.eclipse.equinox.p2.*::", 65 | "org.eclipse.jface:java.io.IOException:Unable to resolve plug-in*", 66 | "org.eclipse.oomph.setup.core:$org.apache.http.ConnectionClosedException:", 67 | "org.eclipse.pde.core::The current target platform contains errors*", 68 | "org.eclipse.ui::Conflicting handlers for*" 69 | ], 70 | "problemsZipLastDownloadTimestamp": 0 71 | } -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhover: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhover -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhover: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhover -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 |
18 | -------------------------------------------------------------------------------- /stm32f407/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /stm32f407/.metadata/version.ini: -------------------------------------------------------------------------------- 1 | #Wed Jul 05 14:35:55 CST 2017 2 | org.eclipse.core.runtime=2 3 | org.eclipse.platform=4.5.2.v20160212-1500 4 | -------------------------------------------------------------------------------- /stm32f407/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | stm32f407 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 | org.eclipse.cdt.core.cnature 23 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 24 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature 25 | fr.ac6.mcu.ide.core.MCUProjectNature 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /stm32f407/.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 | -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o -------------------------------------------------------------------------------- /stm32f407/Debug/Drivers/STM32F4xx_HAL_Driver/Src/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 | C_SRCS += \ 7 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c \ 8 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c \ 9 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c \ 10 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c \ 11 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c \ 12 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c \ 13 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c \ 14 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c \ 15 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c \ 16 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c \ 17 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c \ 18 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c \ 19 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c \ 20 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c \ 21 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c \ 22 | ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c 23 | 24 | OBJS += \ 25 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o \ 26 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o \ 27 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o \ 28 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o \ 29 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o \ 30 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o \ 31 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o \ 32 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o \ 33 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o \ 34 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o \ 35 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o \ 36 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o \ 37 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o \ 38 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o \ 39 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o \ 40 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o 41 | 42 | C_DEPS += \ 43 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.d \ 44 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.d \ 45 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.d \ 46 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.d \ 47 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.d \ 48 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.d \ 49 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.d \ 50 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.d \ 51 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.d \ 52 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.d \ 53 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.d \ 54 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.d \ 55 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.d \ 56 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.d \ 57 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.d \ 58 | ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.d 59 | 60 | 61 | # Each subdirectory must supply rules for building sources it contributes 62 | Drivers/STM32F4xx_HAL_Driver/Src/%.o: ../Drivers/STM32F4xx_HAL_Driver/Src/%.c 63 | @echo 'Building file: $<' 64 | @echo 'Invoking: MCU GCC Compiler' 65 | @echo $(PWD) 66 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 67 | @echo 'Finished building: $<' 68 | @echo ' ' 69 | 70 | 71 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c \ 3 | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \ 4 | /home/n52/code_test/stm32f407/Drivers/CMSIS/Include/core_cmFunc.h \ 5 | /home/n52/code_test/stm32f407/Drivers/CMSIS/Include/cmsis_gcc.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 7 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 8 | /home/n52/code_test/stm32f407/Inc/main.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 16 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ 17 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 18 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \ 19 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \ 20 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \ 21 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \ 22 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h 23 | 24 | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h: 25 | 26 | /home/n52/code_test/stm32f407/Drivers/CMSIS/Include/core_cmFunc.h: 27 | 28 | /home/n52/code_test/stm32f407/Drivers/CMSIS/Include/cmsis_gcc.h: 29 | 30 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 31 | 32 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 33 | 34 | /home/n52/code_test/stm32f407/Inc/main.h: 35 | 36 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 37 | 38 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 39 | 40 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 41 | 42 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 43 | 44 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 45 | 46 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 47 | 48 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 49 | 50 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 51 | 52 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 53 | 54 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: 55 | 56 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h: 57 | 58 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: 59 | 60 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h: 61 | 62 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 63 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/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 | C_SRCS += \ 7 | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c 8 | 9 | OBJS += \ 10 | ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o 11 | 12 | C_DEPS += \ 13 | ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d 14 | 15 | 16 | # Each subdirectory must supply rules for building sources it contributes 17 | Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.o: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.c 18 | @echo 'Building file: $<' 19 | @echo 'Invoking: MCU GCC Compiler' 20 | @echo $(PWD) 21 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 22 | @echo 'Finished building: $<' 23 | @echo ' ' 24 | 25 | 26 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/croutine.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h 14 | 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 16 | 17 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 18 | 19 | /home/n52/code_test/stm32f407/Inc/main.h: 20 | 21 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 22 | 23 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 24 | 25 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 26 | 27 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 28 | 29 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 30 | 31 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 32 | 33 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 34 | 35 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h: 36 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/event_groups.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \ 16 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h 17 | 18 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 19 | 20 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 21 | 22 | /home/n52/code_test/stm32f407/Inc/main.h: 23 | 24 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 25 | 26 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 27 | 28 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 29 | 30 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 31 | 32 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 33 | 34 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 35 | 36 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 37 | 38 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 39 | 40 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 41 | 42 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h: 43 | 44 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 45 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/list.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/list.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h 12 | 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 14 | 15 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 16 | 17 | /home/n52/code_test/stm32f407/Inc/main.h: 18 | 19 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 20 | 21 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 22 | 23 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 24 | 25 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 26 | 27 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 28 | 29 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 30 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h 13 | 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 15 | 16 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 17 | 18 | /home/n52/code_test/stm32f407/Inc/main.h: 19 | 20 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 21 | 22 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 23 | 24 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 25 | 26 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 27 | 28 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 29 | 30 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 31 | 32 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 33 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/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 | C_SRCS += \ 7 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c 8 | 9 | OBJS += \ 10 | ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o 11 | 12 | C_DEPS += \ 13 | ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d 14 | 15 | 16 | # Each subdirectory must supply rules for building sources it contributes 17 | Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.o: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.c 18 | @echo 'Building file: $<' 19 | @echo 'Invoking: MCU GCC Compiler' 20 | @echo $(PWD) 21 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 22 | @echo 'Finished building: $<' 23 | @echo ' ' 24 | 25 | 26 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h 13 | 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 15 | 16 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 17 | 18 | /home/n52/code_test/stm32f407/Inc/main.h: 19 | 20 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 21 | 22 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 23 | 24 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 25 | 26 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 27 | 28 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 29 | 30 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 31 | 32 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 33 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/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 | C_SRCS += \ 7 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c 8 | 9 | OBJS += \ 10 | ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o 11 | 12 | C_DEPS += \ 13 | ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d 14 | 15 | 16 | # Each subdirectory must supply rules for building sources it contributes 17 | Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.o: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.c 18 | @echo 'Building file: $<' 19 | @echo 'Invoking: MCU GCC Compiler' 20 | @echo $(PWD) 21 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 22 | @echo 'Finished building: $<' 23 | @echo ' ' 24 | 25 | 26 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/queue.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/queue.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h 14 | 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 16 | 17 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 18 | 19 | /home/n52/code_test/stm32f407/Inc/main.h: 20 | 21 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 22 | 23 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 24 | 25 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 26 | 27 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 28 | 29 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 30 | 31 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 32 | 33 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 34 | 35 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: 36 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/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 | C_SRCS += \ 7 | ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c \ 8 | ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c \ 9 | ../Middlewares/Third_Party/FreeRTOS/Source/list.c \ 10 | ../Middlewares/Third_Party/FreeRTOS/Source/queue.c \ 11 | ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c \ 12 | ../Middlewares/Third_Party/FreeRTOS/Source/timers.c 13 | 14 | OBJS += \ 15 | ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o \ 16 | ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o \ 17 | ./Middlewares/Third_Party/FreeRTOS/Source/list.o \ 18 | ./Middlewares/Third_Party/FreeRTOS/Source/queue.o \ 19 | ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o \ 20 | ./Middlewares/Third_Party/FreeRTOS/Source/timers.o 21 | 22 | C_DEPS += \ 23 | ./Middlewares/Third_Party/FreeRTOS/Source/croutine.d \ 24 | ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.d \ 25 | ./Middlewares/Third_Party/FreeRTOS/Source/list.d \ 26 | ./Middlewares/Third_Party/FreeRTOS/Source/queue.d \ 27 | ./Middlewares/Third_Party/FreeRTOS/Source/tasks.d \ 28 | ./Middlewares/Third_Party/FreeRTOS/Source/timers.d 29 | 30 | 31 | # Each subdirectory must supply rules for building sources it contributes 32 | Middlewares/Third_Party/FreeRTOS/Source/%.o: ../Middlewares/Third_Party/FreeRTOS/Source/%.c 33 | @echo 'Building file: $<' 34 | @echo 'Invoking: MCU GCC Compiler' 35 | @echo $(PWD) 36 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 37 | @echo 'Finished building: $<' 38 | @echo ' ' 39 | 40 | 41 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/tasks.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h 16 | 17 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 18 | 19 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 20 | 21 | /home/n52/code_test/stm32f407/Inc/main.h: 22 | 23 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 24 | 25 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 26 | 27 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 28 | 29 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 30 | 31 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 32 | 33 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 34 | 35 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 36 | 37 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 38 | 39 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 40 | 41 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h: 42 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.d: -------------------------------------------------------------------------------- 1 | Middlewares/Third_Party/FreeRTOS/Source/timers.o: \ 2 | ../Middlewares/Third_Party/FreeRTOS/Source/timers.c \ 3 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \ 4 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h \ 5 | /home/n52/code_test/stm32f407/Inc/main.h \ 6 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \ 7 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \ 8 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ 9 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ 10 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ 11 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ 12 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ 13 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \ 14 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ 15 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h 16 | 17 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: 18 | 19 | /home/n52/code_test/stm32f407/Inc/FreeRTOSConfig.h: 20 | 21 | /home/n52/code_test/stm32f407/Inc/main.h: 22 | 23 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h: 24 | 25 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h: 26 | 27 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: 28 | 29 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: 30 | 31 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: 32 | 33 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 34 | 35 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/list.h: 36 | 37 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: 38 | 39 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: 40 | 41 | /home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include/task.h: 42 | -------------------------------------------------------------------------------- /stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/AHRS_matrix.d: -------------------------------------------------------------------------------- 1 | Src/AHRS_matrix.o: ../Src/AHRS_matrix.c \ 2 | /home/n52/code_test/stm32f407/Inc/AHRS_matrix.h 3 | 4 | /home/n52/code_test/stm32f407/Inc/AHRS_matrix.h: 5 | -------------------------------------------------------------------------------- /stm32f407/Debug/Src/AHRS_matrix.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/AHRS_matrix.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/AHRS_quat.d: -------------------------------------------------------------------------------- 1 | Src/AHRS_quat.o: ../Src/AHRS_quat.c \ 2 | /home/n52/code_test/stm32f407/Inc/AHRS_quat.h 3 | 4 | /home/n52/code_test/stm32f407/Inc/AHRS_quat.h: 5 | -------------------------------------------------------------------------------- /stm32f407/Debug/Src/AHRS_quat.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/AHRS_quat.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/AHRS_states.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/AHRS_states.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/IMU.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/IMU.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/delay.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/delay.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/freertos.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/freertos.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/gpio.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/gpio.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/led.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/led.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/main.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/math_nb.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/math_nb.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/mpu6500.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/mpu6500.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/pid.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/pid.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/send_data.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/send_data.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/spi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/spi.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/stm32f4xx_hal_msp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/stm32f4xx_hal_msp.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/stm32f4xx_it.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/stm32f4xx_it.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/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 | C_SRCS += \ 7 | ../Src/AHRS_matrix.c \ 8 | ../Src/AHRS_quat.c \ 9 | ../Src/AHRS_states.c \ 10 | ../Src/IMU.c \ 11 | ../Src/delay.c \ 12 | ../Src/freertos.c \ 13 | ../Src/gpio.c \ 14 | ../Src/led.c \ 15 | ../Src/main.c \ 16 | ../Src/math_nb.c \ 17 | ../Src/mpu6500.c \ 18 | ../Src/pid.c \ 19 | ../Src/send_data.c \ 20 | ../Src/spi.c \ 21 | ../Src/stm32f4xx_hal_msp.c \ 22 | ../Src/stm32f4xx_it.c \ 23 | ../Src/sys.c \ 24 | ../Src/syscalls.c \ 25 | ../Src/system_stm32f4xx.c \ 26 | ../Src/tim.c \ 27 | ../Src/usart.c \ 28 | ../Src/utask.c 29 | 30 | OBJS += \ 31 | ./Src/AHRS_matrix.o \ 32 | ./Src/AHRS_quat.o \ 33 | ./Src/AHRS_states.o \ 34 | ./Src/IMU.o \ 35 | ./Src/delay.o \ 36 | ./Src/freertos.o \ 37 | ./Src/gpio.o \ 38 | ./Src/led.o \ 39 | ./Src/main.o \ 40 | ./Src/math_nb.o \ 41 | ./Src/mpu6500.o \ 42 | ./Src/pid.o \ 43 | ./Src/send_data.o \ 44 | ./Src/spi.o \ 45 | ./Src/stm32f4xx_hal_msp.o \ 46 | ./Src/stm32f4xx_it.o \ 47 | ./Src/sys.o \ 48 | ./Src/syscalls.o \ 49 | ./Src/system_stm32f4xx.o \ 50 | ./Src/tim.o \ 51 | ./Src/usart.o \ 52 | ./Src/utask.o 53 | 54 | C_DEPS += \ 55 | ./Src/AHRS_matrix.d \ 56 | ./Src/AHRS_quat.d \ 57 | ./Src/AHRS_states.d \ 58 | ./Src/IMU.d \ 59 | ./Src/delay.d \ 60 | ./Src/freertos.d \ 61 | ./Src/gpio.d \ 62 | ./Src/led.d \ 63 | ./Src/main.d \ 64 | ./Src/math_nb.d \ 65 | ./Src/mpu6500.d \ 66 | ./Src/pid.d \ 67 | ./Src/send_data.d \ 68 | ./Src/spi.d \ 69 | ./Src/stm32f4xx_hal_msp.d \ 70 | ./Src/stm32f4xx_it.d \ 71 | ./Src/sys.d \ 72 | ./Src/syscalls.d \ 73 | ./Src/system_stm32f4xx.d \ 74 | ./Src/tim.d \ 75 | ./Src/usart.d \ 76 | ./Src/utask.d 77 | 78 | 79 | # Each subdirectory must supply rules for building sources it contributes 80 | Src/%.o: ../Src/%.c 81 | @echo 'Building file: $<' 82 | @echo 'Invoking: MCU GCC Compiler' 83 | @echo $(PWD) 84 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F407xx -D__FPU_USED -D__FPU_PRESENT -DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -o "$@" "$<" 85 | @echo 'Finished building: $<' 86 | @echo ' ' 87 | 88 | 89 | -------------------------------------------------------------------------------- /stm32f407/Debug/Src/sys.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/sys.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/syscalls.d: -------------------------------------------------------------------------------- 1 | Src/syscalls.o: ../Src/syscalls.c 2 | -------------------------------------------------------------------------------- /stm32f407/Debug/Src/syscalls.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/syscalls.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/system_stm32f4xx.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/system_stm32f4xx.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/tim.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/tim.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/usart.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/usart.o -------------------------------------------------------------------------------- /stm32f407/Debug/Src/utask.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/Src/utask.o -------------------------------------------------------------------------------- /stm32f407/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 startup/subdir.mk 12 | -include Src/subdir.mk 13 | -include Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk 14 | -include Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk 15 | -include Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk 16 | -include Middlewares/Third_Party/FreeRTOS/Source/subdir.mk 17 | -include Drivers/STM32F4xx_HAL_Driver/Src/subdir.mk 18 | -include subdir.mk 19 | -include objects.mk 20 | 21 | ifneq ($(MAKECMDGOALS),clean) 22 | ifneq ($(strip $(S_UPPER_DEPS)),) 23 | -include $(S_UPPER_DEPS) 24 | endif 25 | ifneq ($(strip $(C_DEPS)),) 26 | -include $(C_DEPS) 27 | endif 28 | endif 29 | 30 | -include ../makefile.defs 31 | 32 | # Add inputs and outputs from these tool invocations to the build variables 33 | 34 | # All Target 35 | all: stm32f407.elf 36 | 37 | # Tool invocations 38 | stm32f407.elf: $(OBJS) $(USER_OBJS) ../STM32F407VGTx_FLASH.ld 39 | @echo 'Building target: $@' 40 | @echo 'Invoking: MCU GCC Linker' 41 | arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -u _printf_float -T"../STM32F407VGTx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "stm32f407.elf" @"objects.list" $(USER_OBJS) $(LIBS) 42 | @echo 'Finished building target: $@' 43 | @echo ' ' 44 | $(MAKE) --no-print-directory post-build 45 | 46 | # Other Targets 47 | clean: 48 | -$(RM) * 49 | -@echo ' ' 50 | 51 | post-build: 52 | -@echo 'Generating binary and Printing size information:' 53 | arm-none-eabi-objcopy -O binary "stm32f407.elf" "stm32f407.bin" 54 | arm-none-eabi-size "stm32f407.elf" 55 | -@echo ' ' 56 | 57 | .PHONY: all clean dependents 58 | .SECONDARY: post-build 59 | 60 | -include ../makefile.targets 61 | -------------------------------------------------------------------------------- /stm32f407/Debug/objects.list: -------------------------------------------------------------------------------- 1 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o" 2 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o" 3 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o" 4 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o" 5 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o" 6 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o" 7 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o" 8 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o" 9 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o" 10 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o" 11 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o" 12 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o" 13 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o" 14 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o" 15 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o" 16 | "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o" 17 | "Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o" 18 | "Middlewares/Third_Party/FreeRTOS/Source/croutine.o" 19 | "Middlewares/Third_Party/FreeRTOS/Source/event_groups.o" 20 | "Middlewares/Third_Party/FreeRTOS/Source/list.o" 21 | "Middlewares/Third_Party/FreeRTOS/Source/queue.o" 22 | "Middlewares/Third_Party/FreeRTOS/Source/tasks.o" 23 | "Middlewares/Third_Party/FreeRTOS/Source/timers.o" 24 | "Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o" 25 | "Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o" 26 | "Src/AHRS_matrix.o" 27 | "Src/AHRS_quat.o" 28 | "Src/AHRS_states.o" 29 | "Src/IMU.o" 30 | "Src/delay.o" 31 | "Src/freertos.o" 32 | "Src/gpio.o" 33 | "Src/led.o" 34 | "Src/main.o" 35 | "Src/math_nb.o" 36 | "Src/mpu6500.o" 37 | "Src/pid.o" 38 | "Src/send_data.o" 39 | "Src/spi.o" 40 | "Src/stm32f4xx_hal_msp.o" 41 | "Src/stm32f4xx_it.o" 42 | "Src/sys.o" 43 | "Src/syscalls.o" 44 | "Src/system_stm32f4xx.o" 45 | "Src/tim.o" 46 | "Src/usart.o" 47 | "Src/utask.o" 48 | "startup/startup_stm32f407xx.o" 49 | -------------------------------------------------------------------------------- /stm32f407/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | USER_OBJS := 6 | 7 | LIBS := 8 | 9 | -------------------------------------------------------------------------------- /stm32f407/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | OBJ_SRCS := 6 | S_SRCS := 7 | ASM_SRCS := 8 | C_SRCS := 9 | S_UPPER_SRCS := 10 | O_SRCS := 11 | EXECUTABLES := 12 | OBJS := 13 | S_UPPER_DEPS := 14 | C_DEPS := 15 | 16 | # Every subdirectory with source files must be described here 17 | SUBDIRS := \ 18 | Drivers/STM32F4xx_HAL_Driver/Src \ 19 | Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS \ 20 | Middlewares/Third_Party/FreeRTOS/Source \ 21 | Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F \ 22 | Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang \ 23 | Src \ 24 | startup \ 25 | 26 | -------------------------------------------------------------------------------- /stm32f407/Debug/startup/startup_stm32f407xx.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/startup/startup_stm32f407xx.o -------------------------------------------------------------------------------- /stm32f407/Debug/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 | ../startup/startup_stm32f407xx.s 8 | 9 | OBJS += \ 10 | ./startup/startup_stm32f407xx.o 11 | 12 | 13 | # Each subdirectory must supply rules for building sources it contributes 14 | startup/%.o: ../startup/%.s 15 | @echo 'Building file: $<' 16 | @echo 'Invoking: MCU GCC Assembler' 17 | @echo $(PWD) 18 | arm-none-eabi-as -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -I/home/n52/code_test/stm32f407/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/n52/code_test/stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include -I/home/n52/code_test/stm32f407/Drivers/CMSIS/Include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/include -I/home/n52/code_test/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I/home/n52/code_test/stm32f407/DSP_Lib -I/home/n52/code_test/stm32f407/DSP_Lib/Include -I/home/n52/code_test/stm32f407/Debug/ -g -o "$@" "$<" 19 | @echo 'Finished building: $<' 20 | @echo ' ' 21 | 22 | 23 | -------------------------------------------------------------------------------- /stm32f407/Debug/stm32f407.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/stm32f407.bin -------------------------------------------------------------------------------- /stm32f407/Debug/stm32f407.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Debug/stm32f407.elf -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32f4xx.h 4 | * @author MCD Application Team 5 | * @version V2.6.0 6 | * @date 04-November-2016 7 | * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2016 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /** @addtogroup CMSIS 39 | * @{ 40 | */ 41 | 42 | /** @addtogroup stm32f4xx_system 43 | * @{ 44 | */ 45 | 46 | /** 47 | * @brief Define to prevent recursive inclusion 48 | */ 49 | #ifndef __SYSTEM_STM32F4XX_H 50 | #define __SYSTEM_STM32F4XX_H 51 | 52 | #ifdef __cplusplus 53 | extern "C" { 54 | #endif 55 | 56 | /** @addtogroup STM32F4xx_System_Includes 57 | * @{ 58 | */ 59 | 60 | /** 61 | * @} 62 | */ 63 | 64 | 65 | /** @addtogroup STM32F4xx_System_Exported_types 66 | * @{ 67 | */ 68 | /* This variable is updated in three ways: 69 | 1) by calling CMSIS function SystemCoreClockUpdate() 70 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq() 71 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 72 | Note: If you use this function to configure the system clock; then there 73 | is no need to call the 2 first functions listed above, since SystemCoreClock 74 | variable is updated automatically. 75 | */ 76 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 77 | 78 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */ 79 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */ 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | /** @addtogroup STM32F4xx_System_Exported_Constants 86 | * @{ 87 | */ 88 | 89 | /** 90 | * @} 91 | */ 92 | 93 | /** @addtogroup STM32F4xx_System_Exported_Macros 94 | * @{ 95 | */ 96 | 97 | /** 98 | * @} 99 | */ 100 | 101 | /** @addtogroup STM32F4xx_System_Exported_Functions 102 | * @{ 103 | */ 104 | 105 | extern void SystemInit(void); 106 | extern void SystemCoreClockUpdate(void); 107 | /** 108 | * @} 109 | */ 110 | 111 | #ifdef __cplusplus 112 | } 113 | #endif 114 | 115 | #endif /*__SYSTEM_STM32F4XX_H */ 116 | 117 | /** 118 | * @} 119 | */ 120 | 121 | /** 122 | * @} 123 | */ 124 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 125 | -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Include/arm_const_structs.h: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved. 3 | * 4 | * $Date: 19. March 2015 5 | * $Revision: V.1.4.5 6 | * 7 | * Project: CMSIS DSP Library 8 | * Title: arm_const_structs.h 9 | * 10 | * Description: This file has constant structs that are initialized for 11 | * user convenience. For example, some can be given as 12 | * arguments to the arm_cfft_f32() function. 13 | * 14 | * Target Processor: Cortex-M4/Cortex-M3 15 | * 16 | * Redistribution and use in source and binary forms, with or without 17 | * modification, are permitted provided that the following conditions 18 | * are met: 19 | * - Redistributions of source code must retain the above copyright 20 | * notice, this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in 23 | * the documentation and/or other materials provided with the 24 | * distribution. 25 | * - Neither the name of ARM LIMITED nor the names of its contributors 26 | * may be used to endorse or promote products derived from this 27 | * software without specific prior written permission. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 30 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 32 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 33 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 35 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 36 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 37 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 38 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 39 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 40 | * POSSIBILITY OF SUCH DAMAGE. 41 | * -------------------------------------------------------------------- */ 42 | 43 | #ifndef _ARM_CONST_STRUCTS_H 44 | #define _ARM_CONST_STRUCTS_H 45 | 46 | #include "arm_math.h" 47 | #include "arm_common_tables.h" 48 | 49 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len16; 50 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len32; 51 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len64; 52 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len128; 53 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len256; 54 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len512; 55 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024; 56 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048; 57 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096; 58 | 59 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len16; 60 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len32; 61 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len64; 62 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len128; 63 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len256; 64 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len512; 65 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024; 66 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048; 67 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096; 68 | 69 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len16; 70 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len32; 71 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len64; 72 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len128; 73 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len256; 74 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len512; 75 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024; 76 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048; 77 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096; 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Include/core_cmFunc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmFunc.h 3 | * @brief CMSIS Cortex-M Core Function Access Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMFUNC_H 42 | #define __CORE_CMFUNC_H 43 | 44 | 45 | /* ########################### Core Function Access ########################### */ 46 | /** \ingroup CMSIS_Core_FunctionInterface 47 | \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 48 | @{ 49 | */ 50 | 51 | /*------------------ RealView Compiler -----------------*/ 52 | #if defined ( __CC_ARM ) 53 | #include "cmsis_armcc.h" 54 | 55 | /*------------------ ARM Compiler V6 -------------------*/ 56 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 57 | #include "cmsis_armcc_V6.h" 58 | 59 | /*------------------ GNU Compiler ----------------------*/ 60 | #elif defined ( __GNUC__ ) 61 | #include "cmsis_gcc.h" 62 | 63 | /*------------------ ICC Compiler ----------------------*/ 64 | #elif defined ( __ICCARM__ ) 65 | #include 66 | 67 | /*------------------ TI CCS Compiler -------------------*/ 68 | #elif defined ( __TMS470__ ) 69 | #include 70 | 71 | /*------------------ TASKING Compiler ------------------*/ 72 | #elif defined ( __TASKING__ ) 73 | /* 74 | * The CMSIS functions have been implemented as intrinsics in the compiler. 75 | * Please use "carm -?i" to get an up to date list of all intrinsics, 76 | * Including the CMSIS ones. 77 | */ 78 | 79 | /*------------------ COSMIC Compiler -------------------*/ 80 | #elif defined ( __CSMC__ ) 81 | #include 82 | 83 | #endif 84 | 85 | /*@} end of CMSIS_Core_RegAccFunctions */ 86 | 87 | #endif /* __CORE_CMFUNC_H */ 88 | -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Include/core_cmInstr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmInstr.h 3 | * @brief CMSIS Cortex-M Core Instruction Access Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMINSTR_H 42 | #define __CORE_CMINSTR_H 43 | 44 | 45 | /* ########################## Core Instruction Access ######################### */ 46 | /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 47 | Access to dedicated instructions 48 | @{ 49 | */ 50 | 51 | /*------------------ RealView Compiler -----------------*/ 52 | #if defined ( __CC_ARM ) 53 | #include "cmsis_armcc.h" 54 | 55 | /*------------------ ARM Compiler V6 -------------------*/ 56 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 57 | #include "cmsis_armcc_V6.h" 58 | 59 | /*------------------ GNU Compiler ----------------------*/ 60 | #elif defined ( __GNUC__ ) 61 | #include "cmsis_gcc.h" 62 | 63 | /*------------------ ICC Compiler ----------------------*/ 64 | #elif defined ( __ICCARM__ ) 65 | #include 66 | 67 | /*------------------ TI CCS Compiler -------------------*/ 68 | #elif defined ( __TMS470__ ) 69 | #include 70 | 71 | /*------------------ TASKING Compiler ------------------*/ 72 | #elif defined ( __TASKING__ ) 73 | /* 74 | * The CMSIS functions have been implemented as intrinsics in the compiler. 75 | * Please use "carm -?i" to get an up to date list of all intrinsics, 76 | * Including the CMSIS ones. 77 | */ 78 | 79 | /*------------------ COSMIC Compiler -------------------*/ 80 | #elif defined ( __CSMC__ ) 81 | #include 82 | 83 | #endif 84 | 85 | /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ 86 | 87 | #endif /* __CORE_CMINSTR_H */ 88 | -------------------------------------------------------------------------------- /stm32f407/Drivers/CMSIS/Include/core_cmSimd.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmSimd.h 3 | * @brief CMSIS Cortex-M SIMD Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMSIMD_H 42 | #define __CORE_CMSIMD_H 43 | 44 | #ifdef __cplusplus 45 | extern "C" { 46 | #endif 47 | 48 | 49 | /* ################### Compiler specific Intrinsics ########################### */ 50 | /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics 51 | Access to dedicated SIMD instructions 52 | @{ 53 | */ 54 | 55 | /*------------------ RealView Compiler -----------------*/ 56 | #if defined ( __CC_ARM ) 57 | #include "cmsis_armcc.h" 58 | 59 | /*------------------ ARM Compiler V6 -------------------*/ 60 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 61 | #include "cmsis_armcc_V6.h" 62 | 63 | /*------------------ GNU Compiler ----------------------*/ 64 | #elif defined ( __GNUC__ ) 65 | #include "cmsis_gcc.h" 66 | 67 | /*------------------ ICC Compiler ----------------------*/ 68 | #elif defined ( __ICCARM__ ) 69 | #include 70 | 71 | /*------------------ TI CCS Compiler -------------------*/ 72 | #elif defined ( __TMS470__ ) 73 | #include 74 | 75 | /*------------------ TASKING Compiler ------------------*/ 76 | #elif defined ( __TASKING__ ) 77 | /* 78 | * The CMSIS functions have been implemented as intrinsics in the compiler. 79 | * Please use "carm -?i" to get an up to date list of all intrinsics, 80 | * Including the CMSIS ones. 81 | */ 82 | 83 | /*------------------ COSMIC Compiler -------------------*/ 84 | #elif defined ( __CSMC__ ) 85 | #include 86 | 87 | #endif 88 | 89 | /*@} end of group CMSIS_SIMD_intrinsics */ 90 | 91 | 92 | #ifdef __cplusplus 93 | } 94 | #endif 95 | 96 | #endif /* __CORE_CMSIMD_H */ 97 | -------------------------------------------------------------------------------- /stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_dma_ex.h 4 | * @author MCD Application Team 5 | * @version V1.6.0 6 | * @date 04-November-2016 7 | * @brief Header file of DMA HAL extension module. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2016 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ 39 | #ifndef __STM32F4xx_HAL_DMA_EX_H 40 | #define __STM32F4xx_HAL_DMA_EX_H 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | /* Includes ------------------------------------------------------------------*/ 47 | #include "stm32f4xx_hal_def.h" 48 | 49 | /** @addtogroup STM32F4xx_HAL_Driver 50 | * @{ 51 | */ 52 | 53 | /** @addtogroup DMAEx 54 | * @{ 55 | */ 56 | 57 | /* Exported types ------------------------------------------------------------*/ 58 | /** @defgroup DMAEx_Exported_Types DMAEx Exported Types 59 | * @brief DMAEx Exported types 60 | * @{ 61 | */ 62 | 63 | /** 64 | * @brief HAL DMA Memory definition 65 | */ 66 | typedef enum 67 | { 68 | MEMORY0 = 0x00U, /*!< Memory 0 */ 69 | MEMORY1 = 0x01U /*!< Memory 1 */ 70 | }HAL_DMA_MemoryTypeDef; 71 | 72 | /** 73 | * @} 74 | */ 75 | 76 | /* Exported functions --------------------------------------------------------*/ 77 | /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions 78 | * @brief DMAEx Exported functions 79 | * @{ 80 | */ 81 | 82 | /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions 83 | * @brief Extended features functions 84 | * @{ 85 | */ 86 | 87 | /* IO operation functions *******************************************************/ 88 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); 89 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); 90 | HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory); 91 | 92 | /** 93 | * @} 94 | */ 95 | /** 96 | * @} 97 | */ 98 | 99 | /* Private functions ---------------------------------------------------------*/ 100 | /** @defgroup DMAEx_Private_Functions DMAEx Private Functions 101 | * @brief DMAEx Private functions 102 | * @{ 103 | */ 104 | /** 105 | * @} 106 | */ 107 | 108 | /** 109 | * @} 110 | */ 111 | 112 | /** 113 | * @} 114 | */ 115 | 116 | #ifdef __cplusplus 117 | } 118 | #endif 119 | 120 | #endif /*__STM32F4xx_HAL_DMA_EX_H*/ 121 | 122 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 123 | -------------------------------------------------------------------------------- /stm32f407/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @version V1.6.0 6 | * @date 04-November-2016 7 | * @brief Header file of FLASH RAMFUNC driver. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2016 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ 39 | #ifndef __STM32F4xx_FLASH_RAMFUNC_H 40 | #define __STM32F4xx_FLASH_RAMFUNC_H 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F411xE) || defined(STM32F446xx) || defined(STM32F412Zx) ||\ 46 | defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) 47 | 48 | /* Includes ------------------------------------------------------------------*/ 49 | #include "stm32f4xx_hal_def.h" 50 | 51 | /** @addtogroup STM32F4xx_HAL_Driver 52 | * @{ 53 | */ 54 | 55 | /** @addtogroup FLASH_RAMFUNC 56 | * @{ 57 | */ 58 | 59 | /* Exported types ------------------------------------------------------------*/ 60 | /* Exported macro ------------------------------------------------------------*/ 61 | /* Exported functions --------------------------------------------------------*/ 62 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 63 | * @{ 64 | */ 65 | 66 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 67 | * @{ 68 | */ 69 | __RAM_FUNC HAL_FLASHEx_StopFlashInterfaceClk(void); 70 | __RAM_FUNC HAL_FLASHEx_StartFlashInterfaceClk(void); 71 | __RAM_FUNC HAL_FLASHEx_EnableFlashSleepMode(void); 72 | __RAM_FUNC HAL_FLASHEx_DisableFlashSleepMode(void); 73 | /** 74 | * @} 75 | */ 76 | 77 | /** 78 | * @} 79 | */ 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | /** 86 | * @} 87 | */ 88 | 89 | #endif /* STM32F410xx || STM32F411xE || STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx */ 90 | #ifdef __cplusplus 91 | } 92 | #endif 93 | 94 | 95 | #endif /* __STM32F4xx_FLASH_RAMFUNC_H */ 96 | 97 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 98 | -------------------------------------------------------------------------------- /stm32f407/Inc/AHRS_matrix.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------------------ 2 | File: AHRS_matrix.h 3 | Description: Functions for operating on arbitrarily sized matrices 4 | ------------------------------------------------------------------------------ */ 5 | 6 | #ifndef __AHRS_MATRIX_H 7 | #define __AHRS_MATRIX_H 8 | 9 | #define MATRIX_MAX_ROWS 4 10 | #define MATRIX_MAX_COLUMNS 4 11 | 12 | typedef struct _fMatrix { 13 | int rows; 14 | int columns; 15 | float data[MATRIX_MAX_ROWS][MATRIX_MAX_COLUMNS]; 16 | } fMatrix; 17 | 18 | // Matrix operations 19 | int mat_add( fMatrix* src1, fMatrix* src2, fMatrix* dest ); 20 | int mat_mult( fMatrix* src1, fMatrix* src2, fMatrix* dest ); 21 | int mat_scalar_mult( float scalar, fMatrix* src, fMatrix* dest ); 22 | int mat_determinant( fMatrix* src, float* det ); 23 | int mat_transpose( fMatrix* src, fMatrix* dest ); 24 | int mat_create_identity( fMatrix* dest, int rows, int columns ); 25 | int mat_zero( fMatrix* dest, int rows, int columns ); 26 | int mat_copy( fMatrix* src, fMatrix* dest ); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /stm32f407/Inc/AHRS_quat.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------------------ 2 | File: AHRS_quat_h.h 3 | Description: Functions for operating on quaternions 4 | ------------------------------------------------------------------------------ */ 5 | 6 | #ifndef __AHRS_quat_h 7 | #define __AHRS_quat_h 8 | 9 | typedef struct _quat { 10 | float a,b,c,d; 11 | } quat; 12 | 13 | int quat_mult( quat* src1, quat* src2, quat* dest ); 14 | int quat_conj( quat* src, quat* dest ); 15 | int quat_norm( quat* src ); 16 | int quat_add( quat* src1, quat* src2, quat* dest ); 17 | int quat_subtract( quat* src1, quat*src2, quat* dest ); 18 | int quat_scalar_mult( quat* qsrc, float scalar, quat* dest ); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /stm32f407/Inc/AHRS_states.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------------------ 2 | File: AHRS_states.c 3 | Description: Function declarations for CHR-6dm state estimation. 4 | ------------------------------------------------------------------------------ */ 5 | 6 | //#include "stm32f10x.h" 7 | #include "stm32f4xx_hal.h" 8 | #include "main.h" 9 | #ifndef _AHRS_STATES__ 10 | #define _AHRS_STATES__ 11 | 12 | 13 | #include "AHRS_matrix.h" 14 | #include "AHRS_quat.h" 15 | // Structure for holding raw sensor data 16 | typedef struct __SensorData { 17 | float gyro_data[3]; 18 | float gyro_zero_norm[3]; 19 | uint32_t new_gyro_data; 20 | 21 | float acc_data[3]; 22 | float acc_zero_norm; 23 | uint32_t new_accel_data; 24 | 25 | float mag_data[3]; 26 | float mag_zero_norm; 27 | uint32_t new_mag_data; 28 | } SensorData; 29 | 30 | 31 | // Structure for storing AHRS states and other data related to state computation 32 | // This structure is, in a way, redundant because all this data is also stored in the 33 | // UM6_config or UM6_data structures. However, in the config and data strucutres, the 34 | // data is packaged as UInt32 entries into an array for convenience with communication. 35 | // To use the data as floats, special formatting is required. This structure provides 36 | // a place to store that data in the expected format, which makes accessing it easier. 37 | typedef struct __AHRS_state_data { 38 | 39 | float psi; 40 | float theta; 41 | float phi; 42 | 43 | quat qib; // Quaternion states "qib" = Quaternion from Inertial to Body 44 | fMatrix R; // Process noise matrix 45 | fMatrix Sigma; // EKF covariance 46 | 47 | // Magnetic field reference vector 48 | float mag_ref_x; 49 | float mag_ref_y; 50 | float mag_ref_z; 51 | // Accelerometer reference vector 52 | float accel_ref_x; 53 | float accel_ref_y; 54 | float accel_ref_z; 55 | 56 | 57 | float accel_var; // accelerometer measurement variance 58 | float mag_var; // Magnetometer variance 59 | float process_var; // Process variance 60 | 61 | // Entries for storing processed sensor data 62 | float gyro_x; 63 | float gyro_y; 64 | float gyro_z; 65 | 66 | float accel_x; 67 | float accel_y; 68 | float accel_z; 69 | 70 | float mag_x; 71 | float mag_y; 72 | float mag_z; 73 | 74 | } AHRS_state_data; 75 | 76 | extern SensorData gSensorData; 77 | extern AHRS_state_data gStateData; 78 | 79 | extern uint8_t gEKF_mode; 80 | 81 | // Function declarations 82 | void EKF_Init( void ); 83 | void EKF_EstimateStates( AHRS_state_data* estimated_states, SensorData* sensor_data ); 84 | void EKF_Predict( AHRS_state_data* estimated_states, SensorData* sensor_data ); 85 | void EKF_Update( AHRS_state_data* estimated_states, SensorData* sensor_data ); 86 | void EKF_Correction( fMatrix* C, float sensor_data, float sensor_hat, float sensor_covariance, AHRS_state_data* estimated_states, int sensor_type ); 87 | 88 | #define MAG_UPDATE 0 89 | #define ACCEL_UPDATE 1 90 | 91 | // EKF "mode" stored in the global variable gEKF_mode 92 | #define EKF_MODE_QUAT 0 93 | #define EKF_MODE_EULER 1 94 | 95 | 96 | void compute_euler_angles( AHRS_state_data* estimated_states ); 97 | void compute_qid( AHRS_state_data* estimated_states ); 98 | void unroll_states( AHRS_state_data* states ); 99 | 100 | #endif 101 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/IMU.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __IMU_H 2 | #define __IMU_H 3 | 4 | //#include "common.h" 5 | #include "stm32f4xx_hal.h" 6 | #include 7 | #include "MPU6050.h" 8 | #include "mpu6500.h" 9 | 10 | #define M_PI (float)3.1415926535 11 | 12 | //��������̬��������ⲿ������� 13 | extern volatile float IMU_Pitch,IMU_Roll,IMU_Yaw,ACC_Pitch,ACC_Roll,ACC_M_Yaw,SDK_Roll,SDK_Pitch,SDK_Yaw; //��λ �� 14 | extern volatile float Motion_Accx, Motion_Accy, Motion_Accxlast, Motion_Accylast, Motion_Velocity_X, Motion_Velocity_Y;//�˶����ٶ� 15 | extern volatile float Position_X,Position_Y; 16 | extern volatile float Velocity_x_now, Velocity_y_now,Velocity_x_last,Velocity_y_last; 17 | //�����ǵ������ 18 | extern volatile float IMU_GYROx, IMU_GYROy, IMU_GYROz; //��λ ��ÿ�� 19 | extern float acc_vector; //��ǰ���ٶȸ�Ӧ�������� M/S^2�� 20 | 21 | extern volatile float MPU6500_Pitch, MPU6500_Roll, MPU6500_Yaw; 22 | 23 | //Mini IMU AHRS �����API 24 | void IMU_init(void); //��ʼ�� 25 | void IMU_getYawPitchRoll(float * ypr); //������̬ ��Ҫ���ڵ��� 26 | //uint32_t micros(void); //��ȡϵͳ�ϵ���ʱ�� ��λ us 27 | void Initialize_Q(void); 28 | void Get_Motion_Acc(void); 29 | void Get_Motion_Velocity(void); 30 | void ACC_NewValue(void); 31 | float Acc_getAvg(float * buff, int size); 32 | void DJI_SDK_Attitude(void); 33 | void Get_Position(void); 34 | extern float invSqrt(float x); 35 | void Get_Velocity_bias(void); 36 | 37 | void mpu6050_get_rpy(void); 38 | 39 | #endif 40 | 41 | //------------------End of File---------------------------- 42 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/IOI2C.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __IOI2C_H 2 | #define __IOI2C_H 3 | #include "stm32f4xx.h" 4 | 5 | //IO�ڲ����궨�� 6 | #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 7 | #define MEM_ADDR(addr) *((volatile unsigned long *)(addr)) 8 | #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)) 9 | 10 | //IO�ڵ�ַӳ�� 11 | #define GPIOB_ODR_Addr (GPIOB_BASE+0x14) //0x40010C14 12 | #define GPIOC_ODR_Addr (GPIOC_BASE+0x14) //0x40011014 13 | 14 | #define GPIOB_IDR_Addr (GPIOB_BASE+0x10) //0x40010C10 15 | #define GPIOC_IDR_Addr (GPIOC_BASE+0x10) //0x40011010 16 | 17 | #define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //��� 18 | #define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //���� 19 | 20 | #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //��� 21 | #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //���� 22 | 23 | //IO�������� 24 | #define SDA_IN() {GPIOB->MODER&=0xFFFF3FFF;GPIOB->MODER|=0x00000000;} 25 | #define SDA_OUT() {GPIOB->MODER&=0xFFFF3FFF;GPIOB->MODER|=0x00004000;} 26 | 27 | 28 | //IO�������� 29 | #define IIC_SCL PBout(6) //SCL 30 | #define IIC_SDA PBout(7) //SDA 31 | #define READ_SDA PBin(7) //����SDA 32 | 33 | //IIC���в������� 34 | void IIC_Init(void); //��ʼ��IIC��IO�� 35 | void IIC_Start(void); //����IIC��ʼ�ź� 36 | void IIC_Stop(void); //����IICֹͣ�ź� 37 | void IIC_Send_Byte(uint8_t txd); //IIC����һ���ֽ� 38 | uint8_t IIC_Read_Byte(unsigned char ack);//IIC��ȡһ���ֽ� 39 | uint8_t IIC_Wait_Ack(void); //IIC�ȴ�ACK�ź� 40 | void IIC_Ack(void); //IIC����ACK�ź� 41 | void IIC_NAck(void); //IIC������ACK�ź� 42 | 43 | 44 | extern int16_t I2C_Erorr_Count; 45 | 46 | void IIC_Write_One_Byte(uint8_t daddr,uint8_t addr,uint8_t data); 47 | uint8_t IIC_Read_One_Byte(uint8_t daddr,uint8_t addr); 48 | unsigned char I2C_Readkey(unsigned char I2C_Addr); 49 | 50 | unsigned char I2C_ReadOneByte(unsigned char I2C_Addr,unsigned char addr); 51 | unsigned char IICwriteByte(unsigned char dev, unsigned char reg, unsigned char data); 52 | uint8_t IICwriteBytes(uint8_t dev, uint8_t reg, uint8_t length, uint8_t* data); 53 | uint8_t IICwriteBits(uint8_t dev,uint8_t reg,uint8_t bitStart,uint8_t length,uint8_t data); 54 | uint8_t IICwriteBit(uint8_t dev,uint8_t reg,uint8_t bitNum,uint8_t data); 55 | uint8_t IICreadBytes(uint8_t dev, uint8_t reg, uint8_t length, uint8_t *data); 56 | 57 | #endif 58 | 59 | //------------------End of File---------------------------- 60 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/delay.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __DELAY_H 2 | #define __DELAY_H 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | #include 7 | ////////////////////////////////////////////////////////////////////////////////// 8 | //������ֻ��ѧϰʹ�ã�δ��������ɣ��������������κ���; 9 | //ALIENTEK STM32F407������ 10 | //ʹ��SysTick����ͨ����ģʽ���ӳٽ��й���(֧��ucosii) 11 | //����delay_us,delay_ms 12 | //����ԭ��@ALIENTEK 13 | //������̳:www.openedv.com 14 | //��������:2014/5/2 15 | //�汾��V1.1 16 | //��Ȩ���У�����ؾ��� 17 | //Copyright(C) ������������ӿƼ����޹�˾ 2014-2024 18 | //All rights reserved 19 | //******************************************************************************** 20 | //�޸�˵�� 21 | //V1.1 20140803 22 | //1,delay_us,��Ӳ�������0�ж�,�����������0,��ֱ���˳�. 23 | //2,�޸�ucosii��,delay_ms����,����OSLockNesting���ж�,�ڽ����жϺ�,Ҳ����׼ȷ��ʱ. 24 | ////////////////////////////////////////////////////////////////////////////////// 25 | 26 | void delay_init(uint8_t SYSCLK); 27 | void delay_ms(uint32_t nms); 28 | void delay_us(uint32_t nus); 29 | 30 | #endif 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/ds18b20.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __DS18B20_H 2 | #define __DS18B20_H 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | #include "sys.h" 7 | #include "stm32f4xx_hal.h" 8 | 9 | #define DS18B20_IO_IN() {GPIOC->MODER&=~(3<<(14*2));GPIOC->MODER|=0<<14*2;} //PG9����ģʽ 10 | #define DS18B20_IO_OUT() {GPIOC->MODER&=~(3<<(14*2));GPIOC->MODER|=1<<14*2;} //PG9���ģʽ 11 | 12 | #define DS18B20_DQ_OUT PCout(14) //���ݶ˿� PG9 13 | #define DS18B20_DQ_IN PCin(14) //���ݶ˿� PG9 14 | 15 | 16 | uint8_t DS18B20_Init(void); //��ʼ��DS18B20 17 | short DS18B20_Get_Temp(void); //��ȡ�¶� 18 | void DS18B20_Start(void); //��ʼ�¶�ת�� 19 | void DS18B20_Write_Byte(uint8_t dat);//д��һ���ֽ� 20 | uint8_t DS18B20_Read_Byte(void); //����һ���ֽ� 21 | uint8_t DS18B20_Read_Bit(void); //����һ��λ 22 | uint8_t DS18B20_Check(void); //����Ƿ����DS18B20 23 | void DS18B20_Rst(void); //��λDS18B20 24 | #endif 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/gpio.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : gpio.h 4 | * Description : This file contains all the functions prototypes for 5 | * the gpio 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | 45 | /* Define to prevent recursive inclusion -------------------------------------*/ 46 | #ifndef __gpio_H 47 | #define __gpio_H 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | 52 | /* Includes ------------------------------------------------------------------*/ 53 | #include "stm32f4xx_hal.h" 54 | #include "main.h" 55 | 56 | /* USER CODE BEGIN Includes */ 57 | 58 | /* USER CODE END Includes */ 59 | 60 | /* USER CODE BEGIN Private defines */ 61 | 62 | /* USER CODE END Private defines */ 63 | 64 | void MX_GPIO_Init(void); 65 | 66 | /* USER CODE BEGIN Prototypes */ 67 | void led_on(); 68 | void led_off(); 69 | void led_flash(); 70 | void led_change_state(); 71 | /* USER CODE END Prototypes */ 72 | 73 | #ifdef __cplusplus 74 | } 75 | #endif 76 | #endif /*__ pinoutConfig_H */ 77 | 78 | /** 79 | * @} 80 | */ 81 | 82 | /** 83 | * @} 84 | */ 85 | 86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 87 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/main.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : main.h 4 | * Description : This file contains the common defines of the application 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2017 STMicroelectronics International N.V. 8 | * All rights reserved. 9 | * 10 | * Redistribution and use in source and binary forms, with or without 11 | * modification, are permitted, provided that the following conditions are met: 12 | * 13 | * 1. Redistribution of source code must retain the above copyright notice, 14 | * this list of conditions and the following disclaimer. 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, 16 | * this list of conditions and the following disclaimer in the documentation 17 | * and/or other materials provided with the distribution. 18 | * 3. Neither the name of STMicroelectronics nor the names of other 19 | * contributors to this software may be used to endorse or promote products 20 | * derived from this software without specific written permission. 21 | * 4. This software, including modifications and/or derivative works of this 22 | * software, must execute solely and exclusively on microcontroller or 23 | * microprocessor devices manufactured by or for STMicroelectronics. 24 | * 5. Redistribution and use of this software other than as permitted under 25 | * this license is void and will automatically terminate your rights under 26 | * this license. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 30 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 31 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 32 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 33 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 35 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 36 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 39 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | ****************************************************************************** 42 | */ 43 | /* Define to prevent recursive inclusion -------------------------------------*/ 44 | #ifndef __MAIN_H 45 | #define __MAIN_H 46 | /* Includes ------------------------------------------------------------------*/ 47 | 48 | /* USER CODE BEGIN Includes */ 49 | 50 | /* USER CODE END Includes */ 51 | 52 | /* Private define ------------------------------------------------------------*/ 53 | 54 | /* USER CODE BEGIN Private defines */ 55 | 56 | /* USER CODE END Private defines */ 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | #endif /* __MAIN_H */ 67 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 68 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/mpu6500.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __MPU6500_H 2 | #define __MPU6500_H 3 | /** 4 | ****************************************************************************** 5 | * File Name : TIM.h 6 | * Description : This file provides code for the configuration 7 | * of the TIM instances. 8 | ****************************************************************************** 9 | * 10 | * Copyright (c) 2017 STMicroelectronics International N.V. 11 | * All rights reserved. 12 | * 13 | * Redistribution and use in source and binary forms, with or without 14 | * modification, are permitted, provided that the following conditions are met: 15 | * 16 | * 1. 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | 21 | #include "stm32f4xx_hal.h" 22 | #include "main.h" 23 | #include "spi.h" 24 | 25 | #define MPU6500_CSH() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, SET) 26 | #define MPU6500_CSL() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, RESET) 27 | 28 | 29 | #define BYTE16(Type, ByteH, ByteL) ((Type)((((uint16_t)(ByteH))<<8) | ((uint16_t)(ByteL)))) 30 | 31 | typedef struct 32 | { 33 | int16_t X; 34 | int16_t Y; 35 | int16_t Z; 36 | }S_INT16_XYZ; 37 | 38 | typedef struct 39 | { 40 | int32_t X; 41 | int32_t Y; 42 | int32_t Z; 43 | }S_INT32_XYZ; 44 | 45 | extern volatile S_INT16_XYZ MPU6500_Acc; 46 | extern volatile S_INT16_XYZ MPU6500_Gyro; 47 | extern volatile float mpu6500_tempreature; 48 | extern volatile S_INT16_XYZ MPU6500_Acc_Offset; 49 | //寄存器定义 50 | #define SELF_TEST_X_GYRO 0X00 51 | #define SELF_TEST_Y_GYRO 0X01 52 | #define SELF_TEST_Z_GYRO 0X02 53 | 54 | #define SELF_TEST_X_ACCEL 0X0D 55 | #define SELF_TEST_Y_ACCEL 0X0E 56 | #define SELF_TEST_Z_ACCEL 0X0F 57 | 58 | #define XG_OFFSET_H 0X13 59 | #define XG_OFFSET_L 0X14 60 | #define YG_OFFSET_H 0X15 61 | #define YG_OFFSET_L 0X16 62 | #define ZG_OFFSET_H 0X17 63 | #define ZG_OFFSET_L 0X18 64 | 65 | #define SMPLRT_DIV 0X19 //陀螺仪采样率 66 | #define CONFIG 0X1A //低通滤波器 典型值0x06 5hz 67 | #define GYRO_CONFIG 0X1B //陀螺仪测量范围 0X18 正负2000度 68 | #define ACCEL_CONFIG 0X1C //加速度计测量范围 0X18 正负16g 69 | #define ACCEL_CONFIG2 0X1D //加速度计低通滤波器 0x06 5hz 70 | 71 | #define LP_ACCEL_ODR 0X1E 72 | #define WOM_THR 0X1F 73 | #define FIFO_EN 0X23 74 | 75 | #define ACCEL_XOUT_H 0X3B //加速度计输出数据 76 | #define ACCEL_XOUT_L 0X3C 77 | #define ACCEL_YOUT_H 0X3D 78 | #define ACCEL_YOUT_L 0X3E 79 | #define ACCEL_ZOUT_H 0X3F 80 | #define ACCEL_ZOUT_L 0X40 81 | 82 | #define TEMP_OUT_H 0X41 //温度计输出数据 83 | #define TEMP_OUT_L 0X42 84 | 85 | #define GYRO_XOUT_H 0X43 //陀螺仪输出数据 86 | #define GYRO_XOUT_L 0X44 87 | #define GYRO_YOUT_H 0X45 88 | #define GYRO_YOUT_L 0X46 89 | #define GYRO_ZOUT_H 0X47 90 | #define GYRO_ZOUT_L 0X48 91 | 92 | #define SIGNAL_PATH_RESET 0X68 //陀螺仪、加速度计、温度传感器信号复位 93 | #define USER_CTRL 0X6A //用户配置 当为0X10时使用SPI模式 94 | #define PWR_MGMT_1 0X6B //电源管理1 典型值为0x00 95 | #define PWR_MGMT_2 0X6C //电源管理2 典型值为0X00 96 | 97 | #define WHO_AM_I 0X75 //器件ID MPU9250默认ID为0X71 98 | #define WHO_AM_MAG 0X00 //器件ID MPU9250默认ID为0X71 99 | 100 | 101 | void MPU6500_Date_Offset(uint16_t cnt); 102 | extern void MPU6500_ReadValue(void); 103 | extern uint8_t MPU6500_Init(void); 104 | 105 | uint8_t MPU6500_readID(void); 106 | 107 | #endif 108 | /************************ (C) COPYRIGHT *****END OF FILE****/ 109 | 110 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/pid.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : PID.h 4 | * Description : This file provides code for the configuration 5 | * of the PID instances. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. 15 | * 2. 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | 21 | #ifndef PID_H_ 22 | #define PID_H_ 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | #include "stm32f4xx.h" 27 | 28 | #define PID_TRUE 0xff 29 | #define PID_FALSE 0x00 30 | 31 | #define PID_DT 0.02//500HZ 32 | 33 | struct PID{ 34 | float target; // Ä¿±êÖµ 35 | float current; // µ±Ç°Öµ 36 | float merror; 37 | float last_error; 38 | float Integrator; //µ±Ç°»ý·ÖÖµ 39 | float deriv; 40 | float last_deriv; 41 | float iLimit; 42 | float Kp; //±ÈÀý 43 | float Ki; //»ý·Ö 44 | float Kd; //΢·Ö 45 | 46 | unsigned char Lowpass_EN; 47 | float outP; //< proportional output (debugging) 48 | float outI; //< integral output (debugging) 49 | float outD; //< derivative output (debugging) 50 | float PID_out; //µ±Ç°PID µÄÊä³ö 51 | }; 52 | 53 | extern struct PID TEMPERATURE; 54 | 55 | #define DEFAULT_PID_INTEGRATION_LIMIT 15.0 56 | 57 | void pidInit(struct PID* pid, const float kp, 58 | const float ki, const float kd); 59 | float pidUpdate(struct PID* pid, float measured,float dt); 60 | float pidUpdate_err(struct PID* pid,float err, float dt); 61 | void pidSetIntegralLimit(struct PID* pid, float limit); 62 | void pidSetError(struct PID* pid, float err); 63 | void pidReset(struct PID* pid); 64 | void pidSetTarget(struct PID* pid, float target); 65 | void pidSetKp(struct PID* pid, float kp); 66 | void pidSetKi(struct PID* pid, float ki); 67 | void pidSetKd(struct PID* pid, float kd); 68 | void pidSet(struct PID* pid, float kp, float ki, float kd); 69 | void pidSetMeasured(struct PID* pid, float measured); 70 | void pidSetTarget_Measure(struct PID* pid, float target, float measured); 71 | void pidSetLowPassEnable(struct PID* pid); 72 | void temperature_pid(void); 73 | 74 | int16_t Math_Constrain(int16_t value,int16_t min,int16_t max); 75 | float Math_fConstrain(float value, float min, float max); 76 | 77 | #endif /* PID_H_ */ 78 | 79 | /** 80 | * @} 81 | */ 82 | 83 | /** 84 | * @} 85 | */ 86 | 87 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/spi.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : SPI.h 4 | * Description : This file provides code for the configuration 5 | * of the SPI instances. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __spi_H 46 | #define __spi_H 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32f4xx_hal.h" 53 | #include "main.h" 54 | 55 | /* USER CODE BEGIN Includes */ 56 | #include "stm32f4xx.h" 57 | /* USER CODE END Includes */ 58 | 59 | extern SPI_HandleTypeDef hspi1; 60 | 61 | /* USER CODE BEGIN Private defines */ 62 | #define SPI_I2S_FLAG_RXNE ((uint16_t)0x0001) 63 | #define SPI_I2S_FLAG_TXE ((uint16_t)0x0002) 64 | 65 | #define MPU6500_CS(X) (X==0)?HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, RESET):HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, SET) //MPU6500片选信号 66 | /* USER CODE END Private defines */ 67 | 68 | extern void Error_Handler(void); 69 | 70 | void MX_SPI1_Init(void); 71 | 72 | /* USER CODE BEGIN Prototypes */ 73 | void SPI1_Configuration(void); 74 | uint8_t SPI1_ReadWrite_Byte(uint8_t byte); 75 | uint8_t SPI1_readReg(uint8_t reg); 76 | void SPI1_writeReg(uint8_t reg ,uint8_t data); 77 | void SPI1_readRegs(uint8_t reg, uint8_t length, uint8_t *data); 78 | 79 | extern uint8_t MPU6500_Write_Reg(uint8_t reg,uint8_t value); 80 | extern uint8_t MPU6500_Read_Reg(uint8_t reg); 81 | extern uint8_t SPI1_Read_Write_Byte(uint8_t TxData);//SPI总线读写一个字节 82 | 83 | uint8_t SPI2_ReadWriteByte(uint8_t TxData); 84 | void SPI1_Init(void); 85 | /* USER CODE END Prototypes */ 86 | 87 | #ifdef __cplusplus 88 | } 89 | #endif 90 | #endif /*__ spi_H */ 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /** 97 | * @} 98 | */ 99 | 100 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 101 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/stm32f4xx_it.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_it.h 4 | * @brief This file contains the headers of the interrupt handlers. 5 | ****************************************************************************** 6 | * 7 | * COPYRIGHT(c) 2017 STMicroelectronics 8 | * 9 | * Redistribution and use in source and binary forms, with or without modification, 10 | * are permitted provided that the following conditions are met: 11 | * 1. Redistributions of source code must retain the above copyright notice, 12 | * this list of conditions and the following disclaimer. 13 | * 2. Redistributions in binary form must reproduce the above copyright notice, 14 | * this list of conditions and the following disclaimer in the documentation 15 | * and/or other materials provided with the distribution. 16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 17 | * may be used to endorse or promote products derived from this software 18 | * without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | * 31 | ****************************************************************************** 32 | */ 33 | 34 | /* Define to prevent recursive inclusion -------------------------------------*/ 35 | #ifndef __STM32F4xx_IT_H 36 | #define __STM32F4xx_IT_H 37 | 38 | #ifdef __cplusplus 39 | extern "C" { 40 | #endif 41 | 42 | /* Includes ------------------------------------------------------------------*/ 43 | /* Exported types ------------------------------------------------------------*/ 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* Exported macro ------------------------------------------------------------*/ 46 | /* Exported functions ------------------------------------------------------- */ 47 | 48 | void NMI_Handler(void); 49 | void HardFault_Handler(void); 50 | void MemManage_Handler(void); 51 | void BusFault_Handler(void); 52 | void UsageFault_Handler(void); 53 | void DebugMon_Handler(void); 54 | void SysTick_Handler(void); 55 | void USART1_IRQHandler(void); 56 | void USART3_IRQHandler(void); 57 | void USART6_IRQHandler(void); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* __STM32F4xx_IT_H */ 64 | 65 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 66 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/tim.h.bak: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : TIM.h 4 | * Description : This file provides code for the configuration 5 | * of the TIM instances. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __tim_H 46 | #define __tim_H 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32f4xx_hal.h" 53 | #include "main.h" 54 | 55 | /* USER CODE BEGIN Includes */ 56 | 57 | /* USER CODE END Includes */ 58 | 59 | extern TIM_HandleTypeDef htim3; 60 | 61 | /* USER CODE BEGIN Private defines */ 62 | #define MAX_PWM_WITH 2000 63 | /* USER CODE END Private defines */ 64 | 65 | extern void Error_Handler(void); 66 | 67 | void MX_TIM3_Init(void); 68 | 69 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 70 | 71 | 72 | /* USER CODE BEGIN Prototypes */ 73 | void TIM3_PWM_Init(uint16_t arr,uint16_t psc); 74 | void TIM_SetTIM3Compare1(uint32_t compare); 75 | void TIM_SetTIM3Compare2(uint32_t compare); 76 | void TIM_SetTIM3Compare3(uint32_t compare); 77 | void TIM_SetTIM3Compare4(uint32_t compare); 78 | void set_led_r(uint32_t r); 79 | void set_led_g(uint32_t g); 80 | void set_led_b(uint32_t b); 81 | void set_led_rgb(uint32_t r, uint32_t g, uint32_t b); 82 | void set_temp(uint32_t temp_ctrl); 83 | /* USER CODE END Prototypes */ 84 | 85 | #ifdef __cplusplus 86 | } 87 | #endif 88 | #endif /*__ tim_H */ 89 | 90 | /** 91 | * @} 92 | */ 93 | 94 | /** 95 | * @} 96 | */ 97 | 98 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 99 | -------------------------------------------------------------------------------- /stm32f407/Inc/Backup/utask.h.bak: -------------------------------------------------------------------------------- 1 | #ifndef __UTASK_H 2 | #define __UTASK_H 3 | /** 4 | ****************************************************************************** 5 | * File Name : TIM.h 6 | * Description : This file provides code for the configuration 7 | * of the TIM instances. 8 | ****************************************************************************** 9 | * 10 | * Copyright (c) 2017 STMicroelectronics International N.V. 11 | * All rights reserved. 12 | * 13 | * Redistribution and use in source and binary forms, with or without 14 | * modification, are permitted, provided that the following conditions are met: 15 | * 16 | * 1. 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | #include "stm32f4xx_hal.h" 24 | #include "main.h" 25 | #include "led.h" 26 | #include "pid.h" 27 | #include "ds18b20.h" 28 | #include "gpio.h" 29 | #include "usart.h" 30 | #include "IMU.h" 31 | 32 | typedef struct 33 | { 34 | uint8_t task_state; 35 | uint8_t led_state; 36 | uint8_t imu_state; 37 | }g_status_t; 38 | 39 | typedef struct 40 | { 41 | float angle[3]; 42 | uint16_t temperature; 43 | float mpu6050_temperature; 44 | }imu_data_t; 45 | 46 | typedef struct 47 | { 48 | imu_data_t imu; 49 | }g_real_t; 50 | 51 | typedef void(*task_ptr)(void); 52 | 53 | typedef struct 54 | { 55 | uint8_t freq; 56 | task_ptr handler; 57 | }task_table_t; 58 | 59 | void get_temperature(void); 60 | void send_debug_message(void); 61 | void uart_imu_process(void); 62 | void iic_imu_process(void); 63 | void test_iic_imu_frq(void); 64 | void spi_imu_process(void); 65 | 66 | 67 | const static task_table_t fast_task_table[] = 68 | { 69 | {5, uart_imu_process}, 70 | {200, send_debug_message}, 71 | {10, iic_imu_process}, 72 | {1, spi_imu_process} 73 | //{1, test_iic_imu_frq}, 74 | }; 75 | 76 | void led_control(void);//emituofo 77 | void test_led_table(void); 78 | void led_event_check(void); 79 | 80 | const static task_table_t slow_task_table[] = 81 | { 82 | {5, get_temperature}, 83 | {25, led_change_state}, 84 | {1, temperature_pid}, 85 | {1, led_control}, 86 | //{200, test_led_table}, 87 | {1, led_event_check}, 88 | }; 89 | 90 | const static task_table_t super_task_table[] = 91 | { 92 | {1, MPU6500_ReadValue}, 93 | }; 94 | 95 | extern volatile g_status_t g_status; 96 | extern volatile g_real_t g_real; 97 | extern task_table_t *fast_table_ptr; 98 | extern uint8_t fast_table_size; 99 | extern task_table_t *slow_table_ptr; 100 | extern uint8_t slow_table_size ; 101 | 102 | void slow_task(void); 103 | void fast_task(void); 104 | void super_task(void); 105 | void register_task_table(task_table_t *fast_task_table, uint8_t fast_size, 106 | task_table_t *slow_task_table, uint8_t slow_size, 107 | task_table_t *super_task_table, uint8_t super_size); 108 | 109 | 110 | /** 111 | * @} 112 | */ 113 | 114 | /** 115 | * @} 116 | */ 117 | #endif 118 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 119 | -------------------------------------------------------------------------------- /stm32f407/Inc/IMU.h: -------------------------------------------------------------------------------- 1 | #ifndef __IMU_H 2 | #define __IMU_H 3 | 4 | #include "stm32f4xx_hal.h" 5 | #include 6 | #include "mpu6500.h" 7 | #include "math_nb.h" 8 | #include "AHRS_states.h" 9 | #include 10 | 11 | #define M_PI (float)3.1415926535 12 | 13 | extern float invSqrt(float x); 14 | 15 | void Get_New_Sensor_Data(void); 16 | void EKF_process(void); 17 | #endif 18 | 19 | //------------------End of File---------------------------- 20 | -------------------------------------------------------------------------------- /stm32f407/Inc/delay.h: -------------------------------------------------------------------------------- 1 | #ifndef __DELAY_H 2 | #define __DELAY_H 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | #include 7 | ////////////////////////////////////////////////////////////////////////////////// 8 | //������ֻ��ѧϰʹ�ã�δ��������ɣ��������������κ���; 9 | //ALIENTEK STM32F407������ 10 | //ʹ��SysTick����ͨ����ģʽ���ӳٽ��й���(֧��ucosii) 11 | //����delay_us,delay_ms 12 | //����ԭ��@ALIENTEK 13 | //������̳:www.openedv.com 14 | //��������:2014/5/2 15 | //�汾��V1.1 16 | //��Ȩ���У�����ؾ��� 17 | //Copyright(C) ������������ӿƼ����޹�˾ 2014-2024 18 | //All rights reserved 19 | //******************************************************************************** 20 | //�޸�˵�� 21 | //V1.1 20140803 22 | //1,delay_us,��Ӳ�������0�ж�,�����������0,��ֱ���˳�. 23 | //2,�޸�ucosii��,delay_ms����,����OSLockNesting���ж�,�ڽ����жϺ�,Ҳ����׼ȷ��ʱ. 24 | ////////////////////////////////////////////////////////////////////////////////// 25 | 26 | void delay_init(uint8_t SYSCLK); 27 | void delay_ms(uint32_t nms); 28 | void delay_us(uint32_t nus); 29 | 30 | #endif 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /stm32f407/Inc/gpio.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : gpio.h 4 | * Description : This file contains all the functions prototypes for 5 | * the gpio 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | 45 | /* Define to prevent recursive inclusion -------------------------------------*/ 46 | #ifndef __gpio_H 47 | #define __gpio_H 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | 52 | /* Includes ------------------------------------------------------------------*/ 53 | #include "stm32f4xx_hal.h" 54 | #include "main.h" 55 | 56 | /* USER CODE BEGIN Includes */ 57 | 58 | /* USER CODE END Includes */ 59 | 60 | /* USER CODE BEGIN Private defines */ 61 | 62 | /* USER CODE END Private defines */ 63 | 64 | void MX_GPIO_Init(void); 65 | 66 | /* USER CODE BEGIN Prototypes */ 67 | void led_on(); 68 | void led_off(); 69 | void led_flash(); 70 | void led_change_state(); 71 | /* USER CODE END Prototypes */ 72 | 73 | #ifdef __cplusplus 74 | } 75 | #endif 76 | #endif /*__ pinoutConfig_H */ 77 | 78 | /** 79 | * @} 80 | */ 81 | 82 | /** 83 | * @} 84 | */ 85 | 86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 87 | -------------------------------------------------------------------------------- /stm32f407/Inc/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : main.h 4 | * Description : This file contains the common defines of the application 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2017 STMicroelectronics International N.V. 8 | * All rights reserved. 9 | 10 | _ooOoo_ 11 | o8888888o 12 | 88" . "88 13 | (| -_- |) 14 | O\ = /O 15 | ____/`---'\____ 16 | .' \\| |// `. 17 | / \\||| : |||// \ 18 | / _||||| -:- |||||- \ 19 | | | \\\ - /// | | 20 | | \_| ''\---/'' | | 21 | \ .-\__ `-` ___/-. / 22 | ___`. .' /--.--\ `. . __ 23 | ."" '< `.___\_<|>_/___.' >'"". 24 | | | : `- \`.;`\ _ /`;.`/ - ` : | | 25 | \ \ `-. \_ __\ /__ _/ .-` / / 26 | ======`-.____`-.___\_____/___.-`____.-'====== 27 | `=---=' 28 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 29 | Buddha Bless, No Bug ! 30 | ............................................. 31 | 佛祖保佑 永无BUG 32 | 佛曰: 33 | 写字楼里写字间,写字间里程序员; 34 | 程序人员写程序,又拿程序换酒钱。 35 | 酒醒只在网上坐,酒醉还来网下眠; 36 | 酒醉酒醒日复日,网上网下年复年。 37 | 但愿老死电脑间,不愿鞠躬老板前; 38 | 奔驰宝马贵者趣,公交自行程序员。 39 | 别人笑我忒疯癫,我笑自己命太贱; 40 | 不见满街漂亮妹,哪个归得程序员? 41 | 42 | .::::. 43 | .::::::::. 44 | ::::::::::: 45 | ..:::::::::::' 46 | '::::::::::::' 47 | .:::::::::: 48 | '::::::::::::::.. 49 | ..::::::::::::. 50 | ``:::::::::::::::: 51 | ::::``:::::::::' .:::. 52 | ::::' ':::::' .::::::::. 53 | .::::' :::: .:::::::'::::. 54 | .:::' ::::: .:::::::::' ':::::. 55 | .::' :::::.:::::::::' ':::::. 56 | .::' ::::::::::::::' ``::::. 57 | ...::: ::::::::::::' ``::. 58 | ```` ':. ':::::::::' ::::.. 59 | '.:::::' ':'````.. 60 | 61 | 62 | ┏┛ ┻━━━━━┛ ┻┓ 63 | ┃       ┃ 64 | ┃   ━   ┃ 65 | ┃ ┳┛  ┗┳ ┃ 66 | ┃       ┃ 67 | ┃   ┻   ┃ 68 | ┃       ┃ 69 | ┗━┓   ┏━━━┛ 70 | ┃   ┃ 神兽保佑 71 | ┃   ┃ 代码无BUG! 72 | ┃   ┗━━━━━━━━━┓ 73 | ┃        ┣┓ 74 | ┃     ┏┛ 75 | ┗━┓ ┓ ┏━━━┳ ┓ ┏━┛ 76 | ┃ ┫ ┫ ┃ ┫ ┫ 77 | ┗━┻━┛ ┗━┻━┛ 78 | * 79 | ****************************************************************************** 80 | */ 81 | /* Define to prevent recursive inclusion -------------------------------------*/ 82 | #ifndef __MAIN_H 83 | #define __MAIN_H 84 | /* Includes ------------------------------------------------------------------*/ 85 | 86 | /* USER CODE BEGIN Includes */ 87 | 88 | /* USER CODE END Includes */ 89 | 90 | /* Private define ------------------------------------------------------------*/ 91 | 92 | /* USER CODE BEGIN Private defines */ 93 | 94 | /* USER CODE END Private defines */ 95 | 96 | /** 97 | * @} 98 | */ 99 | 100 | /** 101 | * @} 102 | */ 103 | 104 | #endif /* __MAIN_H */ 105 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 106 | -------------------------------------------------------------------------------- /stm32f407/Inc/math_nb.h: -------------------------------------------------------------------------------- 1 | #ifndef __DELAY_H 2 | #define __DELAY_H 3 | 4 | #include "stm32f4xx_hal.h" 5 | #include "main.h" 6 | #include 7 | #include 8 | /** 9 | * @} 10 | */ 11 | 12 | /** 13 | * @} 14 | */ 15 | 16 | typedef struct stdev_s 17 | { 18 | float m_oldM, m_newM, m_oldS, m_newS; 19 | int m_n; 20 | } stdev_t; 21 | 22 | 23 | typedef enum { 24 | FILTER_LPF, 25 | FILTER_NOTCH 26 | } biquadFilterType_e; 27 | 28 | typedef struct biquadFilter_s { 29 | float b0, b1, b2, a1, a2; 30 | float d1, d2; 31 | } biquadFilter_t; 32 | 33 | void devClear(stdev_t *dev); 34 | void devPush(stdev_t *dev, float x); 35 | float devVariance(stdev_t *dev); 36 | float devStandardDeviation(stdev_t *dev); 37 | 38 | 39 | void biquadFilterInitLPF(biquadFilter_t *filter, float filterFreq, uint32_t refreshRate); 40 | void biquadFilterInit(biquadFilter_t *filter, float filterFreq, uint32_t refreshRate, float Q, biquadFilterType_e filterType); 41 | float biquadFilterApply(biquadFilter_t *filter, float input); 42 | float Math_fConstrain(float value, float min, float max); 43 | int16_t Math_Constrain(int16_t value,int16_t min,int16_t max); 44 | float Math_fDeadZone(float value, float min, float max); 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | 47 | 48 | #endif 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /stm32f407/Inc/mpu6500.h: -------------------------------------------------------------------------------- 1 | #ifndef __MPU6500_H 2 | #define __MPU6500_H 3 | 4 | #include "stm32f4xx_hal.h" 5 | #include "main.h" 6 | #include "spi.h" 7 | #include "math_nb.h" 8 | #include "usart.h" 9 | #include 10 | #include "AHRS_states.h" 11 | 12 | #define MPU6500_CSH() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, SET) 13 | #define MPU6500_CSL() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, RESET) 14 | 15 | 16 | #define BYTE16(Type, ByteH, ByteL) ((Type)((((uint16_t)(ByteH))<<8) | ((uint16_t)(ByteL)))) 17 | 18 | typedef struct 19 | { 20 | int16_t X; 21 | int16_t Y; 22 | int16_t Z; 23 | }S_INT16_XYZ; 24 | 25 | typedef struct 26 | { 27 | int32_t X; 28 | int32_t Y; 29 | int32_t Z; 30 | }S_INT32_XYZ; 31 | 32 | extern volatile S_INT16_XYZ MPU6500_Acc; 33 | extern volatile S_INT16_XYZ MPU6500_Gyro; 34 | extern volatile float mpu6500_tempreature; 35 | extern volatile S_INT16_XYZ MPU6500_Acc_Offset; 36 | //寄存器定义 37 | #define SELF_TEST_X_GYRO 0X00 38 | #define SELF_TEST_Y_GYRO 0X01 39 | #define SELF_TEST_Z_GYRO 0X02 40 | 41 | #define SELF_TEST_X_ACCEL 0X0D 42 | #define SELF_TEST_Y_ACCEL 0X0E 43 | #define SELF_TEST_Z_ACCEL 0X0F 44 | 45 | #define XG_OFFSET_H 0X13 46 | #define XG_OFFSET_L 0X14 47 | #define YG_OFFSET_H 0X15 48 | #define YG_OFFSET_L 0X16 49 | #define ZG_OFFSET_H 0X17 50 | #define ZG_OFFSET_L 0X18 51 | 52 | #define SMPLRT_DIV 0X19 //陀螺仪采样率 53 | #define CONFIG 0X1A //低通滤波器 典型值0x06 5hz 54 | #define GYRO_CONFIG 0X1B //陀螺仪测量范围 0X18 正负2000度 55 | #define ACCEL_CONFIG 0X1C //加速度计测量范围 0X18 正负16g 56 | #define ACCEL_CONFIG2 0X1D //加速度计低通滤波器 0x06 5hz 57 | 58 | #define LP_ACCEL_ODR 0X1E 59 | #define WOM_THR 0X1F 60 | #define FIFO_EN 0X23 61 | 62 | #define ACCEL_XOUT_H 0X3B //加速度计输出数据 63 | #define ACCEL_XOUT_L 0X3C 64 | #define ACCEL_YOUT_H 0X3D 65 | #define ACCEL_YOUT_L 0X3E 66 | #define ACCEL_ZOUT_H 0X3F 67 | #define ACCEL_ZOUT_L 0X40 68 | 69 | #define TEMP_OUT_H 0X41 //温度计输出数据 70 | #define TEMP_OUT_L 0X42 71 | 72 | #define GYRO_XOUT_H 0X43 //陀螺仪输出数据 73 | #define GYRO_XOUT_L 0X44 74 | #define GYRO_YOUT_H 0X45 75 | #define GYRO_YOUT_L 0X46 76 | #define GYRO_ZOUT_H 0X47 77 | #define GYRO_ZOUT_L 0X48 78 | 79 | #define SIGNAL_PATH_RESET 0X68 //陀螺仪、加速度计、温度传感器信号复位 80 | #define USER_CTRL 0X6A //用户配置 当为0X10时使用SPI模式 81 | #define PWR_MGMT_1 0X6B //电源管理1 典型值为0x00 82 | #define PWR_MGMT_2 0X6C //电源管理2 典型值为0X00 83 | 84 | #define WHO_AM_I 0X75 //器件ID MPU9250默认ID为0X71 85 | #define WHO_AM_MAG 0X00 //器件ID MPU9250默认ID为0X71 86 | 87 | #define CALIBRATING_GYRO_CYCLES 1000 88 | #define CALIBRATING_ACC_CYCLES 1000 89 | #define XYZ_AXIS_COUNT 3 90 | 91 | extern int16_t mpu6500_FIFO[6][11]; 92 | extern volatile int16_t mpu6500_gyro[3]; 93 | extern volatile int16_t mpu6500_acc[3]; 94 | extern volatile int16_t mpu6500_gyro_offset[3]; 95 | extern volatile int16_t mpu6500_acc_offset[3]; 96 | extern uint8_t yaw_drift_flag; 97 | 98 | void MPU6500_Date_Offset(uint16_t cnt); 99 | extern void MPU6500_ReadValue(void); 100 | extern uint8_t MPU6500_Init(void); 101 | 102 | uint8_t MPU6500_readID(void); 103 | void mpu6500_new_value(void); 104 | void mpu6500_get_val(void); 105 | void performGyroCalibration(uint8_t gyroMovementCalibrationThreshold); 106 | void setAccelerationFilter(uint16_t initialAccLpfCutHz); 107 | void performAcclerationCalibration(uint8_t accMovementCalibrationThreshold); 108 | bool isAccelerationCalibrationComplete(void); 109 | void gyro_update(void); 110 | void gyro_z_axis_update(void); 111 | 112 | #endif 113 | /************************ (C) COPYRIGHT *****END OF FILE****/ 114 | 115 | -------------------------------------------------------------------------------- /stm32f407/Inc/pid.h: -------------------------------------------------------------------------------- 1 | #ifndef PID_H_ 2 | #define PID_H_ 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | #include "stm32f4xx.h" 7 | #include "math_nb.h" 8 | 9 | #define PID_TRUE 0xff 10 | #define PID_FALSE 0x00 11 | 12 | #define PID_DT 0.02//500HZ 13 | 14 | struct PID{ 15 | float target; // Ä¿±êÖµ 16 | float current; // µ±Ç°Öµ 17 | float merror; 18 | float last_error; 19 | float Integrator; //µ±Ç°»ý·ÖÖµ 20 | float deriv; 21 | float last_deriv; 22 | float iLimit; 23 | float Kp; //±ÈÀý 24 | float Ki; //»ý·Ö 25 | float Kd; //΢·Ö 26 | 27 | unsigned char Lowpass_EN; 28 | float outP; //< proportional output (debugging) 29 | float outI; //< integral output (debugging) 30 | float outD; //< derivative output (debugging) 31 | float PID_out; //µ±Ç°PID µÄÊä³ö 32 | }; 33 | 34 | extern struct PID TEMPERATURE; 35 | 36 | #define DEFAULT_PID_INTEGRATION_LIMIT 15.0 37 | 38 | void pidInit(struct PID* pid, const float kp, 39 | const float ki, const float kd); 40 | float pidUpdate(struct PID* pid, float measured,float dt); 41 | float pidUpdate_err(struct PID* pid,float err, float dt); 42 | void pidSetIntegralLimit(struct PID* pid, float limit); 43 | void pidSetError(struct PID* pid, float err); 44 | void pidReset(struct PID* pid); 45 | void pidSetTarget(struct PID* pid, float target); 46 | void pidSetKp(struct PID* pid, float kp); 47 | void pidSetKi(struct PID* pid, float ki); 48 | void pidSetKd(struct PID* pid, float kd); 49 | void pidSet(struct PID* pid, float kp, float ki, float kd); 50 | void pidSetMeasured(struct PID* pid, float measured); 51 | void pidSetTarget_Measure(struct PID* pid, float target, float measured); 52 | void pidSetLowPassEnable(struct PID* pid); 53 | void temperature_pid(void); 54 | 55 | #endif /* PID_H_ */ 56 | 57 | /** 58 | * @} 59 | */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /stm32f407/Inc/send_data.h: -------------------------------------------------------------------------------- 1 | #ifndef __SEND_DATA_H 2 | #define __SEND_DATA_H 3 | 4 | #include "stm32f4xx_hal.h" 5 | #include "main.h" 6 | 7 | #include "usart.h" 8 | #include "string.h" 9 | #include "IMU.h" 10 | /** 11 | * @} 12 | */ 13 | 14 | /** 15 | * @} 16 | */ 17 | 18 | #define SOF 0xCF 19 | #define SEND_BUF_SIZE 64 20 | #define FLOAT_DATA_SIZE 4 21 | 22 | typedef union { 23 | float value; 24 | unsigned char byte[4]; 25 | } f_bytes; 26 | 27 | //ÕûÊý ÁªºÏÌå 28 | typedef union { 29 | int16_t value; 30 | unsigned char byte[2]; 31 | } i_bytes; 32 | 33 | typedef union 34 | { 35 | double value; 36 | unsigned char byte[8]; 37 | } d_bytes; 38 | 39 | void send_data_to_pc(uint8_t* buf, uint8_t len); 40 | void send_imu_data_to_pc(void); 41 | 42 | 43 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 44 | #endif 45 | -------------------------------------------------------------------------------- /stm32f407/Inc/spi.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : SPI.h 4 | * Description : This file provides code for the configuration 5 | * of the SPI instances. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __spi_H 46 | #define __spi_H 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32f4xx_hal.h" 53 | #include "main.h" 54 | 55 | /* USER CODE BEGIN Includes */ 56 | #include "stm32f4xx.h" 57 | /* USER CODE END Includes */ 58 | 59 | extern SPI_HandleTypeDef hspi1; 60 | 61 | /* USER CODE BEGIN Private defines */ 62 | #define SPI_I2S_FLAG_RXNE ((uint16_t)0x0001) 63 | #define SPI_I2S_FLAG_TXE ((uint16_t)0x0002) 64 | 65 | #define MPU6500_CS(X) (X==0)?HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, RESET):HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, SET) //MPU6500片选信号 66 | /* USER CODE END Private defines */ 67 | 68 | extern void Error_Handler(void); 69 | 70 | void MX_SPI1_Init(void); 71 | 72 | /* USER CODE BEGIN Prototypes */ 73 | void SPI1_Configuration(void); 74 | uint8_t SPI1_ReadWrite_Byte(uint8_t byte); 75 | uint8_t SPI1_readReg(uint8_t reg); 76 | void SPI1_writeReg(uint8_t reg ,uint8_t data); 77 | void SPI1_readRegs(uint8_t reg, uint8_t length, uint8_t *data); 78 | 79 | extern uint8_t MPU6500_Write_Reg(uint8_t reg,uint8_t value); 80 | extern uint8_t MPU6500_Read_Reg(uint8_t reg); 81 | extern uint8_t SPI1_Read_Write_Byte(uint8_t TxData);//SPI总线读写一个字节 82 | 83 | uint8_t SPI2_ReadWriteByte(uint8_t TxData); 84 | void SPI1_Init(void); 85 | /* USER CODE END Prototypes */ 86 | 87 | #ifdef __cplusplus 88 | } 89 | #endif 90 | #endif /*__ spi_H */ 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /** 97 | * @} 98 | */ 99 | 100 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 101 | -------------------------------------------------------------------------------- /stm32f407/Inc/stm32f4xx_it.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_it.h 4 | * @brief This file contains the headers of the interrupt handlers. 5 | ****************************************************************************** 6 | * 7 | * COPYRIGHT(c) 2017 STMicroelectronics 8 | * 9 | * Redistribution and use in source and binary forms, with or without modification, 10 | * are permitted provided that the following conditions are met: 11 | * 1. Redistributions of source code must retain the above copyright notice, 12 | * this list of conditions and the following disclaimer. 13 | * 2. Redistributions in binary form must reproduce the above copyright notice, 14 | * this list of conditions and the following disclaimer in the documentation 15 | * and/or other materials provided with the distribution. 16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 17 | * may be used to endorse or promote products derived from this software 18 | * without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | * 31 | ****************************************************************************** 32 | */ 33 | 34 | /* Define to prevent recursive inclusion -------------------------------------*/ 35 | #ifndef __STM32F4xx_IT_H 36 | #define __STM32F4xx_IT_H 37 | 38 | #ifdef __cplusplus 39 | extern "C" { 40 | #endif 41 | 42 | /* Includes ------------------------------------------------------------------*/ 43 | /* Exported types ------------------------------------------------------------*/ 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* Exported macro ------------------------------------------------------------*/ 46 | /* Exported functions ------------------------------------------------------- */ 47 | 48 | void NMI_Handler(void); 49 | void HardFault_Handler(void); 50 | void MemManage_Handler(void); 51 | void BusFault_Handler(void); 52 | void UsageFault_Handler(void); 53 | void DebugMon_Handler(void); 54 | void SysTick_Handler(void); 55 | void USART1_IRQHandler(void); 56 | void USART3_IRQHandler(void); 57 | void USART6_IRQHandler(void); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* __STM32F4xx_IT_H */ 64 | 65 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 66 | -------------------------------------------------------------------------------- /stm32f407/Inc/tim.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : TIM.h 4 | * Description : This file provides code for the configuration 5 | * of the TIM instances. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __tim_H 46 | #define __tim_H 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32f4xx_hal.h" 53 | #include "main.h" 54 | 55 | /* USER CODE BEGIN Includes */ 56 | 57 | /* USER CODE END Includes */ 58 | 59 | extern TIM_HandleTypeDef htim3; 60 | 61 | /* USER CODE BEGIN Private defines */ 62 | #define MAX_PWM_WITH 2000 63 | /* USER CODE END Private defines */ 64 | 65 | extern void Error_Handler(void); 66 | 67 | void MX_TIM3_Init(void); 68 | 69 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 70 | 71 | 72 | /* USER CODE BEGIN Prototypes */ 73 | void TIM3_PWM_Init(uint16_t arr,uint16_t psc); 74 | void TIM_SetTIM3Compare1(uint32_t compare); 75 | void TIM_SetTIM3Compare2(uint32_t compare); 76 | void TIM_SetTIM3Compare3(uint32_t compare); 77 | void TIM_SetTIM3Compare4(uint32_t compare); 78 | void set_led_r(uint32_t r); 79 | void set_led_g(uint32_t g); 80 | void set_led_b(uint32_t b); 81 | void set_led_rgb(uint32_t r, uint32_t g, uint32_t b); 82 | void set_temp(uint32_t temp_ctrl); 83 | /* USER CODE END Prototypes */ 84 | 85 | #ifdef __cplusplus 86 | } 87 | #endif 88 | #endif /*__ tim_H */ 89 | 90 | /** 91 | * @} 92 | */ 93 | 94 | /** 95 | * @} 96 | */ 97 | 98 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 99 | -------------------------------------------------------------------------------- /stm32f407/Inc/utask.h: -------------------------------------------------------------------------------- 1 | #ifndef __UTASK_H 2 | #define __UTASK_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | #include "stm32f4xx_hal.h" 8 | #include "main.h" 9 | #include "led.h" 10 | #include "pid.h" 11 | #include "gpio.h" 12 | #include "usart.h" 13 | #include "IMU.h" 14 | #include "send_data.h" 15 | 16 | typedef struct 17 | { 18 | uint8_t task_state; 19 | uint8_t led_state; 20 | uint8_t imu_state; 21 | }g_status_t; 22 | 23 | typedef struct 24 | { 25 | float angle[3]; 26 | uint16_t temperature; 27 | float mpu6050_temperature; 28 | }imu_data_t; 29 | 30 | typedef struct 31 | { 32 | imu_data_t imu; 33 | }g_real_t; 34 | 35 | typedef void(*task_ptr)(void); 36 | 37 | typedef struct 38 | { 39 | uint8_t freq; 40 | task_ptr handler; 41 | }task_table_t; 42 | 43 | 44 | void EKF_process(void); 45 | 46 | 47 | const static task_table_t fast_task_table[] = 48 | { 49 | //{1, spi_imu_process}, 50 | {1, EKF_process} 51 | }; 52 | 53 | void led_control(void);//emituofo 54 | void test_led_table(void); 55 | void led_event_check(void); 56 | 57 | const static task_table_t slow_task_table[] = 58 | { 59 | //{25, led_change_state}, 60 | {1, led_control}, 61 | //{200, test_led_table}, 62 | {1, led_event_check}, 63 | {5, send_imu_data_to_pc},//qt 64 | }; 65 | 66 | const static task_table_t super_task_table[] = 67 | { 68 | {1, MPU6500_ReadValue}, 69 | }; 70 | 71 | extern volatile g_status_t g_status; 72 | extern volatile g_real_t g_real; 73 | extern task_table_t *fast_table_ptr; 74 | extern uint8_t fast_table_size; 75 | extern task_table_t *slow_table_ptr; 76 | extern uint8_t slow_table_size ; 77 | 78 | void slow_task(void); 79 | void fast_task(void); 80 | void super_task(void); 81 | void register_task_table(task_table_t *fast_task_table, uint8_t fast_size, 82 | task_table_t *slow_task_table, uint8_t slow_size, 83 | task_table_t *super_task_table, uint8_t super_size); 84 | 85 | 86 | /** 87 | * @} 88 | */ 89 | 90 | /** 91 | * @} 92 | */ 93 | #endif 94 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 95 | -------------------------------------------------------------------------------- /stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c -------------------------------------------------------------------------------- /stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Brucetong/IMU/e2a84466010be02ee98b9f70e3765a867b8c196e/stm32f407/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h -------------------------------------------------------------------------------- /stm32f407/Src/AHRS_quat.c: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------------------ 2 | File: AHRS_quat_h.c 3 | Description: Functions for operating on quaternions 4 | ------------------------------------------------------------------------------ */ 5 | 6 | #include "AHRS_quat.h" 7 | #include 8 | 9 | /******************************************************************************* 10 | * Function Name : quat_mult( quat* src1, quat* src2, quat* dest ) 11 | * Input : quat* src1, quat* src2 12 | * Output : quat* dest 13 | * Return : 0 if failed, 1 if success 14 | * Description : 15 | Performs the quaternion operation dest = src1*src2 16 | *******************************************************************************/ 17 | int quat_mult( quat* src1, quat* src2, quat* dest ) 18 | { 19 | float a1,b1,c1,d1; 20 | float a2,b2,c2,d2; 21 | 22 | a1 = src1->a; 23 | b1 = src1->b; 24 | c1 = src1->c; 25 | d1 = src1->d; 26 | 27 | a2 = src2->a; 28 | b2 = src2->b; 29 | c2 = src2->c; 30 | d2 = src2->d; 31 | 32 | dest->a = a1*a2 - b1*b2 - c1*c2 - d1*d2; 33 | dest->b = a1*b2 + b1*a2 + c1*d2 - d1*c2; 34 | dest->c = a1*c2 - b1*d2 + c1*a2 + d1*b2; 35 | dest->d = a1*d2 + b1*c2 - c1*b2 + d1*a2; 36 | 37 | return 1; 38 | } 39 | 40 | /******************************************************************************* 41 | * Function Name : quat_conj( quat* src, quat* dest ) 42 | * Input : quat* src 43 | * Output : quat* dest 44 | * Return : 0 if failed, 1 if success 45 | * Description : 46 | Computes the quaternion conjugate of src and places it in dest 47 | *******************************************************************************/ 48 | int quat_conj( quat* src, quat* dest ) 49 | { 50 | dest->a = src->a; 51 | dest->b = -src->b; 52 | dest->c = -src->c; 53 | dest->d = -src->d; 54 | 55 | return 1; 56 | } 57 | 58 | /******************************************************************************* 59 | * Function Name : quat_norm( quat* src ) 60 | * Input : quat* src 61 | * Output : quat* dest 62 | * Return : 0 if failed, 1 if success 63 | * Description : 64 | Normalizes the quaternion in src 65 | *******************************************************************************/ 66 | int quat_norm( quat* src ) 67 | { 68 | float norm = src->a*src->a + src->b*src->b + src->c*src->c + src->d*src->d; 69 | norm = sqrt(norm); 70 | 71 | src->a = src->a/norm; 72 | src->b = src->b/norm; 73 | src->c = src->c/norm; 74 | src->d = src->d/norm; 75 | 76 | return 1; 77 | } 78 | 79 | /******************************************************************************* 80 | * Function Name : quat_subtract( quat* src1, quat* src2, quat* dest ) 81 | * Input : quat* src, quat* src2 82 | * Output : quat* dest 83 | * Return : 0 if failed, 1 if success 84 | * Description : 85 | Performs the operation dest = src1 - src2 86 | *******************************************************************************/ 87 | int quat_subtract( quat* src1, quat* src2, quat* dest ) 88 | { 89 | dest->a = src1->a - src2->a; 90 | dest->b = src1->b - src2->b; 91 | dest->c = src1->c - src2->c; 92 | dest->d = src1->d - src2->d; 93 | 94 | return 1; 95 | } 96 | 97 | 98 | /******************************************************************************* 99 | * Function Name : quat_add( quat* src1, quat* src2, quat* dest ) 100 | * Input : quat* src, quat* src2 101 | * Output : quat* dest 102 | * Return : 0 if failed, 1 if success 103 | * Description : 104 | Performs the operation dest = src1 + src2 105 | *******************************************************************************/ 106 | int quat_add( quat* src1, quat* src2, quat* dest ) 107 | { 108 | dest->a = src1->a + src2->a; 109 | dest->b = src1->b + src2->b; 110 | dest->c = src1->c + src2->c; 111 | dest->d = src1->d + src2->d; 112 | 113 | return 1; 114 | } 115 | 116 | /******************************************************************************* 117 | * Function Name : quat_scalar_mult( quat* qsrc, float scalar, quat* dest ) 118 | * Input : quat* src, float scalar 119 | * Output : quat* dest 120 | * Return : 0 if failed, 1 if success 121 | * Description : 122 | Performs the operation dest = qsrc*scalar; 123 | *******************************************************************************/ 124 | int quat_scalar_mult( quat* qsrc, float scalar, quat* dest ) 125 | { 126 | dest->a = qsrc->a*scalar; 127 | dest->b = qsrc->b*scalar; 128 | dest->c = qsrc->c*scalar; 129 | dest->d = qsrc->d*scalar; 130 | 131 | return 1; 132 | } 133 | -------------------------------------------------------------------------------- /stm32f407/Src/IMU.c: -------------------------------------------------------------------------------- 1 | #include "IMU.h" 2 | #include "arm_math.h" 3 | 4 | 5 | // Fast inverse square-root 6 | /**************************ʵ�ֺ���******************************************** 7 | *����ԭ��: float invSqrt(float x) 8 | *��������: ���ټ��� 1/Sqrt(x) 9 | ��������� Ҫ�����ֵ 10 | ��������� ��� 11 | *******************************************************************************/ 12 | float invSqrt(float x) { 13 | float halfx = 0.5f * x; 14 | float y = x; 15 | long i = *(long*)&y; 16 | i = 0x5f3759df - (i>>1); 17 | y = *(float*)&i; 18 | y = y * (1.5f - (halfx * y * y)); 19 | return y; 20 | } 21 | 22 | 23 | void IMU_init(void) 24 | { 25 | while(!MPU6500_Init()); 26 | 27 | gyroSetCalibrationCycles(); 28 | setAccelerationFilter(10); 29 | } 30 | 31 | // a varient of asin() that checks the input ranges and ensures a 32 | // valid angle as output. If nan is given as input then zero is 33 | // returned. 34 | float safe_asin(float v) 35 | { 36 | if (isnan(v)) { 37 | return 0.0f; 38 | } 39 | if (v >= 1.0f) { 40 | return M_PI/2; 41 | } 42 | if (v <= -1.0f) { 43 | return -M_PI/2; 44 | } 45 | return asin(v); 46 | } 47 | 48 | extern SensorData gSensorData; 49 | extern AHRS_state_data gStateData; 50 | 51 | void Get_New_Sensor_Data() 52 | { 53 | gStateData.gyro_x = (float)mpu6500_FIFO[3][10];//gSensorData.gyro_data[0]; 54 | gStateData.gyro_y = (float)mpu6500_FIFO[4][10];//gSensorData.gyro_data[1]; 55 | gStateData.gyro_z = (float)mpu6500_FIFO[5][10];//gSensorData.gyro_data[2]; 56 | gSensorData.new_gyro_data = 1; 57 | 58 | gStateData.accel_x = (float)mpu6500_FIFO[0][10];//0 - gSensorData.acc_data[1]; 59 | gStateData.accel_y = (float)mpu6500_FIFO[1][10];//gSensorData.acc_data[0]; 60 | gStateData.accel_z = (float)mpu6500_FIFO[2][10];//gSensorData.acc_data[2]; 61 | gSensorData.new_accel_data = 1; 62 | /* 63 | gStateData.mag_x = 0 - gSensorData.mag_data[1]; 64 | gStateData.mag_y = gSensorData.mag_data[0]; 65 | gStateData.mag_z = gSensorData.mag_data[2]; 66 | gStateData.mag_x /= gSensorData.mag_zero_norm; 67 | gStateData.mag_y /= gSensorData.mag_zero_norm; 68 | gStateData.mag_z /= gSensorData.mag_zero_norm; 69 | gSensorData.new_mag_data = 1;*/ 70 | } 71 | 72 | void EKF_process() 73 | { 74 | Get_New_Sensor_Data(); 75 | 76 | EKF_EstimateStates( &gStateData, &gSensorData ); 77 | 78 | compute_euler_angles(&gStateData); 79 | 80 | unroll_states(&gStateData); 81 | 82 | //freq++; 83 | } 84 | -------------------------------------------------------------------------------- /stm32f407/Src/delay.c: -------------------------------------------------------------------------------- 1 | #include "delay.h" 2 | #include "sys.h" 3 | #include "FreeRTOS.h" 4 | #include "task.h" 5 | 6 | static uint8_t fac_us=0;//usÑÓʱ±¶³ËÊý 7 | static uint16_t fac_ms=0; 8 | 9 | //初始化延时函数 10 | //当使用 FreeRTOS 的时候,此函数会初始化 FreeRTOS 的时钟节拍 11 | //SYSTICK 的时钟固定为 AHB 时钟 12 | //SYSCLK:系统时钟频率 13 | void delay_init(uint8_t SYSCLK) 14 | { 15 | uint32_t reload; 16 | //SysTick 频率为 HCLK 17 | HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); 18 | fac_us=SYSCLK; 19 | //不论是否使用 OS,fac_us 都需要使用 20 | reload=SYSCLK; 21 | //每秒钟的计数次数 单位为 K 22 | reload*=1000000/configTICK_RATE_HZ; 23 | //根据 configTICK_RATE_HZ 设定溢出时间 24 | //reload 为 24 位寄存器,最大值:16777216, 25 | //在 180M 下,约合 0.745s 左右 26 | fac_ms=1000/configTICK_RATE_HZ; 27 | //代表 OS 可以延时的最少单位 28 | SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;//开启 SYSTICK 中断 29 | SysTick->LOAD=reload; 30 | //每 1/configTICK_RATE_HZ 断一次 31 | SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //开启 SYSTICK 32 | } 33 | //延时 nus 34 | //nus:要延时的 us 数. 35 | //nus:0~190887435(最大值即 2^32/fac_us@fac_us=22.5) 36 | void delay_us(uint32_t nus) 37 | { 38 | uint32_t ticks; 39 | uint32_t told,tnow,tcnt=0; 40 | uint32_t reload=SysTick->LOAD; 41 | //LOAD 的值 42 | ticks=nus*fac_us; 43 | //需要的节拍数 44 | told=SysTick->VAL; 45 | //刚进入时的计数器值 46 | while(1) 47 | { 48 | tnow=SysTick->VAL; 49 | if(tnow!=told) 50 | { 51 | //这里注意一下 SYSTICK 是一个递减的计数器就可以了. 52 | if(tnow=ticks)break; 56 | //时间超过/等于要延迟的时间,则退出. 57 | } 58 | }; 59 | } 60 | //延时 nms,会引起任务调度 61 | //nms:要延时的 ms 数 62 | //nms:0~65535 63 | void delay_ms(uint32_t nms) 64 | { 65 | if(xTaskGetSchedulerState()!= taskSCHEDULER_NOT_STARTED)//系统已经运行 66 | { 67 | if(nms>=fac_ms) 68 | //延时的时间大于 OS 的最少时间周期 69 | { 70 | vTaskDelay(nms/fac_ms); 71 | //FreeRTOS 延时 72 | } 73 | nms%=fac_ms; 74 | //OS 已经无法提供这么小的延时了, 75 | //采用普通方式延时 76 | } 77 | delay_us((uint32_t)(nms*1000)); 78 | //普通方式延时 79 | } 80 | //延时 nms,不会引起任务调度 81 | //nms:要延时的 ms 数 82 | void delay_xms(uint32_t nms) 83 | { 84 | uint32_t i; 85 | for(i=0;iODR ^= GPIO_PIN_13; 68 | HAL_Delay(500); 69 | } 70 | 71 | void led_change_state() 72 | { 73 | GPIOC->ODR ^= GPIO_PIN_13; 74 | } 75 | 76 | /* USER CODE END 1 */ 77 | 78 | /** Configure pins as 79 | * Analog 80 | * Input 81 | * Output 82 | * EVENT_OUT 83 | * EXTI 84 | */ 85 | void MX_GPIO_Init(void) 86 | { 87 | 88 | GPIO_InitTypeDef GPIO_InitStruct; 89 | 90 | /* GPIO Ports Clock Enable */ 91 | __HAL_RCC_GPIOC_CLK_ENABLE(); 92 | __HAL_RCC_GPIOH_CLK_ENABLE(); 93 | __HAL_RCC_GPIOB_CLK_ENABLE(); 94 | __HAL_RCC_GPIOA_CLK_ENABLE(); 95 | 96 | /*Configure GPIO pin Output Level */ 97 | HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); 98 | 99 | /*Configure GPIO pin Output Level */ 100 | HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, GPIO_PIN_SET); 101 | 102 | /*Configure GPIO pins : PC13 PC14 */ 103 | GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14; 104 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 105 | GPIO_InitStruct.Pull = GPIO_PULLUP; 106 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 107 | HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 108 | 109 | } 110 | 111 | /* USER CODE BEGIN 2 */ 112 | 113 | /* USER CODE END 2 */ 114 | 115 | /** 116 | * @} 117 | */ 118 | 119 | /** 120 | * @} 121 | */ 122 | 123 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 124 | -------------------------------------------------------------------------------- /stm32f407/Src/math_nb.c: -------------------------------------------------------------------------------- 1 | 2 | #include "math_nb.h" 3 | 4 | #define M_LN2_FLOAT 0.69314718055994530942f 5 | #define M_PI_FLOAT 3.14159265358979323846f 6 | 7 | #define BIQUAD_BANDWIDTH 1.9f /* bandwidth in octaves */ 8 | #define BIQUAD_Q 1.0f / sqrtf(2.0f) /* quality factor - butterworth*/ 9 | 10 | void devClear(stdev_t *dev) 11 | { 12 | dev->m_n = 0; 13 | } 14 | 15 | void devPush(stdev_t *dev, float x) 16 | { 17 | dev->m_n++; 18 | if (dev->m_n == 1) { 19 | dev->m_oldM = dev->m_newM = x; 20 | dev->m_oldS = 0.0f; 21 | } else { 22 | dev->m_newM = dev->m_oldM + (x - dev->m_oldM) / dev->m_n; 23 | dev->m_newS = dev->m_oldS + (x - dev->m_oldM) * (x - dev->m_newM); 24 | dev->m_oldM = dev->m_newM; 25 | dev->m_oldS = dev->m_newS; 26 | } 27 | } 28 | 29 | float devVariance(stdev_t *dev) 30 | { 31 | return ((dev->m_n > 1) ? dev->m_newS / (dev->m_n - 1) : 0.0f); 32 | } 33 | 34 | float devStandardDeviation(stdev_t *dev) 35 | { 36 | return sqrtf(devVariance(dev)); 37 | } 38 | 39 | 40 | /* sets up a biquad Filter */ 41 | void biquadFilterInitLPF(biquadFilter_t *filter, float filterFreq, uint32_t refreshRate) 42 | { 43 | biquadFilterInit(filter, filterFreq, refreshRate, BIQUAD_Q, FILTER_LPF); 44 | } 45 | void biquadFilterInit(biquadFilter_t *filter, float filterFreq, uint32_t refreshRate, float Q, biquadFilterType_e filterType) 46 | { 47 | // setup variables 48 | const float sampleRate = 1 / ((float)refreshRate * 0.000001f); 49 | const float omega = 2 * M_PI_FLOAT * filterFreq / sampleRate; 50 | const float sn = sinf(omega); 51 | const float cs = cosf(omega); 52 | const float alpha = sn / (2 * Q); 53 | 54 | float b0 = 0, b1 = 0, b2 = 0, a0 = 0, a1 = 0, a2 = 0; 55 | 56 | switch (filterType) { 57 | case FILTER_LPF: 58 | b0 = (1 - cs) / 2; 59 | b1 = 1 - cs; 60 | b2 = (1 - cs) / 2; 61 | a0 = 1 + alpha; 62 | a1 = -2 * cs; 63 | a2 = 1 - alpha; 64 | break; 65 | case FILTER_NOTCH: 66 | b0 = 1; 67 | b1 = -2 * cs; 68 | b2 = 1; 69 | a0 = 1 + alpha; 70 | a1 = -2 * cs; 71 | a2 = 1 - alpha; 72 | break; 73 | } 74 | 75 | // precompute the coefficients 76 | filter->b0 = b0 / a0; 77 | filter->b1 = b1 / a0; 78 | filter->b2 = b2 / a0; 79 | filter->a1 = a1 / a0; 80 | filter->a2 = a2 / a0; 81 | 82 | // zero initial samples 83 | filter->d1 = filter->d2 = 0; 84 | } 85 | /* Computes a biquadFilter_t filter on a sample */ 86 | float biquadFilterApply(biquadFilter_t *filter, float input) 87 | { 88 | const float result = filter->b0 * input + filter->d1; 89 | filter->d1 = filter->b1 * input - filter->a1 * result + filter->d2; 90 | filter->d2 = filter->b2 * input - filter->a2 * result; 91 | return result; 92 | } 93 | 94 | float Math_fConstrain(float value, float min, float max) 95 | { 96 | if(value > max)value = max; 97 | else if(value < min)value = min; 98 | return value; 99 | } 100 | 101 | int16_t Math_Constrain(int16_t value,int16_t min,int16_t max) 102 | { 103 | if(value > max)value = max; 104 | else if(value < min)value = min; 105 | return value; 106 | } 107 | 108 | float Math_fDeadZone(float value, float min, float max) 109 | { 110 | if((max >= value) && (min <= value)) 111 | { 112 | value = 0.0f; 113 | } 114 | 115 | return value; 116 | } 117 | 118 | /************************ (C) COPYRIGHT *****END OF FILE****/ 119 | -------------------------------------------------------------------------------- /stm32f407/Src/pid.c: -------------------------------------------------------------------------------- 1 | 2 | #include "pid.h" 3 | #include "utask.h" 4 | 5 | // low pass filter: 6 | // f_cut = 1/(2*PI*cutoff_freq)//PI = 3.1415926,¹«Ê½£¬f = 1/2¦ÐRC,RCÓÃ20´øÈëµÃ7.9577e-3 7 | // f_cut = 10 Hz -> _filter = 15.9155e-3 8 | // f_cut = 15 Hz -> _filter = 10.6103e-3 9 | // f_cut = 20 Hz -> _filter = 7.9577e-3 10 | // f_cut = 25 Hz -> _filter = 6.3662e-3 11 | // f_cut = 30 Hz -> _filter = 5.3052e-3 12 | // f_cut = 5 Hz -> _filter = 31.830989e-3 13 | // f_cut = 2 Hz -> _filter = 79.577473e-3 14 | const float lowpass_filter = 7.9577e-3; 15 | 16 | 17 | 18 | void pidInit(struct PID* pid, float kp, 19 | float ki, float kd) 20 | { 21 | pid->merror = 0;//e(t) 22 | pid->last_error = 0;//e(t-1) 23 | pid->Integrator = 0;//»ý·Ö 24 | pid->deriv = 0;//΢·Ö 25 | pid->target = 0;//Ä¿±êÁ¿ 26 | pid->last_deriv = 0;//ÉÏ´Î΢·Ö 27 | pid->Kp = kp; 28 | pid->Ki = ki; 29 | pid->Kd = kd; 30 | 31 | pid->Lowpass_EN = PID_FALSE; //µÍͨÂ˲¨ ½ûÖ¹ 32 | pid->iLimit = DEFAULT_PID_INTEGRATION_LIMIT; //»ý·ÖÏÞÖÆ 33 | } 34 | 35 | float pidUpdate(struct PID* pid, float measured,float dt) 36 | { 37 | float output; 38 | pid->current = measured;//²âÁ¿Öµ 39 | 40 | pid->merror = pid->target - measured;//Ä¿±êÁ¿-²âÁ¿Öµ = Æ«²îe(t) 41 | 42 | //I »ý·Ö 43 | if(pid->Ki != 0){ 44 | pid->Integrator += (pid->Ki * pid->merror) * dt;//I = Ki * e(t) 45 | if (pid->Integrator > pid->iLimit)//»ý·Ö±¥ºÍ´¦Àí 46 | { 47 | pid->Integrator = pid->iLimit; 48 | } 49 | else if (pid->Integrator < -pid->iLimit) 50 | { 51 | pid->Integrator = -pid->iLimit; 52 | } 53 | } 54 | //D ΢·Ö 55 | pid->deriv = (pid->merror - pid->last_error) / dt;//¼ÆËã΢·Ö£¬¼´ {e(k)-e(k-1)}/t 56 | if(pid->Lowpass_EN != PID_FALSE){ //µÍͨÂ˲¨¡£½ØÖ¹ÆµÂÊ20hz 57 | pid->deriv = pid->last_deriv + 58 | (dt / (lowpass_filter + dt)) * (pid->deriv - pid->last_deriv); //D = D(k-1) + t/(f+t)*(D(k)-D(k-1)) 59 | } // 60 | 61 | pid->outP = pid->Kp * pid->merror; 62 | pid->outI = pid->Integrator; 63 | pid->outD = pid->Kd * pid->deriv; 64 | 65 | pid->PID_out = output = pid->outP + 66 | pid->outI + 67 | pid->outD; 68 | 69 | pid->last_error = pid->merror; 70 | 71 | return output; 72 | } 73 | 74 | float pidUpdate_err(struct PID* pid,float err, float dt) 75 | { 76 | float output; 77 | pid->merror = err; 78 | //I 79 | pid->Integrator += (pid->Ki * pid->merror) * dt; 80 | if (pid->Integrator > pid->iLimit) 81 | { 82 | pid->Integrator = pid->iLimit; 83 | } 84 | else if (pid->Integrator < -pid->iLimit) 85 | { 86 | pid->Integrator = -pid->iLimit; 87 | } 88 | //D 89 | pid->deriv = (pid->merror - pid->last_error) / dt; 90 | if(pid->Lowpass_EN != PID_FALSE){ //µÍͨÂ˲¨¡£½ØÖ¹ÆµÂÊ20hz 91 | pid->deriv = pid->last_deriv + 92 | (dt / (lowpass_filter + dt)) * (pid->deriv - pid->last_deriv); 93 | } 94 | //P 95 | pid->outP = pid->Kp * pid->merror; 96 | pid->outI = pid->Integrator; 97 | pid->outD = pid->Kd * pid->deriv; 98 | 99 | pid->PID_out = output = pid->outP + 100 | pid->outI + 101 | pid->outD; 102 | 103 | pid->last_error = pid->merror; 104 | 105 | return output; 106 | } 107 | 108 | void pidSetError(struct PID* pid, float err) 109 | { 110 | pid->merror = err; 111 | } 112 | 113 | void pidSetIntegralLimit(struct PID* pid, float limit) 114 | { 115 | pid->iLimit = limit; 116 | } 117 | 118 | void pidReset(struct PID* pid) 119 | { 120 | pid->merror = 0; 121 | pid->last_error = 0; 122 | pid->Integrator = 0; 123 | pid->deriv = 0; 124 | } 125 | 126 | 127 | void pidSetTarget(struct PID* pid, float target) 128 | { 129 | pid->target = target; 130 | } 131 | 132 | void pidSetTarget_Measure(struct PID* pid, float target, float measured) 133 | { 134 | pid->target = target; 135 | pid->current = measured; 136 | pid->merror = pid->target - measured; 137 | } 138 | 139 | void pidSetKp(struct PID* pid, float kp) 140 | { 141 | pid->Kp = kp; 142 | } 143 | 144 | void pidSetKi(struct PID* pid, float ki) 145 | { 146 | pid->Ki = ki; 147 | } 148 | 149 | void pidSetKd(struct PID* pid, float kd) 150 | { 151 | pid->Kd = kd; 152 | } 153 | 154 | void pidSetMeasured(struct PID* pid, float measured) 155 | { 156 | pid->current = measured; 157 | } 158 | 159 | void pidSetLowPassEnable(struct PID* pid) 160 | { 161 | pid->Lowpass_EN = PID_TRUE; 162 | } 163 | 164 | void pidSet(struct PID* pid, float kp, float ki, float kd) 165 | { 166 | pid->Kp = kp; 167 | pid->Ki = ki; 168 | pid->Kd = kd; 169 | } 170 | 171 | //------------------End of File---------------------------- 172 | 173 | 174 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 175 | -------------------------------------------------------------------------------- /stm32f407/Src/send_data.c: -------------------------------------------------------------------------------- 1 | 2 | #include "send_data.h" 3 | #include "AHRS_states.h" 4 | 5 | void send_data_to_pc(uint8_t* buf, uint8_t len) 6 | { 7 | for (uint8_t i = 0; i < len; i++) 8 | { 9 | HAL_UART_Transmit(&huart3, buf + i, 1, 1); 10 | } 11 | } 12 | 13 | void send_imu_data_to_pc() 14 | { 15 | uint8_t buf[SEND_BUF_SIZE] = {0}; 16 | f_bytes data; 17 | uint8_t i = 0; 18 | uint8_t j = 0; 19 | uint8_t sum = 0; 20 | 21 | buf[i++] = SOF; 22 | sum += SOF; 23 | 24 | data.value = gStateData.phi; 25 | 26 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 27 | { 28 | buf[i++] = data.byte[j]; 29 | sum += data.byte[j]; 30 | } 31 | 32 | data.value = gStateData.theta; 33 | 34 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 35 | { 36 | buf[i++] = data.byte[j]; 37 | sum += data.byte[j]; 38 | } 39 | 40 | data.value = gStateData.psi; 41 | 42 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 43 | { 44 | buf[i++] = data.byte[j]; 45 | sum += data.byte[j]; 46 | } 47 | 48 | data.value = gStateData.phi; 49 | 50 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 51 | { 52 | buf[i++] = data.byte[j]; 53 | sum += data.byte[j]; 54 | } 55 | 56 | data.value = gStateData.theta; 57 | 58 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 59 | { 60 | buf[i++] = data.byte[j]; 61 | sum += data.byte[j]; 62 | } 63 | 64 | data.value = gStateData.psi; 65 | 66 | for (j = 0; j < FLOAT_DATA_SIZE; j++) 67 | { 68 | buf[i++] = data.byte[j]; 69 | sum += data.byte[j]; 70 | } 71 | 72 | buf[i++] = sum; 73 | 74 | send_data_to_pc(buf, i); 75 | } 76 | 77 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 78 | -------------------------------------------------------------------------------- /stm32f407/Src/stm32f4xx_hal_msp.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : stm32f4xx_hal_msp.c 4 | * Description : This file provides code for the MSP Initialization 5 | * and de-Initialization codes. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Includes ------------------------------------------------------------------*/ 45 | #include "stm32f4xx_hal.h" 46 | 47 | extern void Error_Handler(void); 48 | /* USER CODE BEGIN 0 */ 49 | 50 | /* USER CODE END 0 */ 51 | /** 52 | * Initializes the Global MSP. 53 | */ 54 | void HAL_MspInit(void) 55 | { 56 | /* USER CODE BEGIN MspInit 0 */ 57 | 58 | /* USER CODE END MspInit 0 */ 59 | 60 | HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 61 | 62 | /* System interrupt init*/ 63 | /* MemoryManagement_IRQn interrupt configuration */ 64 | HAL_NVIC_SetPriority(MemoryManagement_IRQn, 0, 0); 65 | /* BusFault_IRQn interrupt configuration */ 66 | HAL_NVIC_SetPriority(BusFault_IRQn, 0, 0); 67 | /* UsageFault_IRQn interrupt configuration */ 68 | HAL_NVIC_SetPriority(UsageFault_IRQn, 0, 0); 69 | /* SVCall_IRQn interrupt configuration */ 70 | HAL_NVIC_SetPriority(SVCall_IRQn, 0, 0); 71 | /* DebugMonitor_IRQn interrupt configuration */ 72 | HAL_NVIC_SetPriority(DebugMonitor_IRQn, 0, 0); 73 | /* PendSV_IRQn interrupt configuration */ 74 | HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); 75 | /* SysTick_IRQn interrupt configuration */ 76 | HAL_NVIC_SetPriority(SysTick_IRQn, 15, 0); 77 | 78 | /* USER CODE BEGIN MspInit 1 */ 79 | 80 | /* USER CODE END MspInit 1 */ 81 | } 82 | 83 | /* USER CODE BEGIN 1 */ 84 | 85 | /* USER CODE END 1 */ 86 | 87 | /** 88 | * @} 89 | */ 90 | 91 | /** 92 | * @} 93 | */ 94 | 95 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 96 | -------------------------------------------------------------------------------- /stm32f407/Src/syscalls.c: -------------------------------------------------------------------------------- 1 | /* Support files for GNU libc. Files in the system namespace go here. 2 | Files in the C namespace (ie those that do not start with an 3 | underscore) go in .c. */ 4 | 5 | #include <_ansi.h> 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | 20 | 21 | #define FreeRTOS 22 | #define MAX_STACK_SIZE 0x2000 23 | 24 | extern int __io_putchar(int ch) __attribute__((weak)); 25 | extern int __io_getchar(void) __attribute__((weak)); 26 | 27 | #ifndef FreeRTOS 28 | register char * stack_ptr asm("sp"); 29 | #endif 30 | 31 | 32 | 33 | 34 | caddr_t _sbrk(int incr) 35 | { 36 | extern char end asm("end"); 37 | static char *heap_end; 38 | char *prev_heap_end,*min_stack_ptr; 39 | 40 | if (heap_end == 0) 41 | heap_end = &end; 42 | 43 | prev_heap_end = heap_end; 44 | 45 | #ifdef FreeRTOS 46 | /* Use the NVIC offset register to locate the main stack pointer. */ 47 | min_stack_ptr = (char*)(*(unsigned int *)*(unsigned int *)0xE000ED08); 48 | /* Locate the STACK bottom address */ 49 | min_stack_ptr -= MAX_STACK_SIZE; 50 | 51 | if (heap_end + incr > min_stack_ptr) 52 | #else 53 | if (heap_end + incr > stack_ptr) 54 | #endif 55 | { 56 | // write(1, "Heap and stack collision\n", 25); 57 | // abort(); 58 | errno = ENOMEM; 59 | return (caddr_t) -1; 60 | } 61 | 62 | heap_end += incr; 63 | 64 | return (caddr_t) prev_heap_end; 65 | } 66 | 67 | /* 68 | * _gettimeofday primitive (Stub function) 69 | * */ 70 | int _gettimeofday (struct timeval * tp, struct timezone * tzp) 71 | { 72 | /* Return fixed data for the timezone. */ 73 | if (tzp) 74 | { 75 | tzp->tz_minuteswest = 0; 76 | tzp->tz_dsttime = 0; 77 | } 78 | 79 | return 0; 80 | } 81 | void initialise_monitor_handles() 82 | { 83 | } 84 | 85 | int _getpid(void) 86 | { 87 | return 1; 88 | } 89 | 90 | int _kill(int pid, int sig) 91 | { 92 | errno = EINVAL; 93 | return -1; 94 | } 95 | 96 | void _exit (int status) 97 | { 98 | _kill(status, -1); 99 | while (1) {} 100 | } 101 | 102 | int _write(int file, char *ptr, int len) 103 | { 104 | int DataIdx; 105 | 106 | for (DataIdx = 0; DataIdx < len; DataIdx++) 107 | { 108 | __io_putchar( *ptr++ ); 109 | } 110 | return len; 111 | } 112 | 113 | int _close(int file) 114 | { 115 | return -1; 116 | } 117 | 118 | int _fstat(int file, struct stat *st) 119 | { 120 | st->st_mode = S_IFCHR; 121 | return 0; 122 | } 123 | 124 | int _isatty(int file) 125 | { 126 | return 1; 127 | } 128 | 129 | int _lseek(int file, int ptr, int dir) 130 | { 131 | return 0; 132 | } 133 | 134 | int _read(int file, char *ptr, int len) 135 | { 136 | int DataIdx; 137 | 138 | for (DataIdx = 0; DataIdx < len; DataIdx++) 139 | { 140 | *ptr++ = __io_getchar(); 141 | } 142 | 143 | return len; 144 | } 145 | 146 | int _open(char *path, int flags, ...) 147 | { 148 | /* Pretend like we always fail */ 149 | return -1; 150 | } 151 | 152 | int _wait(int *status) 153 | { 154 | errno = ECHILD; 155 | return -1; 156 | } 157 | 158 | int _unlink(char *name) 159 | { 160 | errno = ENOENT; 161 | return -1; 162 | } 163 | 164 | int _times(struct tms *buf) 165 | { 166 | return -1; 167 | } 168 | 169 | int _stat(char *file, struct stat *st) 170 | { 171 | st->st_mode = S_IFCHR; 172 | return 0; 173 | } 174 | 175 | int _link(char *old, char *new) 176 | { 177 | errno = EMLINK; 178 | return -1; 179 | } 180 | 181 | int _fork(void) 182 | { 183 | errno = EAGAIN; 184 | return -1; 185 | } 186 | 187 | int _execve(char *name, char **argv, char **env) 188 | { 189 | errno = ENOMEM; 190 | return -1; 191 | } 192 | -------------------------------------------------------------------------------- /stm32f407/Src/utask.c: -------------------------------------------------------------------------------- 1 | #include "utask.h" 2 | 3 | volatile g_status_t g_status = {0}; 4 | volatile g_real_t g_real = {0}; 5 | 6 | task_table_t *fast_table_ptr = NULL; 7 | uint8_t fast_table_size = 0; 8 | task_table_t *slow_table_ptr = NULL; 9 | uint8_t slow_table_size = 0; 10 | task_table_t *super_table_ptr = NULL; 11 | uint8_t super_table_size = 0; 12 | 13 | 14 | void register_task_table(task_table_t *fast_task_table, uint8_t fast_size, 15 | task_table_t *slow_task_table, uint8_t slow_size, 16 | task_table_t *super_task_table, uint8_t super_size) 17 | { 18 | if ((NULL == fast_task_table) || (NULL == slow_task_table) || (NULL == super_task_table) 19 | || (0 == fast_size) || (0 == slow_size) || (0 == super_size)) 20 | { 21 | g_status.task_state = 1; 22 | return; 23 | } 24 | 25 | fast_table_ptr = fast_task_table; 26 | fast_table_size = fast_size; 27 | slow_table_ptr = slow_task_table; 28 | slow_table_size = slow_size; 29 | super_table_ptr = super_task_table; 30 | super_table_size = super_size; 31 | } 32 | 33 | void slow_task() 34 | { 35 | static uint32_t cnt = 0; 36 | 37 | if ((NULL == slow_table_ptr) || (0 == slow_table_size)) 38 | { 39 | g_status.task_state = 1; 40 | return; 41 | } 42 | 43 | for (uint8_t i = 0; i < slow_table_size; i++) 44 | { 45 | if (0 == (cnt % slow_table_ptr[i].freq)) 46 | { 47 | slow_table_ptr[i].handler(); 48 | } 49 | } 50 | 51 | cnt++; 52 | } 53 | 54 | void fast_task() 55 | { 56 | static uint32_t cnt = 0; 57 | 58 | if ((NULL == fast_table_ptr) || (0 == fast_table_size)) 59 | { 60 | g_status.task_state = 1; 61 | return; 62 | } 63 | 64 | for (uint8_t i = 0; i < fast_table_size; i++) 65 | { 66 | if (0 == (cnt % fast_table_ptr[i].freq)) 67 | { 68 | fast_table_ptr[i].handler(); 69 | } 70 | } 71 | 72 | cnt++; 73 | } 74 | 75 | void super_task() 76 | { 77 | static uint32_t cnt = 0; 78 | 79 | if ((NULL == super_table_ptr) || (0 == super_table_size)) 80 | { 81 | g_status.task_state = 1; 82 | return; 83 | } 84 | 85 | for (uint8_t i = 0; i < super_table_size; i++) 86 | { 87 | if (0 == (cnt % super_table_ptr[i].freq)) 88 | { 89 | super_table_ptr[i].handler(); 90 | } 91 | } 92 | 93 | cnt++; 94 | } 95 | 96 | /*********************** *****END OF FILE****/ 97 | -------------------------------------------------------------------------------- /stm32f407/stm32f407.cfg: -------------------------------------------------------------------------------- 1 | # This is an stm32f407 board with a single STM32F407VGTx chip. 2 | # Generated by System Workbench for STM32 3 | 4 | source [find interface/stlink-v2.cfg] 5 | 6 | set WORKAREASIZE 0x20000 7 | transport select "hla_swd" 8 | 9 | set CHIPNAME STM32F407VGTx 10 | 11 | source [find target/stm32f4x_stlink.cfg] 12 | 13 | # use hardware reset, connect under reset 14 | reset_config srst_only srst_nogate 15 | -------------------------------------------------------------------------------- /stm32f407/stm32f407.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | stm32f407 5 | stm32f407vgtx 6 | SWD 7 | ST-LinkV2 8 | 9 | 10 | --------------------------------------------------------------------------------