├── 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.svn remote-cache-key org.eclipse.cdt.core org.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 |
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 |
--------------------------------------------------------------------------------