├── .gitattributes ├── .gitignore ├── CAN_Demo_Keil ├── .gitattributes ├── .gitignore ├── DebugConfig │ ├── OLD-X_FC_2.0_STM32F405RGTx.dbgconf │ ├── OLD-X_FC_2.0_STM32F407VG.dbgconf │ └── OLD-X_FC_2.0_STM32F407ZGTx.dbgconf ├── Debug_Record ├── EventRecorderStub.scvd ├── F407_FC.uvgui.user ├── F407_FC.uvguix.Administrator ├── F407_FC.uvguix.golaced ├── F407_FC.uvguix.hp ├── F407_FC.uvopt ├── F407_FC.uvoptx ├── F407_FC.uvproj.saved_uv4 ├── F407_FC.uvprojx ├── JLinkLog.txt ├── JLinkSettings.ini ├── Libraries │ ├── CMSIS │ │ ├── CMSIS END USER LICENCE AGREEMENT.pdf │ │ ├── README.txt │ │ ├── ST │ │ │ └── STM32F4xx │ │ │ │ ├── Include │ │ │ │ ├── stm32f4xx.h │ │ │ │ └── system_stm32f4xx.h │ │ │ │ ├── Release_Notes.html │ │ │ │ └── Source │ │ │ │ └── Templates │ │ │ │ ├── TASKING │ │ │ │ └── cstart_thumb2.asm │ │ │ │ ├── TrueSTUDIO │ │ │ │ └── startup_stm32f4xx.s │ │ │ │ ├── arm │ │ │ │ └── startup_stm32f4xx.s │ │ │ │ ├── gcc_ride7 │ │ │ │ └── startup_stm32f4xx.s │ │ │ │ ├── iar │ │ │ │ └── startup_stm32f4xx.s │ │ │ │ └── system_stm32f4xx.c │ │ ├── arm_cortexM4lf_math.lib │ │ └── index.htm │ ├── FatFS │ │ └── src │ │ │ ├── 00readme.txt │ │ │ ├── diskio.c │ │ │ ├── diskio.h │ │ │ ├── ff.c │ │ │ ├── ff.h │ │ │ ├── ffconf.h │ │ │ ├── integer.h │ │ │ └── option │ │ │ ├── cc932.c │ │ │ ├── cc936.c │ │ │ ├── cc949.c │ │ │ ├── cc950.c │ │ │ ├── ccsbcs.c │ │ │ ├── syscall.c │ │ │ └── unicode.c │ ├── SConscript │ └── STM32F4xx_StdPeriph_Driver │ │ ├── Release_Notes.html │ │ ├── inc │ │ ├── misc.h │ │ ├── stm32f4xx_adc.h │ │ ├── stm32f4xx_can.h │ │ ├── stm32f4xx_crc.h │ │ ├── stm32f4xx_cryp.h │ │ ├── stm32f4xx_dac.h │ │ ├── stm32f4xx_dbgmcu.h │ │ ├── stm32f4xx_dcmi.h │ │ ├── stm32f4xx_dma.h │ │ ├── stm32f4xx_exti.h │ │ ├── stm32f4xx_flash.h │ │ ├── stm32f4xx_fsmc.h │ │ ├── stm32f4xx_gpio.h │ │ ├── stm32f4xx_hash.h │ │ ├── stm32f4xx_i2c.h │ │ ├── stm32f4xx_iwdg.h │ │ ├── stm32f4xx_pwr.h │ │ ├── stm32f4xx_rcc.h │ │ ├── stm32f4xx_rng.h │ │ ├── stm32f4xx_rtc.h │ │ ├── stm32f4xx_sdio.h │ │ ├── stm32f4xx_spi.h │ │ ├── stm32f4xx_syscfg.h │ │ ├── stm32f4xx_tim.h │ │ ├── stm32f4xx_usart.h │ │ └── stm32f4xx_wwdg.h │ │ └── src │ │ ├── misc.c │ │ ├── stm32f4xx_adc.c │ │ ├── stm32f4xx_can.c │ │ ├── stm32f4xx_crc.c │ │ ├── stm32f4xx_cryp.c │ │ ├── stm32f4xx_cryp_aes.c │ │ ├── stm32f4xx_cryp_des.c │ │ ├── stm32f4xx_cryp_tdes.c │ │ ├── stm32f4xx_dac.c │ │ ├── stm32f4xx_dbgmcu.c │ │ ├── stm32f4xx_dcmi.c │ │ ├── stm32f4xx_dma.c │ │ ├── stm32f4xx_exti.c │ │ ├── stm32f4xx_flash.c │ │ ├── stm32f4xx_fsmc.c │ │ ├── stm32f4xx_gpio.c │ │ ├── stm32f4xx_hash.c │ │ ├── stm32f4xx_hash_md5.c │ │ ├── stm32f4xx_hash_sha1.c │ │ ├── stm32f4xx_i2c.c │ │ ├── stm32f4xx_iwdg.c │ │ ├── stm32f4xx_pwr.c │ │ ├── stm32f4xx_rcc.c │ │ ├── stm32f4xx_rng.c │ │ ├── stm32f4xx_rtc.c │ │ ├── stm32f4xx_sdio.c │ │ ├── stm32f4xx_spi.c │ │ ├── stm32f4xx_syscfg.c │ │ ├── stm32f4xx_tim.c │ │ ├── stm32f4xx_usart.c │ │ └── stm32f4xx_wwdg.c ├── RTE │ └── _OLD-X_FC_2.0 │ │ └── RTE_Components.h ├── TEST.ANO ├── applications │ ├── filter.h │ ├── fliter.c │ ├── include.h │ ├── main.c │ ├── my_math.c │ ├── my_math.h │ ├── mymath.c │ ├── mymath.h │ ├── stm32f4xx_conf.h │ └── stm32f4xx_it.c ├── build │ ├── F407_FC.axf │ ├── F407_FC.build_log.htm │ ├── F407_FC.htm │ ├── F407_FC.lnp │ ├── F407_FC.map │ ├── F407_FC.sct │ ├── F407_FC_OLD-X FC 2.0.dep │ ├── can.crf │ ├── can.d │ ├── delay.crf │ ├── delay.d │ ├── fliter.crf │ ├── fliter.d │ ├── main.crf │ ├── main.d │ ├── misc.crf │ ├── misc.d │ ├── my_math.crf │ ├── my_math.d │ ├── mymath.crf │ ├── mymath.d │ ├── startup_stm32f4xx.d │ ├── startup_stm32f4xx.lst │ ├── stm32f4xx_adc.crf │ ├── stm32f4xx_adc.d │ ├── stm32f4xx_can.crf │ ├── stm32f4xx_can.d │ ├── stm32f4xx_dbgmcu.crf │ ├── stm32f4xx_dbgmcu.d │ ├── stm32f4xx_dma.crf │ ├── stm32f4xx_dma.d │ ├── stm32f4xx_exti.crf │ ├── stm32f4xx_exti.d │ ├── stm32f4xx_flash.crf │ ├── stm32f4xx_flash.d │ ├── stm32f4xx_gpio.crf │ ├── stm32f4xx_gpio.d │ ├── stm32f4xx_it.crf │ ├── stm32f4xx_it.d │ ├── stm32f4xx_iwdg.crf │ ├── stm32f4xx_iwdg.d │ ├── stm32f4xx_pwr.crf │ ├── stm32f4xx_pwr.d │ ├── stm32f4xx_rcc.crf │ ├── stm32f4xx_rcc.d │ ├── stm32f4xx_rng.crf │ ├── stm32f4xx_rng.d │ ├── stm32f4xx_spi.crf │ ├── stm32f4xx_spi.d │ ├── stm32f4xx_syscfg.crf │ ├── stm32f4xx_syscfg.d │ ├── stm32f4xx_tim.crf │ ├── stm32f4xx_tim.d │ ├── stm32f4xx_usart.crf │ ├── stm32f4xx_usart.d │ ├── sys.crf │ ├── sys.d │ ├── system_stm32f4xx.crf │ ├── system_stm32f4xx.d │ ├── time.crf │ └── time.d ├── clear编译完的东西.bat ├── drivers │ ├── can.c │ ├── can.h │ ├── time.c │ └── time.h └── system_src │ ├── delay.c │ ├── delay.h │ ├── sys.c │ └── sys.h ├── PCB ├── CAN_OD节点V1.xls ├── CAN_OD节点V11.PcbDoc ├── ENCODER_OD.PcbDoc ├── ENCODER_OD.PcbDocPreview ├── ENCODER_OD.xls ├── SWD_OD转接.xls ├── TLE5012B.PcbDoc ├── TLE5012B.PcbDocPreview ├── TLE5012B.SchDoc ├── TLE5012B.xls ├── 模型USB.PcbDoc ├── 模型USB.SchDoc └── 模型USB.xls ├── README.md ├── 上位机 ├── 105上位机.rar ├── MOCO_OCU图片.rar ├── 上位机1043.rar └── 说明.txt ├── 固件 ├── ODriveFirmware45慢保护24V.hex ├── ODriveFirmware45慢保护48V.hex └── 节点板100固件.hex ├── 说明.txt └── 配置文件 ├── doggo_setup3521.py ├── doggo_setup5048.py └── doggo_setupMad220Kv_new.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | *.ko 4 | *.obj 5 | *.elf 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Libraries 12 | 13 | *.a 14 | *.la 15 | *.lo 16 | 17 | # Shared objects (inc. Windows DLLs) 18 | *.dll 19 | *.so 20 | *.so.* 21 | *.dylib 22 | 23 | # Executables 24 | *.exe 25 | *.out 26 | *.app 27 | *.i*86 28 | *.x86_64 29 | *.hex 30 | 31 | # Debug files 32 | *.dSYM/ 33 | 34 | # ========================= 35 | # Operating System Files 36 | # ========================= 37 | 38 | # OSX 39 | # ========================= 40 | 41 | .DS_Store 42 | .AppleDouble 43 | .LSOverride 44 | 45 | # Thumbnails 46 | ._* 47 | 48 | # Files that might appear in the root of a volume 49 | .DocumentRevisions-V100 50 | .fseventsd 51 | .Spotlight-V100 52 | .TemporaryItems 53 | .Trashes 54 | .VolumeIcon.icns 55 | 56 | # Directories potentially created on remote AFP share 57 | .AppleDB 58 | .AppleDesktop 59 | Network Trash Folder 60 | Temporary Items 61 | .apdisk 62 | 63 | # Windows 64 | # ========================= 65 | 66 | # Windows image file caches 67 | Thumbs.db 68 | ehthumbs.db 69 | 70 | # Folder config file 71 | Desktop.ini 72 | 73 | # Recycle Bin used on file shares 74 | $RECYCLE.BIN/ 75 | 76 | # Windows Installer files 77 | *.cab 78 | *.msi 79 | *.msm 80 | *.msp 81 | 82 | # Windows shortcuts 83 | *.lnk 84 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/DebugConfig/OLD-X_FC_2.0_STM32F405RGTx.dbgconf: -------------------------------------------------------------------------------- 1 | // <<< Use Configuration Wizard in Context Menu >>> 2 | 3 | // Debug MCU Configuration 4 | // DBG_SLEEP Debug Sleep Mode 5 | // DBG_STOP Debug Stop Mode 6 | // DBG_STANDBY Debug Standby Mode 7 | // 8 | DbgMCU_CR = 0x00000007; 9 | 10 | // Debug MCU APB1 Freeze 11 | // DBG_TIM2_STOP Timer 2 Stopped when Core is halted 12 | // DBG_TIM3_STOP Timer 3 Stopped when Core is halted 13 | // DBG_TIM4_STOP Timer 4 Stopped when Core is halted 14 | // DBG_TIM5_STOP Timer 5 Stopped when Core is halted 15 | // DBG_TIM6_STOP Timer 6 Stopped when Core is halted 16 | // DBG_TIM7_STOP Timer 7 Stopped when Core is halted 17 | // DBG_TIM12_STOP Timer 12 Stopped when Core is halted 18 | // DBG_TIM13_STOP Timer 13 Stopped when Core is halted 19 | // DBG_TIM14_STOP Timer 14 Stopped when Core is halted 20 | // DBG_RTC_STOP RTC Stopped when Core is halted 21 | // DBG_WWDG_STOP Window Watchdog Stopped when Core is halted 22 | // DBG_IWDG_STOP Independent Watchdog Stopped when Core is halted 23 | // DBG_I2C1_SMBUS_TIMEOUT I2C1 SMBUS Timeout Mode Stopped when Core is halted 24 | // DBG_I2C2_SMBUS_TIMEOUT I2C2 SMBUS Timeout Mode Stopped when Core is halted 25 | // DBG_I2C3_SMBUS_TIMEOUT I2C3 SMBUS Timeout Mode Stopped when Core is halted 26 | // DBG_CAN1_STOP CAN1 Stopped when Core is halted 27 | // DBG_CAN2_STOP CAN2 Stopped when Core is halted 28 | // 29 | DbgMCU_APB1_Fz = 0x00000000; 30 | 31 | 32 | // Debug MCU APB2 Freeze 33 | // DBG_TIM1_STOP Timer 1 Stopped when Core is halted 34 | // DBG_TIM8_STOP Timer 8 Stopped when Core is halted 35 | // DBG_TIM9_STOP Timer 9 Stopped when Core is halted 36 | // DBG_TIM10_STOP Timer 10 Stopped when Core is halted 37 | // DBG_TIM11_STOP Timer 11 Stopped when Core is halted 38 | // 39 | DbgMCU_APB2_Fz = 0x00000000; 40 | 41 | // <<< end of configuration section >>> -------------------------------------------------------------------------------- /CAN_Demo_Keil/DebugConfig/OLD-X_FC_2.0_STM32F407VG.dbgconf: -------------------------------------------------------------------------------- 1 | // <<< Use Configuration Wizard in Context Menu >>> 2 | 3 | // Debug MCU Configuration 4 | // DBG_SLEEP Debug Sleep Mode 5 | // DBG_STOP Debug Stop Mode 6 | // DBG_STANDBY Debug Standby Mode 7 | // 8 | DbgMCU_CR = 0x00000007; 9 | 10 | // Debug MCU APB1 Freeze 11 | // DBG_TIM2_STOP Timer 2 Stopped when Core is halted 12 | // DBG_TIM3_STOP Timer 3 Stopped when Core is halted 13 | // DBG_TIM4_STOP Timer 4 Stopped when Core is halted 14 | // DBG_TIM5_STOP Timer 5 Stopped when Core is halted 15 | // DBG_TIM6_STOP Timer 6 Stopped when Core is halted 16 | // DBG_TIM7_STOP Timer 7 Stopped when Core is halted 17 | // DBG_TIM12_STOP Timer 12 Stopped when Core is halted 18 | // DBG_TIM13_STOP Timer 13 Stopped when Core is halted 19 | // DBG_TIM14_STOP Timer 14 Stopped when Core is halted 20 | // DBG_RTC_STOP RTC Stopped when Core is halted 21 | // DBG_WWDG_STOP Window Watchdog Stopped when Core is halted 22 | // DBG_IWDG_STOP Independent Watchdog Stopped when Core is halted 23 | // DBG_I2C1_SMBUS_TIMEOUT I2C1 SMBUS Timeout Mode Stopped when Core is halted 24 | // DBG_I2C2_SMBUS_TIMEOUT I2C2 SMBUS Timeout Mode Stopped when Core is halted 25 | // DBG_I2C3_SMBUS_TIMEOUT I2C3 SMBUS Timeout Mode Stopped when Core is halted 26 | // DBG_CAN1_STOP CAN1 Stopped when Core is halted 27 | // DBG_CAN2_STOP CAN2 Stopped when Core is halted 28 | // 29 | DbgMCU_APB1_Fz = 0x00000000; 30 | 31 | 32 | // Debug MCU APB2 Freeze 33 | // DBG_TIM1_STOP Timer 1 Stopped when Core is halted 34 | // DBG_TIM8_STOP Timer 8 Stopped when Core is halted 35 | // DBG_TIM9_STOP Timer 9 Stopped when Core is halted 36 | // DBG_TIM10_STOP Timer 10 Stopped when Core is halted 37 | // DBG_TIM11_STOP Timer 11 Stopped when Core is halted 38 | // 39 | DbgMCU_APB2_Fz = 0x00000000; 40 | 41 | // <<< end of configuration section >>> -------------------------------------------------------------------------------- /CAN_Demo_Keil/DebugConfig/OLD-X_FC_2.0_STM32F407ZGTx.dbgconf: -------------------------------------------------------------------------------- 1 | // <<< Use Configuration Wizard in Context Menu >>> 2 | 3 | // Debug MCU Configuration 4 | // DBG_SLEEP Debug Sleep Mode 5 | // DBG_STOP Debug Stop Mode 6 | // DBG_STANDBY Debug Standby Mode 7 | // 8 | DbgMCU_CR = 0x00000007; 9 | 10 | // Debug MCU APB1 Freeze 11 | // DBG_TIM2_STOP Timer 2 Stopped when Core is halted 12 | // DBG_TIM3_STOP Timer 3 Stopped when Core is halted 13 | // DBG_TIM4_STOP Timer 4 Stopped when Core is halted 14 | // DBG_TIM5_STOP Timer 5 Stopped when Core is halted 15 | // DBG_TIM6_STOP Timer 6 Stopped when Core is halted 16 | // DBG_TIM7_STOP Timer 7 Stopped when Core is halted 17 | // DBG_TIM12_STOP Timer 12 Stopped when Core is halted 18 | // DBG_TIM13_STOP Timer 13 Stopped when Core is halted 19 | // DBG_TIM14_STOP Timer 14 Stopped when Core is halted 20 | // DBG_RTC_STOP RTC Stopped when Core is halted 21 | // DBG_WWDG_STOP Window Watchdog Stopped when Core is halted 22 | // DBG_IWDG_STOP Independent Watchdog Stopped when Core is halted 23 | // DBG_I2C1_SMBUS_TIMEOUT I2C1 SMBUS Timeout Mode Stopped when Core is halted 24 | // DBG_I2C2_SMBUS_TIMEOUT I2C2 SMBUS Timeout Mode Stopped when Core is halted 25 | // DBG_I2C3_SMBUS_TIMEOUT I2C3 SMBUS Timeout Mode Stopped when Core is halted 26 | // DBG_CAN1_STOP CAN1 Stopped when Core is halted 27 | // DBG_CAN2_STOP CAN2 Stopped when Core is halted 28 | // 29 | DbgMCU_APB1_Fz = 0x00000000; 30 | 31 | 32 | // Debug MCU APB2 Freeze 33 | // DBG_TIM1_STOP Timer 1 Stopped when Core is halted 34 | // DBG_TIM8_STOP Timer 8 Stopped when Core is halted 35 | // DBG_TIM9_STOP Timer 9 Stopped when Core is halted 36 | // DBG_TIM10_STOP Timer 10 Stopped when Core is halted 37 | // DBG_TIM11_STOP Timer 11 Stopped when Core is halted 38 | // 39 | DbgMCU_APB2_Fz = 0x00000000; 40 | 41 | // <<< end of configuration section >>> -------------------------------------------------------------------------------- /CAN_Demo_Keil/Debug_Record: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/Debug_Record -------------------------------------------------------------------------------- /CAN_Demo_Keil/EventRecorderStub.scvd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/JLinkLog.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/JLinkLog.txt -------------------------------------------------------------------------------- /CAN_Demo_Keil/JLinkSettings.ini: -------------------------------------------------------------------------------- 1 | [BREAKPOINTS] 2 | ShowInfoWin = 1 3 | EnableFlashBP = 2 4 | BPDuringExecution = 0 5 | [CFI] 6 | CFISize = 0x00 7 | CFIAddr = 0x00 8 | [CPU] 9 | OverrideMemMap = 0 10 | AllowSimulation = 1 11 | ScriptFile="" 12 | [FLASH] 13 | CacheExcludeSize = 0x00 14 | CacheExcludeAddr = 0x00 15 | MinNumBytesFlashDL = 0 16 | SkipProgOnCRCMatch = 1 17 | VerifyDownload = 1 18 | AllowCaching = 1 19 | EnableFlashDL = 2 20 | Override = 0 21 | Device="UNSPECIFIED" 22 | [GENERAL] 23 | WorkRAMSize = 0x00 24 | WorkRAMAddr = 0x00 25 | RAMUsageLimit = 0x00 26 | [SWO] 27 | SWOLogFile="" 28 | [MEM] 29 | RdOverrideOrMask = 0x00 30 | RdOverrideAndMask = 0xFFFFFFFF 31 | RdOverrideAddr = 0xFFFFFFFF 32 | WrOverrideOrMask = 0x00 33 | WrOverrideAndMask = 0xFFFFFFFF 34 | WrOverrideAddr = 0xFFFFFFFF 35 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/Libraries/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/README.txt: -------------------------------------------------------------------------------- 1 | * ------------------------------------------------------------------- 2 | * Copyright (C) 2011 ARM Limited. All rights reserved. 3 | * 4 | * Date: 25 July 2011 5 | * Revision: V2.10 6 | * 7 | * Project: Cortex Microcontroller Software Interface Standard (CMSIS) 8 | * Title: Release Note for CMSIS 9 | * 10 | * ------------------------------------------------------------------- 11 | 12 | 13 | NOTE - Open the index.html file to access CMSIS documentation 14 | 15 | 16 | The Cortex Microcontroller Software Interface Standard (CMSIS) provides a single standard across all 17 | Cortex-Mx processor series vendors. It enables code re-use and code sharing across software projects 18 | and reduces time-to-market for new embedded applications. 19 | 20 | CMSIS is released under the terms of the end user license agreement ("CMSIS END USER LICENCE AGREEMENT.pdf"). 21 | Any user of the software package is bound to the terms and conditions of the end user license agreement. 22 | 23 | 24 | You will find the following sub-directories: 25 | 26 | Documentation - Contains CMSIS documentation. 27 | 28 | DSP_Lib - MDK project files, Examples and source files etc.. to build the 29 | CMSIS DSP Software Library for Cortex-M0, Cortex-M3, Cortex-M4 processors. 30 | 31 | Include - CMSIS Core Support and CMSIS DSP Include Files. 32 | 33 | Lib - CMSIS DSP Binaries 34 | --- -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/ST/STM32F4xx/Include/system_stm32f4xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32f4xx.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 17 | * 18 | *

© COPYRIGHT 2011 STMicroelectronics

19 | ****************************************************************************** 20 | */ 21 | 22 | /** @addtogroup CMSIS 23 | * @{ 24 | */ 25 | 26 | /** @addtogroup stm32f4xx_system 27 | * @{ 28 | */ 29 | 30 | /** 31 | * @brief Define to prevent recursive inclusion 32 | */ 33 | #ifndef __SYSTEM_STM32F4XX_H 34 | #define __SYSTEM_STM32F4XX_H 35 | 36 | #ifdef __cplusplus 37 | extern "C" { 38 | #endif 39 | 40 | /** @addtogroup STM32F4xx_System_Includes 41 | * @{ 42 | */ 43 | 44 | /** 45 | * @} 46 | */ 47 | 48 | 49 | /** @addtogroup STM32F4xx_System_Exported_types 50 | * @{ 51 | */ 52 | 53 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 54 | 55 | 56 | /** 57 | * @} 58 | */ 59 | 60 | /** @addtogroup STM32F4xx_System_Exported_Constants 61 | * @{ 62 | */ 63 | 64 | /** 65 | * @} 66 | */ 67 | 68 | /** @addtogroup STM32F4xx_System_Exported_Macros 69 | * @{ 70 | */ 71 | 72 | /** 73 | * @} 74 | */ 75 | 76 | /** @addtogroup STM32F4xx_System_Exported_Functions 77 | * @{ 78 | */ 79 | 80 | extern void SystemInit(void); 81 | extern void SystemCoreClockUpdate(void); 82 | /** 83 | * @} 84 | */ 85 | 86 | #ifdef __cplusplus 87 | } 88 | #endif 89 | 90 | #endif /*__SYSTEM_STM32F4XX_H */ 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /** 97 | * @} 98 | */ 99 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 100 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | ;; NOTE: To allow the use of this file for both ARMv6M and ARMv7M, 4 | ;; we will only use 16-bit Thumb intructions. 5 | 6 | .extern _lc_ub_stack ; usr/sys mode stack pointer 7 | .extern _lc_ue_stack ; symbol required by debugger 8 | .extern _lc_ub_table ; ROM to RAM copy table 9 | .extern main 10 | .extern _Exit 11 | .extern exit 12 | .weak exit 13 | .global __get_argcv 14 | .weak __get_argcv 15 | .extern __argcvbuf 16 | .weak __argcvbuf 17 | ;;.extern __init_hardware 18 | 19 | .extern SystemInit 20 | 21 | .if @defined('__PROF_ENABLE__') 22 | .extern __prof_init 23 | .endif 24 | .if @defined('__POSIX__') 25 | .extern posix_main 26 | .extern _posix_boot_stack_top 27 | .endif 28 | 29 | .global _START 30 | 31 | .section .text.cstart 32 | 33 | .thumb 34 | _START: 35 | ;; anticipate possible ROM/RAM remapping 36 | ;; by loading the 'real' program address 37 | ldr r1,=_Next 38 | bx r1 39 | _Next: 40 | ;; initialize the stack pointer 41 | ldr r1,=_lc_ub_stack ; TODO: make this part of the vector table 42 | mov sp,r1 43 | 44 | ; Call the clock system intitialization function. 45 | bl SystemInit 46 | 47 | ;; copy initialized sections from ROM to RAM 48 | ;; and clear uninitialized data sections in RAM 49 | 50 | ldr r3,=_lc_ub_table 51 | movs r0,#0 52 | cploop: 53 | ldr r4,[r3,#0] ; load type 54 | ldr r5,[r3,#4] ; dst address 55 | ldr r6,[r3,#8] ; src address 56 | ldr r7,[r3,#12] ; size 57 | 58 | cmp r4,#1 59 | beq copy 60 | cmp r4,#2 61 | beq clear 62 | b done 63 | 64 | copy: 65 | subs r7,r7,#1 66 | ldrb r1,[r6,r7] 67 | strb r1,[r5,r7] 68 | bne copy 69 | 70 | adds r3,r3,#16 71 | b cploop 72 | 73 | clear: 74 | subs r7,r7,#1 75 | strb r0,[r5,r7] 76 | bne clear 77 | 78 | adds r3,r3,#16 79 | b cploop 80 | 81 | done: 82 | 83 | 84 | .if @defined('__POSIX__') 85 | 86 | ;; posix stack buffer for system upbringing 87 | ldr r0,=_posix_boot_stack_top 88 | ldr r0, [r0] 89 | mov sp,r0 90 | 91 | .else 92 | 93 | ;; load r10 with end of USR/SYS stack, which is 94 | ;; needed in case stack overflow checking is on 95 | ;; NOTE: use 16-bit instructions only, for ARMv6M 96 | ldr r0,=_lc_ue_stack 97 | mov r10,r0 98 | 99 | .endif 100 | 101 | .if @defined('__PROF_ENABLE__') 102 | bl __prof_init 103 | .endif 104 | 105 | .if @defined('__POSIX__') 106 | ;; call posix_main with no arguments 107 | bl posix_main 108 | .else 109 | ;; retrieve argc and argv (default argv[0]==NULL & argc==0) 110 | bl __get_argcv 111 | ldr r1,=__argcvbuf 112 | ;; call main 113 | bl main 114 | .endif 115 | 116 | ;; call exit using the return value from main() 117 | ;; Note. Calling exit will also run all functions 118 | ;; that were supplied through atexit(). 119 | bl exit 120 | 121 | __get_argcv: ; weak definition 122 | movs r0,#0 123 | bx lr 124 | 125 | .ltorg 126 | .endsec 127 | 128 | .calls '_START', ' ' 129 | .calls '_START','__init_vector_table' 130 | .if @defined('__PROF_ENABLE__') 131 | .calls '_START','__prof_init' 132 | .endif 133 | .if @defined('__POSIX__') 134 | .calls '_START','posix_main' 135 | .else 136 | .calls '_START','__get_argcv' 137 | .calls '_START','main' 138 | .endif 139 | .calls '_START','exit' 140 | .calls '_START','',0 141 | 142 | .end 143 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/arm_cortexM4lf_math.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/Libraries/CMSIS/arm_cortexM4lf_math.lib -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/CMSIS/index.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/Libraries/CMSIS/index.htm -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/00readme.txt: -------------------------------------------------------------------------------- 1 | FatFs Module Source Files R0.11 2 | 3 | 4 | FILES 5 | 6 | 00readme.txt This file. 7 | history.txt Revision history. 8 | ffconf.h Configuration file for FatFs module. 9 | ff.h Common include file for FatFs and application module. 10 | ff.c FatFs module. 11 | diskio.h Common include file for FatFs and disk I/O module. 12 | diskio.c An example of glue function to attach existing disk I/O module to FatFs. 13 | integer.h Integer type definitions for FatFs. 14 | option Optional external functions. 15 | 16 | 17 | Low level disk I/O module is not included in this archive because the FatFs 18 | module is only a generic file system layer and not depend on any specific 19 | storage device. You have to provide a low level disk I/O module that written 20 | to control the target storage device. 21 | 22 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/diskio.c: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------*/ 2 | /* Low level disk I/O module skeleton for FatFs (C)ChaN, 2014 */ 3 | /*-----------------------------------------------------------------------*/ 4 | /* If a working storage control module is available, it should be */ 5 | /* attached to the FatFs via a glue function rather than modifying it. */ 6 | /* This is an example of glue functions to attach various exsisting */ 7 | /* storage control modules to the FatFs module with a defined API. */ 8 | /*-----------------------------------------------------------------------*/ 9 | 10 | #include "diskio.h" /* FatFs lower layer API */ 11 | //#include "driver_flash.h" 12 | #include "stm32f4xx.h" 13 | #include "drv_w25qxx.h" 14 | 15 | /* Definitions of physical drive number for each drive */ 16 | #define SPI_FLASH 0 /* Map spi nor flash to physical drive 0 */ 17 | 18 | static flash_info_t *flash_info; 19 | /*-----------------------------------------------------------------------*/ 20 | /* Get Drive Status */ 21 | /*-----------------------------------------------------------------------*/ 22 | 23 | DSTATUS disk_status ( 24 | BYTE pdrv /* Physical drive nmuber to identify the drive */ 25 | ) 26 | { 27 | 28 | switch (pdrv) { 29 | case SPI_FLASH : 30 | if(flash_info->initialized) 31 | { 32 | return RES_OK; 33 | } 34 | break; 35 | } 36 | return STA_NOINIT; 37 | } 38 | 39 | 40 | 41 | /*-----------------------------------------------------------------------*/ 42 | /* Inidialize a Drive */ 43 | /*-----------------------------------------------------------------------*/ 44 | 45 | DSTATUS disk_initialize ( 46 | BYTE pdrv /* Physical drive nmuber to identify the drive */ 47 | ) 48 | { 49 | 50 | switch (pdrv) { 51 | case SPI_FLASH : 52 | flash_info = Flash_GetInfo(); 53 | if(!flash_info->initialized) 54 | { 55 | Flash_Init(); 56 | } 57 | 58 | return RES_OK; 59 | 60 | } 61 | return STA_NOINIT; 62 | } 63 | 64 | 65 | 66 | /*-----------------------------------------------------------------------*/ 67 | /* Read Sector(s) */ 68 | /*-----------------------------------------------------------------------*/ 69 | 70 | DRESULT disk_read ( 71 | BYTE pdrv, /* Physical drive nmuber to identify the drive */ 72 | BYTE *buff, /* Data buffer to store read data */ 73 | DWORD sector, /* Sector address in LBA */ 74 | UINT count /* Number of sectors to read */ 75 | ) 76 | { 77 | switch (pdrv) { 78 | case SPI_FLASH : 79 | if(flash_info->initialized) 80 | { 81 | DWORD address = sector*flash_info->sector_size; 82 | Flash_SectorsRead(address,buff,count); 83 | return RES_OK; 84 | } 85 | break; 86 | } 87 | 88 | return RES_PARERR; 89 | 90 | } 91 | 92 | 93 | 94 | /*-----------------------------------------------------------------------*/ 95 | /* Write Sector(s) */ 96 | /*-----------------------------------------------------------------------*/ 97 | 98 | #if _USE_WRITE 99 | DRESULT disk_write ( 100 | BYTE pdrv, /* Physical drive nmuber to identify the drive */ 101 | const BYTE *buff, /* Data to be written */ 102 | DWORD sector, /* Sector address in LBA */ 103 | UINT count /* Number of sectors to write */ 104 | ) 105 | { 106 | switch (pdrv) { 107 | case SPI_FLASH : 108 | if(flash_info->initialized) 109 | { 110 | DWORD address = sector*flash_info->sector_size; 111 | Flash_SectorsWrite(address,(uint8_t *)buff,count); 112 | 113 | return RES_OK; 114 | } 115 | break; 116 | } 117 | 118 | return RES_PARERR; 119 | } 120 | #endif 121 | 122 | 123 | /*-----------------------------------------------------------------------*/ 124 | /* Miscellaneous Functions */ 125 | /*-----------------------------------------------------------------------*/ 126 | 127 | #if _USE_IOCTL 128 | DRESULT disk_ioctl ( 129 | BYTE pdrv, /* Physical drive nmuber (0..) */ 130 | BYTE cmd, /* Control code */ 131 | void *buff /* Buffer to send/receive control data */ 132 | ) 133 | { 134 | 135 | switch (pdrv) { 136 | case SPI_FLASH : 137 | switch(cmd) 138 | { 139 | case CTRL_SYNC : 140 | return RES_OK; 141 | 142 | case GET_SECTOR_SIZE: 143 | *((WORD *)buff) = flash_info->sector_size; //返回扇区大小 144 | return RES_OK; 145 | 146 | case GET_SECTOR_COUNT: 147 | *(DWORD*)buff = flash_info->sector_count; //FLASH总共的页数 148 | return RES_OK; 149 | 150 | case GET_BLOCK_SIZE: 151 | //*(WORD*)buff = 1; 152 | return RES_OK; 153 | 154 | } 155 | break; 156 | } 157 | 158 | return RES_PARERR; 159 | } 160 | #endif 161 | 162 | DWORD get_fattime (void) 163 | { 164 | /* Pack date and time into a DWORD variable */ 165 | return 0; 166 | } 167 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/diskio.h: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------/ 2 | / Low level disk interface modlue include file (C)ChaN, 2014 / 3 | /-----------------------------------------------------------------------*/ 4 | 5 | #ifndef _DISKIO_DEFINED 6 | #define _DISKIO_DEFINED 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | #define _USE_WRITE 1 /* 1: Enable disk_write function */ 13 | #define _USE_IOCTL 1 /* 1: Enable disk_ioctl fucntion */ 14 | 15 | #include "integer.h" 16 | 17 | 18 | /* Status of Disk Functions */ 19 | typedef BYTE DSTATUS; 20 | 21 | /* Results of Disk Functions */ 22 | typedef enum { 23 | RES_OK = 0, /* 0: Successful */ 24 | RES_ERROR, /* 1: R/W Error */ 25 | RES_WRPRT, /* 2: Write Protected */ 26 | RES_NOTRDY, /* 3: Not Ready */ 27 | RES_PARERR /* 4: Invalid Parameter */ 28 | } DRESULT; 29 | 30 | 31 | /*---------------------------------------*/ 32 | /* Prototypes for disk control functions */ 33 | 34 | 35 | DSTATUS disk_initialize (BYTE pdrv); 36 | DSTATUS disk_status (BYTE pdrv); 37 | DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); 38 | DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); 39 | DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); 40 | 41 | 42 | /* Disk Status Bits (DSTATUS) */ 43 | 44 | #define STA_NOINIT 0x01 /* Drive not initialized */ 45 | #define STA_NODISK 0x02 /* No medium in the drive */ 46 | #define STA_PROTECT 0x04 /* Write protected */ 47 | 48 | 49 | /* Command code for disk_ioctrl fucntion */ 50 | 51 | /* Generic command (Used by FatFs) */ 52 | #define CTRL_SYNC 0 /* Complete pending write process (needed at _FS_READONLY == 0) */ 53 | #define GET_SECTOR_COUNT 1 /* Get media size (needed at _USE_MKFS == 1) */ 54 | #define GET_SECTOR_SIZE 2 /* Get sector size (needed at _MAX_SS != _MIN_SS) */ 55 | #define GET_BLOCK_SIZE 3 /* Get erase block size (needed at _USE_MKFS == 1) */ 56 | #define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at _USE_TRIM == 1) */ 57 | 58 | /* Generic command (Not used by FatFs) */ 59 | #define CTRL_POWER 5 /* Get/Set power status */ 60 | #define CTRL_LOCK 6 /* Lock/Unlock media removal */ 61 | #define CTRL_EJECT 7 /* Eject media */ 62 | #define CTRL_FORMAT 8 /* Create physical format on the media */ 63 | 64 | /* MMC/SDC specific ioctl command */ 65 | #define MMC_GET_TYPE 10 /* Get card type */ 66 | #define MMC_GET_CSD 11 /* Get CSD */ 67 | #define MMC_GET_CID 12 /* Get CID */ 68 | #define MMC_GET_OCR 13 /* Get OCR */ 69 | #define MMC_GET_SDSTAT 14 /* Get SD status */ 70 | 71 | /* ATA/CF specific ioctl command */ 72 | #define ATA_GET_REV 20 /* Get F/W revision */ 73 | #define ATA_GET_MODEL 21 /* Get model name */ 74 | #define ATA_GET_SN 22 /* Get serial number */ 75 | 76 | #ifdef __cplusplus 77 | } 78 | #endif 79 | 80 | #endif 81 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _FF_INTEGER 6 | #define _FF_INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | 13 | #else /* Embedded platform */ 14 | 15 | /* This type MUST be 8 bit */ 16 | typedef unsigned char BYTE; 17 | 18 | /* These types MUST be 16 bit */ 19 | typedef short SHORT; 20 | typedef unsigned short WORD; 21 | typedef unsigned short WCHAR; 22 | 23 | /* These types MUST be 16 bit or 32 bit */ 24 | typedef int INT; 25 | typedef unsigned int UINT; 26 | 27 | /* These types MUST be 32 bit */ 28 | typedef long LONG; 29 | typedef unsigned long DWORD; 30 | 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/option/syscall.c: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------*/ 2 | /* Sample code of OS dependent controls for FatFs */ 3 | /* (C)ChaN, 2014 */ 4 | /*------------------------------------------------------------------------*/ 5 | 6 | 7 | #include "../ff.h" 8 | 9 | 10 | #if _FS_REENTRANT 11 | /*------------------------------------------------------------------------*/ 12 | /* Create a Synchronization Object 13 | /*------------------------------------------------------------------------*/ 14 | /* This function is called in f_mount() function to create a new 15 | / synchronization object, such as semaphore and mutex. When a 0 is returned, 16 | / the f_mount() function fails with FR_INT_ERR. 17 | */ 18 | 19 | int ff_cre_syncobj ( /* !=0:Function succeeded, ==0:Could not create due to any error */ 20 | BYTE vol, /* Corresponding logical drive being processed */ 21 | _SYNC_t *sobj /* Pointer to return the created sync object */ 22 | ) 23 | { 24 | int ret; 25 | 26 | 27 | *sobj = CreateMutex(NULL, FALSE, NULL); /* Win32 */ 28 | ret = (int)(*sobj != INVALID_HANDLE_VALUE); 29 | 30 | // *sobj = SyncObjects[vol]; /* uITRON (give a static created sync object) */ 31 | // ret = 1; /* The initial value of the semaphore must be 1. */ 32 | 33 | // *sobj = OSMutexCreate(0, &err); /* uC/OS-II */ 34 | // ret = (int)(err == OS_NO_ERR); 35 | 36 | // *sobj = xSemaphoreCreateMutex(); /* FreeRTOS */ 37 | // ret = (int)(*sobj != NULL); 38 | 39 | return ret; 40 | } 41 | 42 | 43 | 44 | /*------------------------------------------------------------------------*/ 45 | /* Delete a Synchronization Object */ 46 | /*------------------------------------------------------------------------*/ 47 | /* This function is called in f_mount() function to delete a synchronization 48 | / object that created with ff_cre_syncobj function. When a 0 is returned, 49 | / the f_mount() function fails with FR_INT_ERR. 50 | */ 51 | 52 | int ff_del_syncobj ( /* !=0:Function succeeded, ==0:Could not delete due to any error */ 53 | _SYNC_t sobj /* Sync object tied to the logical drive to be deleted */ 54 | ) 55 | { 56 | int ret; 57 | 58 | 59 | ret = CloseHandle(sobj); /* Win32 */ 60 | 61 | // ret = 1; /* uITRON (nothing to do) */ 62 | 63 | // OSMutexDel(sobj, OS_DEL_ALWAYS, &err); /* uC/OS-II */ 64 | // ret = (int)(err == OS_NO_ERR); 65 | 66 | // vSemaphoreDelete(sobj); /* FreeRTOS */ 67 | // ret = 1; 68 | 69 | return ret; 70 | } 71 | 72 | 73 | 74 | /*------------------------------------------------------------------------*/ 75 | /* Request Grant to Access the Volume */ 76 | /*------------------------------------------------------------------------*/ 77 | /* This function is called on entering file functions to lock the volume. 78 | / When a 0 is returned, the file function fails with FR_TIMEOUT. 79 | */ 80 | 81 | int ff_req_grant ( /* 1:Got a grant to access the volume, 0:Could not get a grant */ 82 | _SYNC_t sobj /* Sync object to wait */ 83 | ) 84 | { 85 | int ret; 86 | 87 | ret = (int)(WaitForSingleObject(sobj, _FS_TIMEOUT) == WAIT_OBJECT_0); /* Win32 */ 88 | 89 | // ret = (int)(wai_sem(sobj) == E_OK); /* uITRON */ 90 | 91 | // OSMutexPend(sobj, _FS_TIMEOUT, &err)); /* uC/OS-II */ 92 | // ret = (int)(err == OS_NO_ERR); 93 | 94 | // ret = (int)(xSemaphoreTake(sobj, _FS_TIMEOUT) == pdTRUE); /* FreeRTOS */ 95 | 96 | return ret; 97 | } 98 | 99 | 100 | 101 | /*------------------------------------------------------------------------*/ 102 | /* Release Grant to Access the Volume */ 103 | /*------------------------------------------------------------------------*/ 104 | /* This function is called on leaving file functions to unlock the volume. 105 | */ 106 | 107 | void ff_rel_grant ( 108 | _SYNC_t sobj /* Sync object to be signaled */ 109 | ) 110 | { 111 | ReleaseMutex(sobj); /* Win32 */ 112 | 113 | // sig_sem(sobj); /* uITRON */ 114 | 115 | // OSMutexPost(sobj); /* uC/OS-II */ 116 | 117 | // xSemaphoreGive(sobj); /* FreeRTOS */ 118 | } 119 | 120 | #endif 121 | 122 | 123 | 124 | 125 | #if _USE_LFN == 3 /* LFN with a working buffer on the heap */ 126 | /*------------------------------------------------------------------------*/ 127 | /* Allocate a memory block */ 128 | /*------------------------------------------------------------------------*/ 129 | /* If a NULL is returned, the file function fails with FR_NOT_ENOUGH_CORE. 130 | */ 131 | 132 | void* ff_memalloc ( /* Returns pointer to the allocated memory block */ 133 | UINT msize /* Number of bytes to allocate */ 134 | ) 135 | { 136 | return malloc(msize); /* Allocate a new memory block with POSIX API */ 137 | } 138 | 139 | 140 | /*------------------------------------------------------------------------*/ 141 | /* Free a memory block */ 142 | /*------------------------------------------------------------------------*/ 143 | 144 | void ff_memfree ( 145 | void* mblock /* Pointer to the memory block to free */ 146 | ) 147 | { 148 | free(mblock); /* Discard the memory block with POSIX API */ 149 | } 150 | 151 | #endif 152 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/FatFS/src/option/unicode.c: -------------------------------------------------------------------------------- 1 | #include "../ff.h" 2 | 3 | #if _USE_LFN != 0 4 | 5 | #if _CODE_PAGE == 932 /* Japanese Shift_JIS */ 6 | #include "cc932.c" 7 | #elif _CODE_PAGE == 936 /* Simplified Chinese GBK */ 8 | #include "cc936.c" 9 | #elif _CODE_PAGE == 949 /* Korean */ 10 | #include "cc949.c" 11 | #elif _CODE_PAGE == 950 /* Traditional Chinese Big5 */ 12 | #include "cc950.c" 13 | #else /* Single Byte Character-Set */ 14 | #include "ccsbcs.c" 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/SConscript: -------------------------------------------------------------------------------- 1 | import rtconfig 2 | Import('RTT_ROOT') 3 | from building import * 4 | 5 | # get current directory 6 | cwd = GetCurrentDir() 7 | 8 | # The set of source files associated with this SConscript file. 9 | src = Split(""" 10 | CMSIS/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c 11 | """) 12 | 13 | src += Glob('STM32F4xx_StdPeriph_Driver/src/*.c') 14 | 15 | # starupt scripts for each STM32 kind 16 | # startup_scripts = {} 17 | # startup_scripts['STM32F10X_CL'] = 'startup_stm32f10x_cl.s' 18 | # startup_scripts['STM32F10X_HD'] = 'startup_stm32f10x_hd.s' 19 | # startup_scripts['STM32F10X_HD_VL'] = 'startup_stm32f10x_hd_vl.s' 20 | # startup_scripts['STM32F10X_LD'] = 'startup_stm32f10x_ld.s' 21 | # startup_scripts['STM32F10X_LD_VL'] = 'startup_stm32f10x_ld_vl.s' 22 | # startup_scripts['STM32F10X_MD'] = 'startup_stm32f10x_md.s' 23 | # startup_scripts['STM32F10X_MD_VL'] = 'startup_stm32f10x_md_vl.s' 24 | # startup_scripts['STM32F10X_XL'] = 'startup_stm32f10x_xl.s' 25 | 26 | #add for startup script 27 | if rtconfig.CROSS_TOOL == 'gcc': 28 | src = src + ['CMSIS/ST/STM32F4xx/Source/Templates/gcc_ride7/startup_stm32f4xx.s'] 29 | elif rtconfig.CROSS_TOOL == 'keil': 30 | src = src + ['CMSIS/ST/STM32F4xx/Source/Templates/arm/startup_stm32f4xx.s'] 31 | # elif rtconfig.CROSS_TOOL == 'iar': 32 | # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/' + startup_scripts[rtconfig.STM32_TYPE]] 33 | 34 | path = [cwd + '/STM32F4xx_StdPeriph_Driver/inc', 35 | cwd + '/CMSIS/ST/STM32F4xx/Include', 36 | cwd + '/CMSIS/Include', 37 | cwd + '/CMSIS/CM3/DeviceSupport/ST/STM32F10x'] 38 | 39 | #CPPDEFINES = ['USE_STDPERIPH_DRIVER', rtconfig.STM32_TYPE] 40 | CPPDEFINES = ['USE_STDPERIPH_DRIVER'] 41 | group = DefineGroup('STM32_StdPeriph', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) 42 | 43 | Return('group') 44 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/misc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file misc.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the miscellaneous 8 | * firmware library functions (add-on to CMSIS functions). 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __MISC_H 25 | #define __MISC_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup MISC 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | 44 | /** 45 | * @brief NVIC Init Structure definition 46 | */ 47 | 48 | typedef struct 49 | { 50 | uint8_t NVIC_IRQChannel; /*!< Specifies the IRQ channel to be enabled or disabled. 51 | This parameter can be an enumerator of @ref IRQn_Type 52 | enumeration (For the complete STM32 Devices IRQ Channels 53 | list, please refer to stm32f4xx.h file) */ 54 | 55 | uint8_t NVIC_IRQChannelPreemptionPriority; /*!< Specifies the pre-emption priority for the IRQ channel 56 | specified in NVIC_IRQChannel. This parameter can be a value 57 | between 0 and 15 as described in the table @ref MISC_NVIC_Priority_Table 58 | A lower priority value indicates a higher priority */ 59 | 60 | uint8_t NVIC_IRQChannelSubPriority; /*!< Specifies the subpriority level for the IRQ channel specified 61 | in NVIC_IRQChannel. This parameter can be a value 62 | between 0 and 15 as described in the table @ref MISC_NVIC_Priority_Table 63 | A lower priority value indicates a higher priority */ 64 | 65 | FunctionalState NVIC_IRQChannelCmd; /*!< Specifies whether the IRQ channel defined in NVIC_IRQChannel 66 | will be enabled or disabled. 67 | This parameter can be set either to ENABLE or DISABLE */ 68 | } NVIC_InitTypeDef; 69 | 70 | /* Exported constants --------------------------------------------------------*/ 71 | 72 | /** @defgroup MISC_Exported_Constants 73 | * @{ 74 | */ 75 | 76 | /** @defgroup MISC_Vector_Table_Base 77 | * @{ 78 | */ 79 | 80 | #define NVIC_VectTab_RAM ((uint32_t)0x20000000) 81 | #define NVIC_VectTab_FLASH ((uint32_t)0x08000000) 82 | #define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_RAM) || \ 83 | ((VECTTAB) == NVIC_VectTab_FLASH)) 84 | /** 85 | * @} 86 | */ 87 | 88 | /** @defgroup MISC_System_Low_Power 89 | * @{ 90 | */ 91 | 92 | #define NVIC_LP_SEVONPEND ((uint8_t)0x10) 93 | #define NVIC_LP_SLEEPDEEP ((uint8_t)0x04) 94 | #define NVIC_LP_SLEEPONEXIT ((uint8_t)0x02) 95 | #define IS_NVIC_LP(LP) (((LP) == NVIC_LP_SEVONPEND) || \ 96 | ((LP) == NVIC_LP_SLEEPDEEP) || \ 97 | ((LP) == NVIC_LP_SLEEPONEXIT)) 98 | /** 99 | * @} 100 | */ 101 | 102 | /** @defgroup MISC_Preemption_Priority_Group 103 | * @{ 104 | */ 105 | 106 | #define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority 107 | 4 bits for subpriority */ 108 | #define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*!< 1 bits for pre-emption priority 109 | 3 bits for subpriority */ 110 | #define NVIC_PriorityGroup_2 ((uint32_t)0x500) /*!< 2 bits for pre-emption priority 111 | 2 bits for subpriority */ 112 | #define NVIC_PriorityGroup_3 ((uint32_t)0x400) /*!< 3 bits for pre-emption priority 113 | 1 bits for subpriority */ 114 | #define NVIC_PriorityGroup_4 ((uint32_t)0x300) /*!< 4 bits for pre-emption priority 115 | 0 bits for subpriority */ 116 | 117 | #define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) || \ 118 | ((GROUP) == NVIC_PriorityGroup_1) || \ 119 | ((GROUP) == NVIC_PriorityGroup_2) || \ 120 | ((GROUP) == NVIC_PriorityGroup_3) || \ 121 | ((GROUP) == NVIC_PriorityGroup_4)) 122 | 123 | #define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) 124 | 125 | #define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) 126 | 127 | #define IS_NVIC_OFFSET(OFFSET) ((OFFSET) < 0x000FFFFF) 128 | 129 | /** 130 | * @} 131 | */ 132 | 133 | /** @defgroup MISC_SysTick_clock_source 134 | * @{ 135 | */ 136 | 137 | #define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB) 138 | #define SysTick_CLKSource_HCLK ((uint32_t)0x00000004) 139 | #define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \ 140 | ((SOURCE) == SysTick_CLKSource_HCLK_Div8)) 141 | /** 142 | * @} 143 | */ 144 | 145 | /** 146 | * @} 147 | */ 148 | 149 | /* Exported macro ------------------------------------------------------------*/ 150 | /* Exported functions --------------------------------------------------------*/ 151 | 152 | void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); 153 | void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); 154 | void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset); 155 | void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState); 156 | void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); 157 | 158 | #ifdef __cplusplus 159 | } 160 | #endif 161 | 162 | #endif /* __MISC_H */ 163 | 164 | /** 165 | * @} 166 | */ 167 | 168 | /** 169 | * @} 170 | */ 171 | 172 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 173 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_crc.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the CRC firmware 8 | * library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_CRC_H 25 | #define __STM32F4xx_CRC_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup CRC 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup CRC_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** 50 | * @} 51 | */ 52 | 53 | /* Exported macro ------------------------------------------------------------*/ 54 | /* Exported functions --------------------------------------------------------*/ 55 | 56 | void CRC_ResetDR(void); 57 | uint32_t CRC_CalcCRC(uint32_t Data); 58 | uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength); 59 | uint32_t CRC_GetCRC(void); 60 | void CRC_SetIDRegister(uint8_t IDValue); 61 | uint8_t CRC_GetIDRegister(void); 62 | 63 | #ifdef __cplusplus 64 | } 65 | #endif 66 | 67 | #endif /* __STM32F4xx_CRC_H */ 68 | 69 | /** 70 | * @} 71 | */ 72 | 73 | /** 74 | * @} 75 | */ 76 | 77 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 78 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_dbgmcu.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the DBGMCU firmware library. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 17 | * 18 | *

© COPYRIGHT 2011 STMicroelectronics

19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __STM32F4xx_DBGMCU_H 24 | #define __STM32F4xx_DBGMCU_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "stm32f4xx.h" 32 | 33 | /** @addtogroup STM32F4xx_StdPeriph_Driver 34 | * @{ 35 | */ 36 | 37 | /** @addtogroup DBGMCU 38 | * @{ 39 | */ 40 | 41 | /* Exported types ------------------------------------------------------------*/ 42 | /* Exported constants --------------------------------------------------------*/ 43 | 44 | /** @defgroup DBGMCU_Exported_Constants 45 | * @{ 46 | */ 47 | #define DBGMCU_SLEEP ((uint32_t)0x00000001) 48 | #define DBGMCU_STOP ((uint32_t)0x00000002) 49 | #define DBGMCU_STANDBY ((uint32_t)0x00000004) 50 | #define IS_DBGMCU_PERIPH(PERIPH) ((((PERIPH) & 0xFFFFFFF8) == 0x00) && ((PERIPH) != 0x00)) 51 | 52 | #define DBGMCU_TIM2_STOP ((uint32_t)0x00000001) 53 | #define DBGMCU_TIM3_STOP ((uint32_t)0x00000002) 54 | #define DBGMCU_TIM4_STOP ((uint32_t)0x00000004) 55 | #define DBGMCU_TIM5_STOP ((uint32_t)0x00000008) 56 | #define DBGMCU_TIM6_STOP ((uint32_t)0x00000010) 57 | #define DBGMCU_TIM7_STOP ((uint32_t)0x00000020) 58 | #define DBGMCU_TIM12_STOP ((uint32_t)0x00000040) 59 | #define DBGMCU_TIM13_STOP ((uint32_t)0x00000080) 60 | #define DBGMCU_TIM14_STOP ((uint32_t)0x00000100) 61 | #define DBGMCU_RTC_STOP ((uint32_t)0x00000400) 62 | #define DBGMCU_WWDG_STOP ((uint32_t)0x00000800) 63 | #define DBGMCU_IWDG_STOP ((uint32_t)0x00001000) 64 | #define DBGMCU_I2C1_SMBUS_TIMEOUT ((uint32_t)0x00200000) 65 | #define DBGMCU_I2C2_SMBUS_TIMEOUT ((uint32_t)0x00400000) 66 | #define DBGMCU_I2C3_SMBUS_TIMEOUT ((uint32_t)0x00800000) 67 | #define DBGMCU_CAN1_STOP ((uint32_t)0x02000000) 68 | #define DBGMCU_CAN2_STOP ((uint32_t)0x04000000) 69 | #define IS_DBGMCU_APB1PERIPH(PERIPH) ((((PERIPH) & 0xF91FE200) == 0x00) && ((PERIPH) != 0x00)) 70 | 71 | #define DBGMCU_TIM1_STOP ((uint32_t)0x00000001) 72 | #define DBGMCU_TIM8_STOP ((uint32_t)0x00000002) 73 | #define DBGMCU_TIM9_STOP ((uint32_t)0x00010000) 74 | #define DBGMCU_TIM10_STOP ((uint32_t)0x00020000) 75 | #define DBGMCU_TIM11_STOP ((uint32_t)0x00040000) 76 | #define IS_DBGMCU_APB2PERIPH(PERIPH) ((((PERIPH) & 0xFFF8FFFC) == 0x00) && ((PERIPH) != 0x00)) 77 | /** 78 | * @} 79 | */ 80 | 81 | /* Exported macro ------------------------------------------------------------*/ 82 | /* Exported functions --------------------------------------------------------*/ 83 | uint32_t DBGMCU_GetREVID(void); 84 | uint32_t DBGMCU_GetDEVID(void); 85 | void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState); 86 | void DBGMCU_APB1PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState); 87 | void DBGMCU_APB2PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState); 88 | 89 | #ifdef __cplusplus 90 | } 91 | #endif 92 | 93 | #endif /* __STM32F4xx_DBGMCU_H */ 94 | 95 | /** 96 | * @} 97 | */ 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 104 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_exti.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the EXTI firmware 8 | * library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_EXTI_H 25 | #define __STM32F4xx_EXTI_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup EXTI 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | 44 | /** 45 | * @brief EXTI mode enumeration 46 | */ 47 | 48 | typedef enum 49 | { 50 | EXTI_Mode_Interrupt = 0x00, 51 | EXTI_Mode_Event = 0x04 52 | }EXTIMode_TypeDef; 53 | 54 | #define IS_EXTI_MODE(MODE) (((MODE) == EXTI_Mode_Interrupt) || ((MODE) == EXTI_Mode_Event)) 55 | 56 | /** 57 | * @brief EXTI Trigger enumeration 58 | */ 59 | 60 | typedef enum 61 | { 62 | EXTI_Trigger_Rising = 0x08, 63 | EXTI_Trigger_Falling = 0x0C, 64 | EXTI_Trigger_Rising_Falling = 0x10 65 | }EXTITrigger_TypeDef; 66 | 67 | #define IS_EXTI_TRIGGER(TRIGGER) (((TRIGGER) == EXTI_Trigger_Rising) || \ 68 | ((TRIGGER) == EXTI_Trigger_Falling) || \ 69 | ((TRIGGER) == EXTI_Trigger_Rising_Falling)) 70 | /** 71 | * @brief EXTI Init Structure definition 72 | */ 73 | 74 | typedef struct 75 | { 76 | uint32_t EXTI_Line; /*!< Specifies the EXTI lines to be enabled or disabled. 77 | This parameter can be any combination value of @ref EXTI_Lines */ 78 | 79 | EXTIMode_TypeDef EXTI_Mode; /*!< Specifies the mode for the EXTI lines. 80 | This parameter can be a value of @ref EXTIMode_TypeDef */ 81 | 82 | EXTITrigger_TypeDef EXTI_Trigger; /*!< Specifies the trigger signal active edge for the EXTI lines. 83 | This parameter can be a value of @ref EXTITrigger_TypeDef */ 84 | 85 | FunctionalState EXTI_LineCmd; /*!< Specifies the new state of the selected EXTI lines. 86 | This parameter can be set either to ENABLE or DISABLE */ 87 | }EXTI_InitTypeDef; 88 | 89 | /* Exported constants --------------------------------------------------------*/ 90 | 91 | /** @defgroup EXTI_Exported_Constants 92 | * @{ 93 | */ 94 | 95 | /** @defgroup EXTI_Lines 96 | * @{ 97 | */ 98 | 99 | #define EXTI_Line0 ((uint32_t)0x00001) /*!< External interrupt line 0 */ 100 | #define EXTI_Line1 ((uint32_t)0x00002) /*!< External interrupt line 1 */ 101 | #define EXTI_Line2 ((uint32_t)0x00004) /*!< External interrupt line 2 */ 102 | #define EXTI_Line3 ((uint32_t)0x00008) /*!< External interrupt line 3 */ 103 | #define EXTI_Line4 ((uint32_t)0x00010) /*!< External interrupt line 4 */ 104 | #define EXTI_Line5 ((uint32_t)0x00020) /*!< External interrupt line 5 */ 105 | #define EXTI_Line6 ((uint32_t)0x00040) /*!< External interrupt line 6 */ 106 | #define EXTI_Line7 ((uint32_t)0x00080) /*!< External interrupt line 7 */ 107 | #define EXTI_Line8 ((uint32_t)0x00100) /*!< External interrupt line 8 */ 108 | #define EXTI_Line9 ((uint32_t)0x00200) /*!< External interrupt line 9 */ 109 | #define EXTI_Line10 ((uint32_t)0x00400) /*!< External interrupt line 10 */ 110 | #define EXTI_Line11 ((uint32_t)0x00800) /*!< External interrupt line 11 */ 111 | #define EXTI_Line12 ((uint32_t)0x01000) /*!< External interrupt line 12 */ 112 | #define EXTI_Line13 ((uint32_t)0x02000) /*!< External interrupt line 13 */ 113 | #define EXTI_Line14 ((uint32_t)0x04000) /*!< External interrupt line 14 */ 114 | #define EXTI_Line15 ((uint32_t)0x08000) /*!< External interrupt line 15 */ 115 | #define EXTI_Line16 ((uint32_t)0x10000) /*!< External interrupt line 16 Connected to the PVD Output */ 116 | #define EXTI_Line17 ((uint32_t)0x20000) /*!< External interrupt line 17 Connected to the RTC Alarm event */ 117 | #define EXTI_Line18 ((uint32_t)0x40000) /*!< External interrupt line 18 Connected to the USB OTG FS Wakeup from suspend event */ 118 | #define EXTI_Line19 ((uint32_t)0x80000) /*!< External interrupt line 19 Connected to the Ethernet Wakeup event */ 119 | #define EXTI_Line20 ((uint32_t)0x00100000) /*!< External interrupt line 20 Connected to the USB OTG HS (configured in FS) Wakeup event */ 120 | #define EXTI_Line21 ((uint32_t)0x00200000) /*!< External interrupt line 21 Connected to the RTC Tamper and Time Stamp events */ 121 | #define EXTI_Line22 ((uint32_t)0x00400000) /*!< External interrupt line 22 Connected to the RTC Wakeup event */ 122 | 123 | #define IS_EXTI_LINE(LINE) ((((LINE) & (uint32_t)0xFF800000) == 0x00) && ((LINE) != (uint16_t)0x00)) 124 | 125 | #define IS_GET_EXTI_LINE(LINE) (((LINE) == EXTI_Line0) || ((LINE) == EXTI_Line1) || \ 126 | ((LINE) == EXTI_Line2) || ((LINE) == EXTI_Line3) || \ 127 | ((LINE) == EXTI_Line4) || ((LINE) == EXTI_Line5) || \ 128 | ((LINE) == EXTI_Line6) || ((LINE) == EXTI_Line7) || \ 129 | ((LINE) == EXTI_Line8) || ((LINE) == EXTI_Line9) || \ 130 | ((LINE) == EXTI_Line10) || ((LINE) == EXTI_Line11) || \ 131 | ((LINE) == EXTI_Line12) || ((LINE) == EXTI_Line13) || \ 132 | ((LINE) == EXTI_Line14) || ((LINE) == EXTI_Line15) || \ 133 | ((LINE) == EXTI_Line16) || ((LINE) == EXTI_Line17) || \ 134 | ((LINE) == EXTI_Line18) || ((LINE) == EXTI_Line19) || \ 135 | ((LINE) == EXTI_Line20) || ((LINE) == EXTI_Line21) ||\ 136 | ((LINE) == EXTI_Line22)) 137 | 138 | /** 139 | * @} 140 | */ 141 | 142 | /** 143 | * @} 144 | */ 145 | 146 | /* Exported macro ------------------------------------------------------------*/ 147 | /* Exported functions --------------------------------------------------------*/ 148 | 149 | /* Function used to set the EXTI configuration to the default reset state *****/ 150 | void EXTI_DeInit(void); 151 | 152 | /* Initialization and Configuration functions *********************************/ 153 | void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); 154 | void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct); 155 | void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); 156 | 157 | /* Interrupts and flags management functions **********************************/ 158 | FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line); 159 | void EXTI_ClearFlag(uint32_t EXTI_Line); 160 | ITStatus EXTI_GetITStatus(uint32_t EXTI_Line); 161 | void EXTI_ClearITPendingBit(uint32_t EXTI_Line); 162 | 163 | #ifdef __cplusplus 164 | } 165 | #endif 166 | 167 | #endif /* __STM32F4xx_EXTI_H */ 168 | 169 | /** 170 | * @} 171 | */ 172 | 173 | /** 174 | * @} 175 | */ 176 | 177 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 178 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_iwdg.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the IWDG 8 | * firmware library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_IWDG_H 25 | #define __STM32F4xx_IWDG_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup IWDG 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup IWDG_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** @defgroup IWDG_WriteAccess 50 | * @{ 51 | */ 52 | #define IWDG_WriteAccess_Enable ((uint16_t)0x5555) 53 | #define IWDG_WriteAccess_Disable ((uint16_t)0x0000) 54 | #define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \ 55 | ((ACCESS) == IWDG_WriteAccess_Disable)) 56 | /** 57 | * @} 58 | */ 59 | 60 | /** @defgroup IWDG_prescaler 61 | * @{ 62 | */ 63 | #define IWDG_Prescaler_4 ((uint8_t)0x00) 64 | #define IWDG_Prescaler_8 ((uint8_t)0x01) 65 | #define IWDG_Prescaler_16 ((uint8_t)0x02) 66 | #define IWDG_Prescaler_32 ((uint8_t)0x03) 67 | #define IWDG_Prescaler_64 ((uint8_t)0x04) 68 | #define IWDG_Prescaler_128 ((uint8_t)0x05) 69 | #define IWDG_Prescaler_256 ((uint8_t)0x06) 70 | #define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4) || \ 71 | ((PRESCALER) == IWDG_Prescaler_8) || \ 72 | ((PRESCALER) == IWDG_Prescaler_16) || \ 73 | ((PRESCALER) == IWDG_Prescaler_32) || \ 74 | ((PRESCALER) == IWDG_Prescaler_64) || \ 75 | ((PRESCALER) == IWDG_Prescaler_128)|| \ 76 | ((PRESCALER) == IWDG_Prescaler_256)) 77 | /** 78 | * @} 79 | */ 80 | 81 | /** @defgroup IWDG_Flag 82 | * @{ 83 | */ 84 | #define IWDG_FLAG_PVU ((uint16_t)0x0001) 85 | #define IWDG_FLAG_RVU ((uint16_t)0x0002) 86 | #define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU)) 87 | #define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF) 88 | /** 89 | * @} 90 | */ 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /* Exported macro ------------------------------------------------------------*/ 97 | /* Exported functions --------------------------------------------------------*/ 98 | 99 | /* Prescaler and Counter configuration functions ******************************/ 100 | void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess); 101 | void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); 102 | void IWDG_SetReload(uint16_t Reload); 103 | void IWDG_ReloadCounter(void); 104 | 105 | /* IWDG activation function ***************************************************/ 106 | void IWDG_Enable(void); 107 | 108 | /* Flag management function ***************************************************/ 109 | FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG); 110 | 111 | #ifdef __cplusplus 112 | } 113 | #endif 114 | 115 | #endif /* __STM32F4xx_IWDG_H */ 116 | 117 | /** 118 | * @} 119 | */ 120 | 121 | /** 122 | * @} 123 | */ 124 | 125 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 126 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_pwr.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the PWR firmware 8 | * library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_PWR_H 25 | #define __STM32F4xx_PWR_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup PWR 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup PWR_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** @defgroup PWR_PVD_detection_level 50 | * @{ 51 | */ 52 | 53 | #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0 54 | #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1 55 | #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2 56 | #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3 57 | #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4 58 | #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5 59 | #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6 60 | #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7 61 | 62 | #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \ 63 | ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \ 64 | ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \ 65 | ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7)) 66 | /** 67 | * @} 68 | */ 69 | 70 | 71 | /** @defgroup PWR_Regulator_state_in_STOP_mode 72 | * @{ 73 | */ 74 | 75 | #define PWR_Regulator_ON ((uint32_t)0x00000000) 76 | #define PWR_Regulator_LowPower PWR_CR_LPDS 77 | #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \ 78 | ((REGULATOR) == PWR_Regulator_LowPower)) 79 | /** 80 | * @} 81 | */ 82 | 83 | /** @defgroup PWR_STOP_mode_entry 84 | * @{ 85 | */ 86 | 87 | #define PWR_STOPEntry_WFI ((uint8_t)0x01) 88 | #define PWR_STOPEntry_WFE ((uint8_t)0x02) 89 | #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE)) 90 | 91 | /** @defgroup PWR_Regulator_Voltage_Scale 92 | * @{ 93 | */ 94 | 95 | #define PWR_Regulator_Voltage_Scale1 ((uint32_t)0x00004000) 96 | #define PWR_Regulator_Voltage_Scale2 ((uint32_t)0x00000000) 97 | #define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_Regulator_Voltage_Scale1) || ((VOLTAGE) == PWR_Regulator_Voltage_Scale2)) 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | /** @defgroup PWR_Flag 104 | * @{ 105 | */ 106 | 107 | #define PWR_FLAG_WU PWR_CSR_WUF 108 | #define PWR_FLAG_SB PWR_CSR_SBF 109 | #define PWR_FLAG_PVDO PWR_CSR_PVDO 110 | #define PWR_FLAG_BRR PWR_CSR_BRR 111 | #define PWR_FLAG_VOSRDY PWR_CSR_VOSRDY 112 | 113 | /** @defgroup PWR_Flag_Legacy 114 | * @{ 115 | */ 116 | #define PWR_FLAG_REGRDY PWR_FLAG_VOSRDY 117 | /** 118 | * @} 119 | */ 120 | 121 | #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \ 122 | ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_BRR) || \ 123 | ((FLAG) == PWR_FLAG_VOSRDY)) 124 | 125 | #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB)) 126 | /** 127 | * @} 128 | */ 129 | 130 | /** 131 | * @} 132 | */ 133 | 134 | /* Exported macro ------------------------------------------------------------*/ 135 | /* Exported functions --------------------------------------------------------*/ 136 | 137 | /* Function used to set the PWR configuration to the default reset state ******/ 138 | void PWR_DeInit(void); 139 | 140 | /* Backup Domain Access function **********************************************/ 141 | void PWR_BackupAccessCmd(FunctionalState NewState); 142 | 143 | /* PVD configuration functions ************************************************/ 144 | void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel); 145 | void PWR_PVDCmd(FunctionalState NewState); 146 | 147 | /* WakeUp pins configuration functions ****************************************/ 148 | void PWR_WakeUpPinCmd(FunctionalState NewState); 149 | 150 | /* Main and Backup Regulators configuration functions *************************/ 151 | void PWR_BackupRegulatorCmd(FunctionalState NewState); 152 | void PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage); 153 | 154 | /* FLASH Power Down configuration functions ***********************************/ 155 | void PWR_FlashPowerDownCmd(FunctionalState NewState); 156 | 157 | /* Low Power modes configuration functions ************************************/ 158 | void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry); 159 | void PWR_EnterSTANDBYMode(void); 160 | 161 | /* Flags management functions *************************************************/ 162 | FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG); 163 | void PWR_ClearFlag(uint32_t PWR_FLAG); 164 | 165 | #ifdef __cplusplus 166 | } 167 | #endif 168 | 169 | #endif /* __STM32F4xx_PWR_H */ 170 | 171 | /** 172 | * @} 173 | */ 174 | 175 | /** 176 | * @} 177 | */ 178 | 179 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 180 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_rng.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the Random 8 | * Number Generator(RNG) firmware library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_RNG_H 25 | #define __STM32F4xx_RNG_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup RNG 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup RNG_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** @defgroup RNG_flags_definition 50 | * @{ 51 | */ 52 | #define RNG_FLAG_DRDY ((uint8_t)0x0001) /*!< Data ready */ 53 | #define RNG_FLAG_CECS ((uint8_t)0x0002) /*!< Clock error current status */ 54 | #define RNG_FLAG_SECS ((uint8_t)0x0004) /*!< Seed error current status */ 55 | 56 | #define IS_RNG_GET_FLAG(RNG_FLAG) (((RNG_FLAG) == RNG_FLAG_DRDY) || \ 57 | ((RNG_FLAG) == RNG_FLAG_CECS) || \ 58 | ((RNG_FLAG) == RNG_FLAG_SECS)) 59 | #define IS_RNG_CLEAR_FLAG(RNG_FLAG) (((RNG_FLAG) == RNG_FLAG_CECS) || \ 60 | ((RNG_FLAG) == RNG_FLAG_SECS)) 61 | /** 62 | * @} 63 | */ 64 | 65 | /** @defgroup RNG_interrupts_definition 66 | * @{ 67 | */ 68 | #define RNG_IT_CEI ((uint8_t)0x20) /*!< Clock error interrupt */ 69 | #define RNG_IT_SEI ((uint8_t)0x40) /*!< Seed error interrupt */ 70 | 71 | #define IS_RNG_IT(IT) ((((IT) & (uint8_t)0x9F) == 0x00) && ((IT) != 0x00)) 72 | #define IS_RNG_GET_IT(RNG_IT) (((RNG_IT) == RNG_IT_CEI) || ((RNG_IT) == RNG_IT_SEI)) 73 | /** 74 | * @} 75 | */ 76 | 77 | /** 78 | * @} 79 | */ 80 | 81 | /* Exported macro ------------------------------------------------------------*/ 82 | /* Exported functions --------------------------------------------------------*/ 83 | 84 | /* Function used to set the RNG configuration to the default reset state *****/ 85 | void RNG_DeInit(void); 86 | 87 | /* Configuration function *****************************************************/ 88 | void RNG_Cmd(FunctionalState NewState); 89 | 90 | /* Get 32 bit Random number function ******************************************/ 91 | uint32_t RNG_GetRandomNumber(void); 92 | 93 | /* Interrupts and flags management functions **********************************/ 94 | void RNG_ITConfig(FunctionalState NewState); 95 | FlagStatus RNG_GetFlagStatus(uint8_t RNG_FLAG); 96 | void RNG_ClearFlag(uint8_t RNG_FLAG); 97 | ITStatus RNG_GetITStatus(uint8_t RNG_IT); 98 | void RNG_ClearITPendingBit(uint8_t RNG_IT); 99 | 100 | #ifdef __cplusplus 101 | } 102 | #endif 103 | 104 | #endif /*__STM32F4xx_RNG_H */ 105 | 106 | /** 107 | * @} 108 | */ 109 | 110 | /** 111 | * @} 112 | */ 113 | 114 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 115 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_syscfg.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the SYSCFG firmware 8 | * library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_SYSCFG_H 25 | #define __STM32F4xx_SYSCFG_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup SYSCFG 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup SYSCFG_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** @defgroup SYSCFG_EXTI_Port_Sources 50 | * @{ 51 | */ 52 | #define EXTI_PortSourceGPIOA ((uint8_t)0x00) 53 | #define EXTI_PortSourceGPIOB ((uint8_t)0x01) 54 | #define EXTI_PortSourceGPIOC ((uint8_t)0x02) 55 | #define EXTI_PortSourceGPIOD ((uint8_t)0x03) 56 | #define EXTI_PortSourceGPIOE ((uint8_t)0x04) 57 | #define EXTI_PortSourceGPIOF ((uint8_t)0x05) 58 | #define EXTI_PortSourceGPIOG ((uint8_t)0x06) 59 | #define EXTI_PortSourceGPIOH ((uint8_t)0x07) 60 | #define EXTI_PortSourceGPIOI ((uint8_t)0x08) 61 | 62 | #define IS_EXTI_PORT_SOURCE(PORTSOURCE) (((PORTSOURCE) == EXTI_PortSourceGPIOA) || \ 63 | ((PORTSOURCE) == EXTI_PortSourceGPIOB) || \ 64 | ((PORTSOURCE) == EXTI_PortSourceGPIOC) || \ 65 | ((PORTSOURCE) == EXTI_PortSourceGPIOD) || \ 66 | ((PORTSOURCE) == EXTI_PortSourceGPIOE) || \ 67 | ((PORTSOURCE) == EXTI_PortSourceGPIOF) || \ 68 | ((PORTSOURCE) == EXTI_PortSourceGPIOG) || \ 69 | ((PORTSOURCE) == EXTI_PortSourceGPIOH) || \ 70 | ((PORTSOURCE) == EXTI_PortSourceGPIOI)) 71 | /** 72 | * @} 73 | */ 74 | 75 | 76 | /** @defgroup SYSCFG_EXTI_Pin_Sources 77 | * @{ 78 | */ 79 | #define EXTI_PinSource0 ((uint8_t)0x00) 80 | #define EXTI_PinSource1 ((uint8_t)0x01) 81 | #define EXTI_PinSource2 ((uint8_t)0x02) 82 | #define EXTI_PinSource3 ((uint8_t)0x03) 83 | #define EXTI_PinSource4 ((uint8_t)0x04) 84 | #define EXTI_PinSource5 ((uint8_t)0x05) 85 | #define EXTI_PinSource6 ((uint8_t)0x06) 86 | #define EXTI_PinSource7 ((uint8_t)0x07) 87 | #define EXTI_PinSource8 ((uint8_t)0x08) 88 | #define EXTI_PinSource9 ((uint8_t)0x09) 89 | #define EXTI_PinSource10 ((uint8_t)0x0A) 90 | #define EXTI_PinSource11 ((uint8_t)0x0B) 91 | #define EXTI_PinSource12 ((uint8_t)0x0C) 92 | #define EXTI_PinSource13 ((uint8_t)0x0D) 93 | #define EXTI_PinSource14 ((uint8_t)0x0E) 94 | #define EXTI_PinSource15 ((uint8_t)0x0F) 95 | #define IS_EXTI_PIN_SOURCE(PINSOURCE) (((PINSOURCE) == EXTI_PinSource0) || \ 96 | ((PINSOURCE) == EXTI_PinSource1) || \ 97 | ((PINSOURCE) == EXTI_PinSource2) || \ 98 | ((PINSOURCE) == EXTI_PinSource3) || \ 99 | ((PINSOURCE) == EXTI_PinSource4) || \ 100 | ((PINSOURCE) == EXTI_PinSource5) || \ 101 | ((PINSOURCE) == EXTI_PinSource6) || \ 102 | ((PINSOURCE) == EXTI_PinSource7) || \ 103 | ((PINSOURCE) == EXTI_PinSource8) || \ 104 | ((PINSOURCE) == EXTI_PinSource9) || \ 105 | ((PINSOURCE) == EXTI_PinSource10) || \ 106 | ((PINSOURCE) == EXTI_PinSource11) || \ 107 | ((PINSOURCE) == EXTI_PinSource12) || \ 108 | ((PINSOURCE) == EXTI_PinSource13) || \ 109 | ((PINSOURCE) == EXTI_PinSource14) || \ 110 | ((PINSOURCE) == EXTI_PinSource15)) 111 | /** 112 | * @} 113 | */ 114 | 115 | 116 | /** @defgroup SYSCFG_Memory_Remap_Config 117 | * @{ 118 | */ 119 | #define SYSCFG_MemoryRemap_Flash ((uint8_t)0x00) 120 | #define SYSCFG_MemoryRemap_SystemFlash ((uint8_t)0x01) 121 | #define SYSCFG_MemoryRemap_FSMC ((uint8_t)0x02) 122 | #define SYSCFG_MemoryRemap_SRAM ((uint8_t)0x03) 123 | 124 | #define IS_SYSCFG_MEMORY_REMAP_CONFING(REMAP) (((REMAP) == SYSCFG_MemoryRemap_Flash) || \ 125 | ((REMAP) == SYSCFG_MemoryRemap_SystemFlash) || \ 126 | ((REMAP) == SYSCFG_MemoryRemap_SRAM) || \ 127 | ((REMAP) == SYSCFG_MemoryRemap_FSMC)) 128 | /** 129 | * @} 130 | */ 131 | 132 | 133 | /** @defgroup SYSCFG_ETHERNET_Media_Interface 134 | * @{ 135 | */ 136 | #define SYSCFG_ETH_MediaInterface_MII ((uint32_t)0x00000000) 137 | #define SYSCFG_ETH_MediaInterface_RMII ((uint32_t)0x00000001) 138 | 139 | #define IS_SYSCFG_ETH_MEDIA_INTERFACE(INTERFACE) (((INTERFACE) == SYSCFG_ETH_MediaInterface_MII) || \ 140 | ((INTERFACE) == SYSCFG_ETH_MediaInterface_RMII)) 141 | /** 142 | * @} 143 | */ 144 | 145 | /** 146 | * @} 147 | */ 148 | 149 | /* Exported macro ------------------------------------------------------------*/ 150 | /* Exported functions --------------------------------------------------------*/ 151 | 152 | void SYSCFG_DeInit(void); 153 | void SYSCFG_MemoryRemapConfig(uint8_t SYSCFG_MemoryRemap); 154 | void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex); 155 | void SYSCFG_ETH_MediaInterfaceConfig(uint32_t SYSCFG_ETH_MediaInterface); 156 | void SYSCFG_CompensationCellCmd(FunctionalState NewState); 157 | FlagStatus SYSCFG_GetCompensationCellStatus(void); 158 | 159 | #ifdef __cplusplus 160 | } 161 | #endif 162 | 163 | #endif /*__STM32F4xx_SYSCFG_H */ 164 | 165 | /** 166 | * @} 167 | */ 168 | 169 | /** 170 | * @} 171 | */ 172 | 173 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 174 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_wwdg.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file contains all the functions prototypes for the WWDG firmware 8 | * library. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __STM32F4xx_WWDG_H 25 | #define __STM32F4xx_WWDG_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f4xx.h" 33 | 34 | /** @addtogroup STM32F4xx_StdPeriph_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup WWDG 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | 45 | /** @defgroup WWDG_Exported_Constants 46 | * @{ 47 | */ 48 | 49 | /** @defgroup WWDG_Prescaler 50 | * @{ 51 | */ 52 | 53 | #define WWDG_Prescaler_1 ((uint32_t)0x00000000) 54 | #define WWDG_Prescaler_2 ((uint32_t)0x00000080) 55 | #define WWDG_Prescaler_4 ((uint32_t)0x00000100) 56 | #define WWDG_Prescaler_8 ((uint32_t)0x00000180) 57 | #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \ 58 | ((PRESCALER) == WWDG_Prescaler_2) || \ 59 | ((PRESCALER) == WWDG_Prescaler_4) || \ 60 | ((PRESCALER) == WWDG_Prescaler_8)) 61 | #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F) 62 | #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F)) 63 | 64 | /** 65 | * @} 66 | */ 67 | 68 | /** 69 | * @} 70 | */ 71 | 72 | /* Exported macro ------------------------------------------------------------*/ 73 | /* Exported functions --------------------------------------------------------*/ 74 | 75 | /* Function used to set the WWDG configuration to the default reset state ****/ 76 | void WWDG_DeInit(void); 77 | 78 | /* Prescaler, Refresh window and Counter configuration functions **************/ 79 | void WWDG_SetPrescaler(uint32_t WWDG_Prescaler); 80 | void WWDG_SetWindowValue(uint8_t WindowValue); 81 | void WWDG_EnableIT(void); 82 | void WWDG_SetCounter(uint8_t Counter); 83 | 84 | /* WWDG activation function ***************************************************/ 85 | void WWDG_Enable(uint8_t Counter); 86 | 87 | /* Interrupts and flags management functions **********************************/ 88 | FlagStatus WWDG_GetFlagStatus(void); 89 | void WWDG_ClearFlag(void); 90 | 91 | #ifdef __cplusplus 92 | } 93 | #endif 94 | 95 | #endif /* __STM32F4xx_WWDG_H */ 96 | 97 | /** 98 | * @} 99 | */ 100 | 101 | /** 102 | * @} 103 | */ 104 | 105 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 106 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_crc.c 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file provides all the CRC firmware functions. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 17 | * 18 | *

© COPYRIGHT 2011 STMicroelectronics

19 | ****************************************************************************** 20 | */ 21 | 22 | /* Includes ------------------------------------------------------------------*/ 23 | #include "stm32f4xx_crc.h" 24 | 25 | /** @addtogroup STM32F4xx_StdPeriph_Driver 26 | * @{ 27 | */ 28 | 29 | /** @defgroup CRC 30 | * @brief CRC driver modules 31 | * @{ 32 | */ 33 | 34 | /* Private typedef -----------------------------------------------------------*/ 35 | /* Private define ------------------------------------------------------------*/ 36 | /* Private macro -------------------------------------------------------------*/ 37 | /* Private variables ---------------------------------------------------------*/ 38 | /* Private function prototypes -----------------------------------------------*/ 39 | /* Private functions ---------------------------------------------------------*/ 40 | 41 | /** @defgroup CRC_Private_Functions 42 | * @{ 43 | */ 44 | 45 | /** 46 | * @brief Resets the CRC Data register (DR). 47 | * @param None 48 | * @retval None 49 | */ 50 | void CRC_ResetDR(void) 51 | { 52 | /* Reset CRC generator */ 53 | CRC->CR = CRC_CR_RESET; 54 | } 55 | 56 | /** 57 | * @brief Computes the 32-bit CRC of a given data word(32-bit). 58 | * @param Data: data word(32-bit) to compute its CRC 59 | * @retval 32-bit CRC 60 | */ 61 | uint32_t CRC_CalcCRC(uint32_t Data) 62 | { 63 | CRC->DR = Data; 64 | 65 | return (CRC->DR); 66 | } 67 | 68 | /** 69 | * @brief Computes the 32-bit CRC of a given buffer of data word(32-bit). 70 | * @param pBuffer: pointer to the buffer containing the data to be computed 71 | * @param BufferLength: length of the buffer to be computed 72 | * @retval 32-bit CRC 73 | */ 74 | uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength) 75 | { 76 | uint32_t index = 0; 77 | 78 | for(index = 0; index < BufferLength; index++) 79 | { 80 | CRC->DR = pBuffer[index]; 81 | } 82 | return (CRC->DR); 83 | } 84 | 85 | /** 86 | * @brief Returns the current CRC value. 87 | * @param None 88 | * @retval 32-bit CRC 89 | */ 90 | uint32_t CRC_GetCRC(void) 91 | { 92 | return (CRC->DR); 93 | } 94 | 95 | /** 96 | * @brief Stores a 8-bit data in the Independent Data(ID) register. 97 | * @param IDValue: 8-bit value to be stored in the ID register 98 | * @retval None 99 | */ 100 | void CRC_SetIDRegister(uint8_t IDValue) 101 | { 102 | CRC->IDR = IDValue; 103 | } 104 | 105 | /** 106 | * @brief Returns the 8-bit data stored in the Independent Data(ID) register 107 | * @param None 108 | * @retval 8-bit value of the ID register 109 | */ 110 | uint8_t CRC_GetIDRegister(void) 111 | { 112 | return (CRC->IDR); 113 | } 114 | 115 | /** 116 | * @} 117 | */ 118 | 119 | /** 120 | * @} 121 | */ 122 | 123 | /** 124 | * @} 125 | */ 126 | 127 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 128 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_dbgmcu.c 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file provides all the DBGMCU firmware functions. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 17 | * 18 | *

© COPYRIGHT 2011 STMicroelectronics

19 | ****************************************************************************** 20 | */ 21 | 22 | /* Includes ------------------------------------------------------------------*/ 23 | #include "stm32f4xx_dbgmcu.h" 24 | 25 | /** @addtogroup STM32F4xx_StdPeriph_Driver 26 | * @{ 27 | */ 28 | 29 | /** @defgroup DBGMCU 30 | * @brief DBGMCU driver modules 31 | * @{ 32 | */ 33 | 34 | /* Private typedef -----------------------------------------------------------*/ 35 | /* Private define ------------------------------------------------------------*/ 36 | #define IDCODE_DEVID_MASK ((uint32_t)0x00000FFF) 37 | 38 | /* Private macro -------------------------------------------------------------*/ 39 | /* Private variables ---------------------------------------------------------*/ 40 | /* Private function prototypes -----------------------------------------------*/ 41 | /* Private functions ---------------------------------------------------------*/ 42 | 43 | /** @defgroup DBGMCU_Private_Functions 44 | * @{ 45 | */ 46 | 47 | /** 48 | * @brief Returns the device revision identifier. 49 | * @param None 50 | * @retval Device revision identifier 51 | */ 52 | uint32_t DBGMCU_GetREVID(void) 53 | { 54 | return(DBGMCU->IDCODE >> 16); 55 | } 56 | 57 | /** 58 | * @brief Returns the device identifier. 59 | * @param None 60 | * @retval Device identifier 61 | */ 62 | uint32_t DBGMCU_GetDEVID(void) 63 | { 64 | return(DBGMCU->IDCODE & IDCODE_DEVID_MASK); 65 | } 66 | 67 | /** 68 | * @brief Configures low power mode behavior when the MCU is in Debug mode. 69 | * @param DBGMCU_Periph: specifies the low power mode. 70 | * This parameter can be any combination of the following values: 71 | * @arg DBGMCU_SLEEP: Keep debugger connection during SLEEP mode 72 | * @arg DBGMCU_STOP: Keep debugger connection during STOP mode 73 | * @arg DBGMCU_STANDBY: Keep debugger connection during STANDBY mode 74 | * @param NewState: new state of the specified low power mode in Debug mode. 75 | * This parameter can be: ENABLE or DISABLE. 76 | * @retval None 77 | */ 78 | void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState) 79 | { 80 | /* Check the parameters */ 81 | assert_param(IS_DBGMCU_PERIPH(DBGMCU_Periph)); 82 | assert_param(IS_FUNCTIONAL_STATE(NewState)); 83 | if (NewState != DISABLE) 84 | { 85 | DBGMCU->CR |= DBGMCU_Periph; 86 | } 87 | else 88 | { 89 | DBGMCU->CR &= ~DBGMCU_Periph; 90 | } 91 | } 92 | 93 | /** 94 | * @brief Configures APB1 peripheral behavior when the MCU is in Debug mode. 95 | * @param DBGMCU_Periph: specifies the APB1 peripheral. 96 | * This parameter can be any combination of the following values: 97 | * @arg DBGMCU_TIM2_STOP: TIM2 counter stopped when Core is halted 98 | * @arg DBGMCU_TIM3_STOP: TIM3 counter stopped when Core is halted 99 | * @arg DBGMCU_TIM4_STOP: TIM4 counter stopped when Core is halted 100 | * @arg DBGMCU_TIM5_STOP: TIM5 counter stopped when Core is halted 101 | * @arg DBGMCU_TIM6_STOP: TIM6 counter stopped when Core is halted 102 | * @arg DBGMCU_TIM7_STOP: TIM7 counter stopped when Core is halted 103 | * @arg DBGMCU_TIM12_STOP: TIM12 counter stopped when Core is halted 104 | * @arg DBGMCU_TIM13_STOP: TIM13 counter stopped when Core is halted 105 | * @arg DBGMCU_TIM14_STOP: TIM14 counter stopped when Core is halted 106 | * @arg DBGMCU_RTC_STOP: RTC Calendar and Wakeup counter stopped when Core is halted. 107 | * @arg DBGMCU_WWDG_STOP: Debug WWDG stopped when Core is halted 108 | * @arg DBGMCU_IWDG_STOP: Debug IWDG stopped when Core is halted 109 | * @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted 110 | * @arg DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted 111 | * @arg DBGMCU_I2C3_SMBUS_TIMEOUT: I2C3 SMBUS timeout mode stopped when Core is halted 112 | * @arg DBGMCU_CAN2_STOP: Debug CAN1 stopped when Core is halted 113 | * @arg DBGMCU_CAN1_STOP: Debug CAN2 stopped when Core is halted 114 | * This parameter can be: ENABLE or DISABLE. 115 | * @retval None 116 | */ 117 | void DBGMCU_APB1PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState) 118 | { 119 | /* Check the parameters */ 120 | assert_param(IS_DBGMCU_APB1PERIPH(DBGMCU_Periph)); 121 | assert_param(IS_FUNCTIONAL_STATE(NewState)); 122 | 123 | if (NewState != DISABLE) 124 | { 125 | DBGMCU->APB1FZ |= DBGMCU_Periph; 126 | } 127 | else 128 | { 129 | DBGMCU->APB1FZ &= ~DBGMCU_Periph; 130 | } 131 | } 132 | 133 | /** 134 | * @brief Configures APB2 peripheral behavior when the MCU is in Debug mode. 135 | * @param DBGMCU_Periph: specifies the APB2 peripheral. 136 | * This parameter can be any combination of the following values: 137 | * @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted 138 | * @arg DBGMCU_TIM8_STOP: TIM8 counter stopped when Core is halted 139 | * @arg DBGMCU_TIM9_STOP: TIM9 counter stopped when Core is halted 140 | * @arg DBGMCU_TIM10_STOP: TIM10 counter stopped when Core is halted 141 | * @arg DBGMCU_TIM11_STOP: TIM11 counter stopped when Core is halted 142 | * @param NewState: new state of the specified peripheral in Debug mode. 143 | * This parameter can be: ENABLE or DISABLE. 144 | * @retval None 145 | */ 146 | void DBGMCU_APB2PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState) 147 | { 148 | /* Check the parameters */ 149 | assert_param(IS_DBGMCU_APB2PERIPH(DBGMCU_Periph)); 150 | assert_param(IS_FUNCTIONAL_STATE(NewState)); 151 | 152 | if (NewState != DISABLE) 153 | { 154 | DBGMCU->APB2FZ |= DBGMCU_Periph; 155 | } 156 | else 157 | { 158 | DBGMCU->APB2FZ &= ~DBGMCU_Periph; 159 | } 160 | } 161 | 162 | /** 163 | * @} 164 | */ 165 | 166 | /** 167 | * @} 168 | */ 169 | 170 | /** 171 | * @} 172 | */ 173 | 174 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 175 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/Libraries/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_syscfg.c 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 30-September-2011 7 | * @brief This file provides firmware functions to manage the SYSCFG peripheral. 8 | * 9 | * @verbatim 10 | * 11 | * =================================================================== 12 | * How to use this driver 13 | * =================================================================== 14 | * 15 | * This driver provides functions for: 16 | * 17 | * 1. Remapping the memory accessible in the code area using SYSCFG_MemoryRemapConfig() 18 | * 19 | * 2. Manage the EXTI lines connection to the GPIOs using SYSCFG_EXTILineConfig() 20 | * 21 | * 3. Select the ETHERNET media interface (RMII/RII) using SYSCFG_ETH_MediaInterfaceConfig() 22 | * 23 | * @note SYSCFG APB clock must be enabled to get write access to SYSCFG registers, 24 | * using RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); 25 | * 26 | * @endverbatim 27 | * 28 | ****************************************************************************** 29 | * @attention 30 | * 31 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 32 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 33 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 34 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 35 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 36 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 37 | * 38 | *

© COPYRIGHT 2011 STMicroelectronics

39 | ****************************************************************************** 40 | */ 41 | 42 | /* Includes ------------------------------------------------------------------*/ 43 | #include "stm32f4xx_syscfg.h" 44 | #include "stm32f4xx_rcc.h" 45 | 46 | /** @addtogroup STM32F4xx_StdPeriph_Driver 47 | * @{ 48 | */ 49 | 50 | /** @defgroup SYSCFG 51 | * @brief SYSCFG driver modules 52 | * @{ 53 | */ 54 | 55 | /* Private typedef -----------------------------------------------------------*/ 56 | /* Private define ------------------------------------------------------------*/ 57 | /* ------------ RCC registers bit address in the alias region ----------- */ 58 | #define SYSCFG_OFFSET (SYSCFG_BASE - PERIPH_BASE) 59 | /* --- PMC Register ---*/ 60 | /* Alias word address of MII_RMII_SEL bit */ 61 | #define PMC_OFFSET (SYSCFG_OFFSET + 0x04) 62 | #define MII_RMII_SEL_BitNumber ((uint8_t)0x17) 63 | #define PMC_MII_RMII_SEL_BB (PERIPH_BB_BASE + (PMC_OFFSET * 32) + (MII_RMII_SEL_BitNumber * 4)) 64 | 65 | /* --- CMPCR Register ---*/ 66 | /* Alias word address of CMP_PD bit */ 67 | #define CMPCR_OFFSET (SYSCFG_OFFSET + 0x20) 68 | #define CMP_PD_BitNumber ((uint8_t)0x00) 69 | #define CMPCR_CMP_PD_BB (PERIPH_BB_BASE + (CMPCR_OFFSET * 32) + (CMP_PD_BitNumber * 4)) 70 | 71 | /* Private macro -------------------------------------------------------------*/ 72 | /* Private variables ---------------------------------------------------------*/ 73 | /* Private function prototypes -----------------------------------------------*/ 74 | /* Private functions ---------------------------------------------------------*/ 75 | 76 | /** @defgroup SYSCFG_Private_Functions 77 | * @{ 78 | */ 79 | 80 | /** 81 | * @brief Deinitializes the Alternate Functions (remap and EXTI configuration) 82 | * registers to their default reset values. 83 | * @param None 84 | * @retval None 85 | */ 86 | void SYSCFG_DeInit(void) 87 | { 88 | RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, ENABLE); 89 | RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, DISABLE); 90 | } 91 | 92 | /** 93 | * @brief Changes the mapping of the specified pin. 94 | * @param SYSCFG_Memory: selects the memory remapping. 95 | * This parameter can be one of the following values: 96 | * @arg SYSCFG_MemoryRemap_Flash: Main Flash memory mapped at 0x00000000 97 | * @arg SYSCFG_MemoryRemap_SystemFlash: System Flash memory mapped at 0x00000000 98 | * @arg SYSCFG_MemoryRemap_FSMC: FSMC (Bank1 (NOR/PSRAM 1 and 2) mapped at 0x00000000 99 | * @arg SYSCFG_MemoryRemap_SRAM: Embedded SRAM (112kB) mapped at 0x00000000 100 | * @retval None 101 | */ 102 | void SYSCFG_MemoryRemapConfig(uint8_t SYSCFG_MemoryRemap) 103 | { 104 | /* Check the parameters */ 105 | assert_param(IS_SYSCFG_MEMORY_REMAP_CONFING(SYSCFG_MemoryRemap)); 106 | 107 | SYSCFG->MEMRMP = SYSCFG_MemoryRemap; 108 | } 109 | 110 | /** 111 | * @brief Selects the GPIO pin used as EXTI Line. 112 | * @param EXTI_PortSourceGPIOx : selects the GPIO port to be used as source for 113 | * EXTI lines where x can be (A..I). 114 | * @param EXTI_PinSourcex: specifies the EXTI line to be configured. 115 | * This parameter can be EXTI_PinSourcex where x can be (0..15, except 116 | * for EXTI_PortSourceGPIOI x can be (0..11). 117 | * @retval None 118 | */ 119 | void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex) 120 | { 121 | uint32_t tmp = 0x00; 122 | 123 | /* Check the parameters */ 124 | assert_param(IS_EXTI_PORT_SOURCE(EXTI_PortSourceGPIOx)); 125 | assert_param(IS_EXTI_PIN_SOURCE(EXTI_PinSourcex)); 126 | 127 | tmp = ((uint32_t)0x0F) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03)); 128 | SYSCFG->EXTICR[EXTI_PinSourcex >> 0x02] &= ~tmp; 129 | SYSCFG->EXTICR[EXTI_PinSourcex >> 0x02] |= (((uint32_t)EXTI_PortSourceGPIOx) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03))); 130 | } 131 | 132 | /** 133 | * @brief Selects the ETHERNET media interface 134 | * @param SYSCFG_ETH_MediaInterface: specifies the Media Interface mode. 135 | * This parameter can be one of the following values: 136 | * @arg SYSCFG_ETH_MediaInterface_MII: MII mode selected 137 | * @arg SYSCFG_ETH_MediaInterface_RMII: RMII mode selected 138 | * @retval None 139 | */ 140 | void SYSCFG_ETH_MediaInterfaceConfig(uint32_t SYSCFG_ETH_MediaInterface) 141 | { 142 | assert_param(IS_SYSCFG_ETH_MEDIA_INTERFACE(SYSCFG_ETH_MediaInterface)); 143 | /* Configure MII_RMII selection bit */ 144 | *(__IO uint32_t *) PMC_MII_RMII_SEL_BB = SYSCFG_ETH_MediaInterface; 145 | } 146 | 147 | /** 148 | * @brief Enables or disables the I/O Compensation Cell. 149 | * @note The I/O compensation cell can be used only when the device supply 150 | * voltage ranges from 2.4 to 3.6 V. 151 | * @param NewState: new state of the I/O Compensation Cell. 152 | * This parameter can be one of the following values: 153 | * @arg ENABLE: I/O compensation cell enabled 154 | * @arg DISABLE: I/O compensation cell power-down mode 155 | * @retval None 156 | */ 157 | void SYSCFG_CompensationCellCmd(FunctionalState NewState) 158 | { 159 | /* Check the parameters */ 160 | assert_param(IS_FUNCTIONAL_STATE(NewState)); 161 | 162 | *(__IO uint32_t *) CMPCR_CMP_PD_BB = (uint32_t)NewState; 163 | } 164 | 165 | /** 166 | * @brief Checks whether the I/O Compensation Cell ready flag is set or not. 167 | * @param None 168 | * @retval The new state of the I/O Compensation Cell ready flag (SET or RESET) 169 | */ 170 | FlagStatus SYSCFG_GetCompensationCellStatus(void) 171 | { 172 | FlagStatus bitstatus = RESET; 173 | 174 | if ((SYSCFG->CMPCR & SYSCFG_CMPCR_READY ) != (uint32_t)RESET) 175 | { 176 | bitstatus = SET; 177 | } 178 | else 179 | { 180 | bitstatus = RESET; 181 | } 182 | return bitstatus; 183 | } 184 | 185 | /** 186 | * @} 187 | */ 188 | 189 | /** 190 | * @} 191 | */ 192 | 193 | /** 194 | * @} 195 | */ 196 | 197 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 198 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/RTE/_OLD-X_FC_2.0/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'F407_FC' 7 | * Target: 'OLD-X FC 2.0' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | /* 15 | * Define the Device Header File: 16 | */ 17 | #define CMSIS_device_header "stm32f4xx.h" 18 | 19 | 20 | 21 | #endif /* RTE_COMPONENTS_H */ 22 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/TEST.ANO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/TEST.ANO -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/filter.h: -------------------------------------------------------------------------------- 1 | #ifndef __FILTER_H 2 | #define __FILTER_H 3 | 4 | #include "include.h" 5 | void Low_Fass_Filter(float in, float* out, float cutoff_freq, float dt) ; 6 | void Moving_Average(float in,float moavarray[],u16 len ,u16 fil_cnt[2],float *out); 7 | float Moving_Median(u8 item,u8 width_num,float in); 8 | extern double IIR_I_Filter(double InData, double *x, double *y, double *b, short nb, double *a, short na); 9 | extern fp32 LPF_1st(fp32 oldData, fp32 newData, fp32 lpf_factor); 10 | float my_deathzoom1(float x,float zoom); 11 | #define NUMBER_OF_FIRST_ORDER_FILTERS 20 12 | #define ACC_LOWPASS_X 0 13 | #define ACC_LOWPASS_Y 1 14 | #define ACC_LOWPASS_Z 2 15 | #define BARO_LOWPASS 10 16 | #define FLOW_LOWPASS_X 11 17 | #define FLOW_LOWPASS_Y 12 18 | typedef struct firstOrderFilterData { 19 | float gx1; 20 | float gx2; 21 | float gx3; 22 | float previousInput; 23 | float previousOutput; 24 | } firstOrderFilterData_t; 25 | 26 | extern firstOrderFilterData_t firstOrderFilters[NUMBER_OF_FIRST_ORDER_FILTERS]; 27 | 28 | void initFirstOrderFilter(float T); 29 | float firstOrderFilter(float input, struct firstOrderFilterData *filterParameters,float T); 30 | 31 | 32 | //kf 33 | /* 2 Dimension */ 34 | typedef struct { 35 | float x[2]; /* state: [0]-angle [1]-diffrence of angle, 2x1 */ 36 | float A[2][2]; /* X(n)=A*X(n-1)+U(n),U(n)~N(0,q), 2x2 */ 37 | float H[2]; /* Z(n)=H*X(n)+W(n),W(n)~N(0,r), 1x2 */ 38 | float q[2]; /* process(predict) noise convariance,2x1 [q0,0; 0,q1] */ 39 | float r; /* measure noise convariance */ 40 | float p[2][2]; /* estimated error convariance,2x2 [p0 p1; p2 p3] */ 41 | float gain[2]; /* 2x1 */ 42 | } kalman2_state; 43 | extern void kalman2_init(kalman2_state *state, float *init_x, float (*init_p)[2]); 44 | extern float kalman2_filter(kalman2_state *state, float z_measure); 45 | #endif 46 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/fliter.c: -------------------------------------------------------------------------------- 1 | #include "include.h" 2 | #include "filter.h" 3 | #include "my_math.h" 4 | 5 | #define PI 3.1415926 6 | #define LPF_COF_05Hz 1.0f/(2*PI*0.5) 7 | #define LPF_COF_1t5Hz 1.0f/(2*PI*3) 8 | #define LPF_COF_5t10Hz 1.0f/(2*PI*7) 9 | #define LPF_COF_10t15Hz 1.0f/(2*PI*12) 10 | #define LPF_COF_15t20Hz 1.0f/(2*PI*17) 11 | #define LPF_COF_20t25Hz 1.0f/(2*PI*22) 12 | #define LPF_COF_25t30Hz 1.0f/(2*PI*27) 13 | #define LPF_COF_30t50Hz 1.0f/(2*PI*40) 14 | #define LPF_COF_50t70Hz 1.0f/(2*PI*60) 15 | #define LPF_COF_70t100Hz 1.0f/(2*PI*80) 16 | #define LPF_COF_100tHz 1.0f/(2*PI*100) 17 | 18 | void Low_Fass_Filter(float in, float* out, float cutoff_freq, float dt) { 19 | float input_reg=in; 20 | if (cutoff_freq <= 0.0f || dt <= 0.0f) { 21 | *out = input_reg; 22 | } 23 | float lpf_cof; 24 | int frep=cutoff_freq; 25 | 26 | if(cutoff_freq<1) 27 | lpf_cof=LPF_COF_05Hz; 28 | else if(cutoff_freq>=1&&cutoff_freq<5) 29 | lpf_cof=LPF_COF_1t5Hz; 30 | else if(cutoff_freq>=5&&cutoff_freq<10) 31 | lpf_cof=LPF_COF_5t10Hz; 32 | else if(cutoff_freq>=10&&cutoff_freq<15) 33 | lpf_cof=LPF_COF_10t15Hz; 34 | else if(cutoff_freq>=15&&cutoff_freq<20) 35 | lpf_cof=LPF_COF_15t20Hz; 36 | else if(cutoff_freq>=20&&cutoff_freq<25) 37 | lpf_cof=LPF_COF_20t25Hz; 38 | else if(cutoff_freq>=25&&cutoff_freq<30) 39 | lpf_cof=LPF_COF_25t30Hz; 40 | else if(cutoff_freq>=30&&cutoff_freq<50) 41 | lpf_cof=LPF_COF_30t50Hz; 42 | else if(cutoff_freq>=50&&cutoff_freq<70) 43 | lpf_cof=LPF_COF_50t70Hz; 44 | else if(cutoff_freq>=70&&cutoff_freq<100) 45 | lpf_cof=LPF_COF_70t100Hz; 46 | else 47 | lpf_cof=LPF_COF_100tHz; 48 | float rc = lpf_cof; 49 | float alpha = LIMIT(dt/(dt+rc), 0.0f, 1.0f); 50 | *out += (input_reg - *out) * alpha; 51 | } 52 | 53 | 54 | void Moving_Average(float in,float moavarray[],u16 len ,u16 fil_cnt[2],float *out) 55 | { 56 | u16 width_num; 57 | 58 | width_num = len ; 59 | 60 | if( ++fil_cnt[0] > width_num ) 61 | { 62 | fil_cnt[0] = 0; //now 63 | fil_cnt[1] = 1; //old 64 | } 65 | else 66 | { 67 | fil_cnt[1] = (fil_cnt[0] == width_num)? 0 : (fil_cnt[0] + 1); 68 | } 69 | 70 | moavarray[ fil_cnt[0] ] = in; 71 | *out += ( in - ( moavarray[ fil_cnt[1] ] ) )/(float)( width_num ) ; 72 | 73 | } 74 | 75 | #define MED_WIDTH_NUM 20 76 | #define MED_FIL_ITEM 30 77 | 78 | float med_filter_tmp[MED_FIL_ITEM][MED_WIDTH_NUM ]; 79 | float med_filter_out[MED_FIL_ITEM]; 80 | 81 | u8 med_fil_cnt[MED_FIL_ITEM]; 82 | // 1 2 3 9 83 | float Moving_Median(u8 item,u8 width_num,float in) 84 | { 85 | u8 i,j; 86 | float t; 87 | float tmp[MED_WIDTH_NUM]; 88 | 89 | if(width_num==0) 90 | return in; 91 | 92 | if(item >= MED_FIL_ITEM || width_num >= MED_WIDTH_NUM ) 93 | { 94 | return 0; 95 | } 96 | else 97 | { 98 | if( ++med_fil_cnt[item] >= width_num ) 99 | { 100 | med_fil_cnt[item] = 0; 101 | } 102 | 103 | med_filter_tmp[item][ med_fil_cnt[item] ] = in; 104 | 105 | for(i=0;i tmp[j+1]) 115 | { 116 | t = tmp[j]; 117 | tmp[j] = tmp[j+1]; 118 | tmp[j+1] = t; 119 | } 120 | } 121 | } 122 | 123 | 124 | return ( tmp[(u16)width_num/2] ); 125 | } 126 | } 127 | 128 | 129 | 130 | /* 131 | * @brief 132 | * Init fields of structure @kalman1_state. 133 | * I make some defaults in this init function: 134 | * A = {{1, 0.1}, {0, 1}}; 135 | * H = {1,0}; 136 | * and @q,@r are valued after prior tests. 137 | * 138 | * NOTES: Please change A,H,q,r according to your application. 139 | * 140 | * @inputs 141 | * @outputs 142 | * @retval 143 | */ 144 | void kalman2_init(kalman2_state *state, float *init_x, float (*init_p)[2]) 145 | { 146 | state->x[0] = init_x[0]; 147 | state->x[1] = init_x[1]; 148 | state->p[0][0] = init_p[0][0]; 149 | state->p[0][1] = init_p[0][1]; 150 | state->p[1][0] = init_p[1][0]; 151 | state->p[1][1] = init_p[1][1]; 152 | //state->A = {{1, 0.1}, {0, 1}}; 153 | state->A[0][0] = 1; 154 | state->A[0][1] = 0.1; 155 | state->A[1][0] = 0; 156 | state->A[1][1] = 1; 157 | //state->H = {1,0}; 158 | state->H[0] = 1; 159 | state->H[1] = 0; 160 | //state->q = {{10e-6,0}, {0,10e-6}}; /* measure noise convariance */ 161 | state->q[0] = 10e-7; 162 | state->q[1] = 10e-7; 163 | state->r = 10e-7; /* estimated error convariance */ 164 | } 165 | 166 | /* 167 | * @brief 168 | * 2 Dimension kalman filter 169 | * @inputs 170 | * state - Klaman filter structure 171 | * z_measure - Measure value 172 | * @outputs 173 | * state->x[0] - Updated state value, Such as angle,velocity 174 | * state->x[1] - Updated state value, Such as diffrence angle, acceleration 175 | * state->p - Updated estimated error convatiance matrix 176 | * @retval 177 | * Return value is equals to state->x[0], so maybe angle or velocity. 178 | */ 179 | float kalman2_filter(kalman2_state *state, float z_measure) 180 | { 181 | float temp0 = 0.0f; 182 | float temp1 = 0.0f; 183 | float temp = 0.0f; 184 | 185 | /* Step1: Predict */ 186 | state->x[0] = state->A[0][0] * state->x[0] + state->A[0][1] * state->x[1]; 187 | state->x[1] = state->A[1][0] * state->x[0] + state->A[1][1] * state->x[1]; 188 | /* p(n|n-1)=A^2*p(n-1|n-1)+q */ 189 | state->p[0][0] = state->A[0][0] * state->p[0][0] + state->A[0][1] * state->p[1][0] + state->q[0]; 190 | state->p[0][1] = state->A[0][0] * state->p[0][1] + state->A[1][1] * state->p[1][1]; 191 | state->p[1][0] = state->A[1][0] * state->p[0][0] + state->A[0][1] * state->p[1][0]; 192 | state->p[1][1] = state->A[1][0] * state->p[0][1] + state->A[1][1] * state->p[1][1] + state->q[1]; 193 | 194 | /* Step2: Measurement */ 195 | /* gain = p * H^T * [r + H * p * H^T]^(-1), H^T means transpose. */ 196 | temp0 = state->p[0][0] * state->H[0] + state->p[0][1] * state->H[1]; 197 | temp1 = state->p[1][0] * state->H[0] + state->p[1][1] * state->H[1]; 198 | temp = state->r + state->H[0] * temp0 + state->H[1] * temp1; 199 | state->gain[0] = temp0 / temp; 200 | state->gain[1] = temp1 / temp; 201 | /* x(n|n) = x(n|n-1) + gain(n) * [z_measure - H(n)*x(n|n-1)]*/ 202 | temp = state->H[0] * state->x[0] + state->H[1] * state->x[1]; 203 | state->x[0] = state->x[0] + state->gain[0] * (z_measure - temp); 204 | state->x[1] = state->x[1] + state->gain[1] * (z_measure - temp); 205 | 206 | /* Update @p: p(n|n) = [I - gain * H] * p(n|n-1) */ 207 | state->p[0][0] = (1 - state->gain[0] * state->H[0]) * state->p[0][0]; 208 | state->p[0][1] = (1 - state->gain[0] * state->H[1]) * state->p[0][1]; 209 | state->p[1][0] = (1 - state->gain[1] * state->H[0]) * state->p[1][0]; 210 | state->p[1][1] = (1 - state->gain[1] * state->H[1]) * state->p[1][1]; 211 | 212 | return state->x[0]; 213 | } -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/include.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/applications/include.h -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/applications/main.c -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/my_math.h: -------------------------------------------------------------------------------- 1 | //#include "stm32f4xx.h" 2 | 3 | #ifndef __MYMATH_H__ 4 | #define __MYMATH_H__ 5 | typedef unsigned short uint16_t; 6 | typedef unsigned char uint8_t; 7 | typedef unsigned char uint8; /* defined for unsigned 8-bits integer variable ÎÞ·ûºÅ8λÕûÐͱäÁ¿ */ 8 | typedef signed char int8; /* defined for signed 8-bits integer variable ÓзûºÅ8λÕûÐͱäÁ¿ */ 9 | typedef unsigned short uint16; /* defined for unsigned 16-bits integer variable ÎÞ·ûºÅ16λÕûÐͱäÁ¿ */ 10 | typedef signed short int16; /* defined for signed 16-bits integer variable ÓзûºÅ16λÕûÐͱäÁ¿ */ 11 | typedef unsigned int uint32; /* defined for unsigned 32-bits integer variable ÎÞ·ûºÅ32λÕûÐͱäÁ¿ */ 12 | typedef signed int int32; /* defined for signed 32-bits integer variable ÓзûºÅ32λÕûÐͱäÁ¿ */ 13 | typedef float fp32; /* single precision floating point variable (32bits) µ¥¾«¶È¸¡µãÊý£¨32볤¶È£© */ 14 | typedef double fp64; /* double precision floating point variable (64bits) Ë«¾«¶È¸¡µãÊý£¨64볤¶È£© */ 15 | typedef uint16_t u16; 16 | typedef uint8_t u8; 17 | typedef signed char int8_t; 18 | typedef signed short int int16_t; 19 | typedef signed int int32_t; 20 | typedef int32_t s32; 21 | typedef int16_t s16; 22 | typedef int8_t s8; 23 | #define REAL float 24 | #define TAN_MAP_RES 0.003921569f /* (smallest non-zero value in table) */ 25 | #define RAD_PER_DEG 0.017453293f 26 | #define TAN_MAP_SIZE 256 27 | #define MY_PPPIII 3.14159f 28 | #define MY_PPPIII_HALF 1.570796f 29 | 30 | #define ABS(x) ( (x)>0?(x):-(x) ) 31 | #define LIMIT( x,min,max ) ( (x) < (min) ? (min) : ( (x) > (max) ? (max) : (x) ) ) 32 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) 33 | #define MAX(a, b) ((a) > (b) ? (a) : (b)) 34 | float my_atan(float x, float y); 35 | float my_abs(float f); 36 | REAL fast_atan2(REAL y, REAL x); 37 | float my_pow(float a); 38 | float my_sqrt(float number); 39 | double mx_sin(double rad); 40 | double my_sin(double rad); 41 | float my_cos(double rad); 42 | float my_deathzoom(float x,float zoom); 43 | float my_deathzoom_2(float x,float zoom); 44 | float To_180_degrees(float x); 45 | float my_pow_2_curve(float in,float a,float max); 46 | float limit_mine(float x,float zoom); 47 | float limit_mine2(float x,float min,float max); 48 | float my_deathzoom_21(float x,float zoom); 49 | float my_deathzoom_rc(float x,float zoom); 50 | 51 | 52 | typedef struct 53 | { //control parameter 54 | float h0; 55 | float v1,v2,r0; 56 | }ESO_X; 57 | void OLDX_SMOOTH_IN_ESOX(ESO_X *eso_in,float in); 58 | 59 | 60 | typedef struct 61 | { 62 | float pt[3]; 63 | float vt[3]; 64 | float at[3]; 65 | float ps[3]; 66 | float vs[3]; 67 | float as[3]; 68 | float pe[3]; 69 | float ve[3]; 70 | float ae[3]; 71 | float param[10]; 72 | float Time,time_now,Dis; 73 | float cost,cost_all; 74 | float traj_pre_d; 75 | char defined[3]; 76 | 77 | }_TRA; 78 | 79 | extern _TRA traj[10]; 80 | 81 | void plan_tra(_TRA *tra); 82 | void get_tra(_TRA *tra,float t); 83 | 84 | #define ESO_AngularRate_his_length 4 85 | 86 | typedef struct 87 | { 88 | float beta1; 89 | float beta2; 90 | 91 | float T; 92 | float invT; 93 | float z_inertia; 94 | float z1; 95 | float z2; 96 | float u; 97 | float his_z1[ ESO_AngularRate_his_length ]; 98 | 99 | float h; 100 | 101 | char err_sign; 102 | float err_continues_time; 103 | 104 | float b; 105 | }ESO_AngularRate; 106 | 107 | extern ESO_AngularRate leg_td2[4][3]; 108 | 109 | typedef struct 110 | { 111 | unsigned char tracking_mode; 112 | 113 | float x1; 114 | float x2; 115 | float x3; 116 | float x4; 117 | 118 | float P1; 119 | float P2; 120 | float P3; 121 | float P4; 122 | 123 | float r2p , r2n , r3p , r3n , r4p , r4n; 124 | }_TD4; 125 | 126 | extern _TD4 leg_td4[4][3]; 127 | extern _TD4 bldc_td4[4][3]; 128 | extern _TD4 odom_td[3]; 129 | //void TD4_setP( TD4* filter , float P); 130 | void TD4_init( _TD4* filter , float P1 , float P2 , float P3 , float P4); 131 | float TD4_track4( _TD4* filter , const float expect , const float h); 132 | float TD4_track3( _TD4* filter , const float expect , const float h ); 133 | #endif 134 | 135 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/mymath.c: -------------------------------------------------------------------------------- 1 | #include "math.h" 2 | #include "mymath.h" 3 | 4 | float sindw(float in){ 5 | return sinf(in/57.3); 6 | } 7 | 8 | float cosdw(float in){ 9 | return cosf(in/57.3); 10 | } 11 | 12 | float To_180_degreesw(float x) 13 | { 14 | return (x>180?(x-360):(x<-180?(x+360):x)); 15 | } 16 | 17 | float To_360_degreesw(float x) 18 | { 19 | if(x<0) 20 | return 360+x; 21 | else 22 | return x; 23 | } 24 | 25 | 26 | float limitw(float x,float min,float max) 27 | { 28 | if(x>max)return max; 29 | if(x0) 37 | { 38 | t = x - zoom; 39 | if(t<0) 40 | { 41 | t = 0; 42 | } 43 | } 44 | else 45 | { 46 | t = x + zoom; 47 | if(t>0) 48 | { 49 | t = 0; 50 | } 51 | } 52 | return (t); 53 | } 54 | 55 | 56 | static void inv22w(const float x[4], float y[4]) 57 | { 58 | float r; 59 | float t; 60 | if ((float)fabs(x[1]) > (float)fabs(x[0])) { 61 | r = x[0] / x[1]; 62 | t = 1.0F / (r * x[3] - x[2]); 63 | y[0] = x[3] / x[1] * t; 64 | y[1] = -t; 65 | y[2] = -x[2] / x[1] * t; 66 | y[3] = r * t; 67 | } else { 68 | r = x[1] / x[0]; 69 | t = 1.0F / (x[3] - r * x[2]); 70 | y[0] = x[3] / x[0] * t; 71 | y[1] = -r * t; 72 | y[2] = -x[2] / x[0] * t; 73 | y[3] = t; 74 | } 75 | } 76 | void invet22w(const float A[4], float *dA, float inA[4]) 77 | { 78 | int ix; 79 | float x[4]; 80 | signed char ipiv[2]; 81 | int iy; 82 | char isodd; 83 | int k; 84 | float temp; 85 | float b_A[4]; 86 | for (ix = 0; ix < 4; ix++) { 87 | x[ix] = A[ix]; 88 | } 89 | 90 | for (ix = 0; ix < 2; ix++) { 91 | ipiv[ix] = (signed char)(1 + ix); 92 | } 93 | 94 | ix = 0; 95 | if ((float)fabs(A[1]) > (float)fabs(A[0])) { 96 | ix = 1; 97 | } 98 | 99 | if (A[ix] != 0.0F) { 100 | if (ix != 0) { 101 | ipiv[0] = 2; 102 | ix = 0; 103 | iy = 1; 104 | for (k = 0; k < 2; k++) { 105 | temp = x[ix]; 106 | x[ix] = x[iy]; 107 | x[iy] = temp; 108 | ix += 2; 109 | iy += 2; 110 | } 111 | } 112 | 113 | x[1] /= x[0]; 114 | } 115 | 116 | if (x[2] != 0.0F) { 117 | x[3] += x[1] * -x[2]; 118 | } 119 | 120 | *dA = x[0] * x[3]; 121 | isodd = 0; 122 | if (ipiv[0] > 1) { 123 | isodd = 1; 124 | } 125 | 126 | if (isodd) { 127 | *dA = -*dA; 128 | } 129 | 130 | if (*dA == 0.0F) { 131 | for (ix = 0; ix < 2; ix++) { 132 | for (iy = 0; iy < 2; iy++) { 133 | b_A[ix + (iy << 1)] = 0.0F; 134 | for (k = 0; k < 2; k++) { 135 | b_A[ix + (iy << 1)] += A[k + (ix << 1)] * A[k + (iy << 1)]; 136 | } 137 | } 138 | } 139 | 140 | inv22w(b_A, x); 141 | for (ix = 0; ix < 2; ix++) { 142 | for (iy = 0; iy < 2; iy++) { 143 | inA[ix + (iy << 1)] = 0.0F; 144 | for (k = 0; k < 2; k++) { 145 | inA[ix + (iy << 1)] += x[ix + (k << 1)] * A[iy + (k << 1)]; 146 | } 147 | } 148 | } 149 | } else { 150 | inv22w(A, inA); 151 | } 152 | } 153 | 154 | void DigitalLPFw(float in, float* out, float cutoff_freq, float dt) { 155 | float input_reg=in; 156 | if (cutoff_freq <= 0.0f || dt <= 0.0f) { 157 | *out = input_reg; 158 | } 159 | float rc = 1.0f/(2*3.1415926*cutoff_freq); 160 | float alpha = limitw(dt/(dt+rc), 0.0f, 1.0f); 161 | *out += (input_reg - *out) * alpha; 162 | } 163 | 164 | void force_disw(float pos_force[3],float att_torque[3],float dt) 165 | { 166 | 167 | 168 | 169 | 170 | } 171 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/mymath.h: -------------------------------------------------------------------------------- 1 | #ifndef __MYMATH_H__ 2 | #define __MYMATH_H__ 3 | 4 | float To_180_degreesw(float x); 5 | float To_360_degreesw(float x); 6 | float limitw(float x,float min,float max); 7 | float deadw(float x,float zoom); 8 | void invet22w(const float A[4], float *dA, float inA[4]); 9 | float sindw(float in); 10 | float cosdw(float in); 11 | void DigitalLPFw(float in, float* out, float cutoff_freq, float dt); 12 | #endif -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/stm32f4xx_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file IO_Toggle/stm32f4xx_conf.h 4 | * @author MCD Application Team 5 | * @version V1.0.0 6 | * @date 19-September-2011 7 | * @brief Library configuration file. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 17 | * 18 | *

© COPYRIGHT 2011 STMicroelectronics

19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __STM32F4xx_CONF_H 24 | #define __STM32F4xx_CONF_H 25 | 26 | #if defined (HSE_VALUE) 27 | /* Redefine the HSE value; it's equal to 8 MHz on the STM32F4-DISCOVERY Kit */ 28 | #undef HSE_VALUE 29 | #define HSE_VALUE ((uint32_t)8000000) 30 | #endif /* HSE_VALUE */ 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | /* Uncomment the line below to enable peripheral header file inclusion */ 34 | #include "stm32f4xx_adc.h" 35 | //#include "stm32f4xx_can.h" 36 | //#include "stm32f4xx_crc.h" 37 | //#include "stm32f4xx_cryp.h" 38 | //#include "stm32f4xx_dac.h" 39 | #include "stm32f4xx_dbgmcu.h" 40 | //#include "stm32f4xx_dcmi.h" 41 | #include "stm32f4xx_dma.h" 42 | #include "stm32f4xx_exti.h" 43 | #include "stm32f4xx_flash.h" 44 | //#include "stm32f4xx_fsmc.h" 45 | //#include "stm32f4xx_hash.h" 46 | #include "stm32f4xx_gpio.h" 47 | #include "stm32f4xx_i2c.h" 48 | //#include "stm32f4xx_iwdg.h" 49 | #include "stm32f4xx_pwr.h" 50 | #include "stm32f4xx_rcc.h" 51 | //#include "stm32f4xx_rng.h" 52 | //#include "stm32f4xx_rtc.h" 53 | //#include "stm32f4xx_sdio.h" 54 | #include "stm32f4xx_spi.h" 55 | #include "stm32f4xx_syscfg.h" 56 | #include "stm32f4xx_tim.h" 57 | #include "stm32f4xx_usart.h" 58 | #include "stm32f4xx_wwdg.h" 59 | #include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ 60 | 61 | /* Exported types ------------------------------------------------------------*/ 62 | /* Exported constants --------------------------------------------------------*/ 63 | 64 | /* If an external clock source is used, then the value of the following define 65 | should be set to the value of the external clock source, else, if no external 66 | clock is used, keep this define commented */ 67 | /*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ 68 | 69 | 70 | /* Uncomment the line below to expanse the "assert_param" macro in the 71 | Standard Peripheral Library drivers code */ 72 | //#define USE_FULL_ASSERT 1 73 | 74 | /* Exported macro ------------------------------------------------------------*/ 75 | #ifdef USE_FULL_ASSERT 76 | 77 | /** 78 | * @brief The assert_param macro is used for function's parameters check. 79 | * @param expr: If expr is false, it calls assert_failed function 80 | * which reports the name of the source file and the source 81 | * line number of the call that failed. 82 | * If expr is true, it returns no value. 83 | * @retval None 84 | */ 85 | #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) 86 | /* Exported functions ------------------------------------------------------- */ 87 | void assert_failed(uint8_t* file, uint32_t line); 88 | #else 89 | #define assert_param(expr) ((void)0) 90 | #endif /* USE_FULL_ASSERT */ 91 | 92 | #endif /* __STM32F4xx_CONF_H */ 93 | 94 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 95 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/applications/stm32f4xx_it.c: -------------------------------------------------------------------------------- 1 | #include "include.h" 2 | 3 | void NMI_Handler(void) 4 | { 5 | } 6 | 7 | void MemManage_Handler(void) 8 | { 9 | /* Go to infinite loop when Memory Manage exception occurs */ 10 | while (1) 11 | { 12 | } 13 | } 14 | 15 | void BusFault_Handler(void) 16 | { 17 | /* Go to infinite loop when Bus Fault exception occurs */ 18 | while (1) 19 | { 20 | } 21 | } 22 | 23 | void UsageFault_Handler(void) 24 | { 25 | /* Go to infinite loop when Usage Fault exception occurs */ 26 | while (1) 27 | { 28 | } 29 | } 30 | 31 | void SVC_Handler(void) 32 | { 33 | } 34 | 35 | void DebugMon_Handler(void) 36 | { 37 | } 38 | 39 | void SysTick_Handler(void) 40 | { 41 | // sysTickUptime++; 42 | // sys_time(); 43 | } 44 | 45 | 46 | 47 | //void USART2_IRQHandler(void) 48 | //{ 49 | // Usart2_IRQ(); 50 | //} 51 | 52 | //void UART5_IRQHandler(void) 53 | //{ 54 | // Uart5_IRQ(); 55 | //} 56 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/F407_FC.axf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/F407_FC.axf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/F407_FC.build_log.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/F407_FC.build_log.htm -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/F407_FC.lnp: -------------------------------------------------------------------------------- 1 | --cpu=Cortex-M4.fp 2 | ".\build\main.o" 3 | ".\build\stm32f4xx_it.o" 4 | ".\build\delay.o" 5 | ".\build\sys.o" 6 | ".\build\time.o" 7 | ".\build\misc.o" 8 | ".\build\stm32f4xx_dbgmcu.o" 9 | ".\build\stm32f4xx_dma.o" 10 | ".\build\stm32f4xx_exti.o" 11 | ".\build\stm32f4xx_flash.o" 12 | ".\build\stm32f4xx_gpio.o" 13 | ".\build\stm32f4xx_pwr.o" 14 | ".\build\stm32f4xx_rcc.o" 15 | ".\build\stm32f4xx_spi.o" 16 | ".\build\stm32f4xx_syscfg.o" 17 | ".\build\stm32f4xx_tim.o" 18 | ".\build\stm32f4xx_usart.o" 19 | ".\build\system_stm32f4xx.o" 20 | ".\build\stm32f4xx_adc.o" 21 | ".\build\stm32f4xx_rng.o" 22 | ".\build\stm32f4xx_can.o" 23 | ".\build\stm32f4xx_iwdg.o" 24 | ".\build\startup_stm32f4xx.o" 25 | ".\build\can.o" 26 | ".\build\my_math.o" 27 | ".\build\mymath.o" 28 | ".\build\fliter.o" 29 | --library_type=microlib --strict --scatter ".\build\F407_FC.sct" 30 | --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols 31 | --info sizes --info totals --info unused --info veneers 32 | --list ".\build\F407_FC.map" -o .\build\F407_FC.axf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/F407_FC.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00100000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00100000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | .ANY (+XO) 11 | } 12 | RW_IRAM1 0x20000000 0x00020000 { ; RW data 13 | .ANY (+RW +ZI) 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/can.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/can.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/can.d: -------------------------------------------------------------------------------- 1 | .\build\can.o: drivers\can.c 2 | .\build\can.o: drivers\can.h 3 | .\build\can.o: .\system_src\sys.h 4 | .\build\can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 5 | .\build\can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 6 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 7 | .\build\can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 8 | .\build\can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 9 | .\build\can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 10 | .\build\can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 11 | .\build\can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 12 | .\build\can.o: .\applications\stm32f4xx_conf.h 13 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 14 | .\build\can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 15 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 16 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 17 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 18 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 19 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 20 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 21 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 22 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 23 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 24 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 25 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 26 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 27 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 28 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 29 | .\build\can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_can.h 30 | .\build\can.o: .\system_src\delay.h 31 | .\build\can.o: .\applications\include.h 32 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 33 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 34 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\ctype.h 35 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 36 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h 37 | .\build\can.o: .\drivers\time.h 38 | .\build\can.o: .\applications\my_math.h 39 | .\build\can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h 40 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/delay.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/delay.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/delay.d: -------------------------------------------------------------------------------- 1 | .\build\delay.o: system_src\delay.c 2 | .\build\delay.o: system_src\delay.h 3 | .\build\delay.o: .\system_src\sys.h 4 | .\build\delay.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 5 | .\build\delay.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 6 | .\build\delay.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 7 | .\build\delay.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 8 | .\build\delay.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 9 | .\build\delay.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 10 | .\build\delay.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 11 | .\build\delay.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 12 | .\build\delay.o: .\applications\stm32f4xx_conf.h 13 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 14 | .\build\delay.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 15 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 16 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 17 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 18 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 19 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 20 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 21 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 22 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 23 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 24 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 25 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 26 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 27 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 28 | .\build\delay.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 29 | .\build\delay.o: .\drivers\time.h 30 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/fliter.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/fliter.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/fliter.d: -------------------------------------------------------------------------------- 1 | .\build\fliter.o: applications\fliter.c 2 | .\build\fliter.o: applications\include.h 3 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 4 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 5 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\ctype.h 6 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 7 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h 8 | .\build\fliter.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 9 | .\build\fliter.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 10 | .\build\fliter.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\build\fliter.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 12 | .\build\fliter.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 13 | .\build\fliter.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 14 | .\build\fliter.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 15 | .\build\fliter.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 16 | .\build\fliter.o: .\applications\stm32f4xx_conf.h 17 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 18 | .\build\fliter.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 19 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 20 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 21 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 22 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 23 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 24 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 25 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 26 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 27 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 28 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 29 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 30 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 31 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 32 | .\build\fliter.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 33 | .\build\fliter.o: .\drivers\time.h 34 | .\build\fliter.o: .\system_src\delay.h 35 | .\build\fliter.o: .\system_src\sys.h 36 | .\build\fliter.o: applications\filter.h 37 | .\build\fliter.o: applications\my_math.h 38 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/main.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/main.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/main.d: -------------------------------------------------------------------------------- 1 | .\build\main.o: applications\main.c 2 | .\build\main.o: applications\include.h 3 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 4 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 5 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\ctype.h 6 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 7 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h 8 | .\build\main.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 9 | .\build\main.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 10 | .\build\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\build\main.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 12 | .\build\main.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 13 | .\build\main.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 14 | .\build\main.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 15 | .\build\main.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 16 | .\build\main.o: .\applications\stm32f4xx_conf.h 17 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 18 | .\build\main.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 19 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 20 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 21 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 22 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 23 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 24 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 25 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 26 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 27 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 28 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 29 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 30 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 31 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 32 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 33 | .\build\main.o: .\drivers\time.h 34 | .\build\main.o: .\system_src\delay.h 35 | .\build\main.o: .\system_src\sys.h 36 | .\build\main.o: .\drivers\can.h 37 | .\build\main.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_can.h 38 | .\build\main.o: applications\mymath.h 39 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/misc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/misc.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/misc.d: -------------------------------------------------------------------------------- 1 | .\build\misc.o: Libraries\STM32F4xx_StdPeriph_Driver\src\misc.c 2 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 3 | .\build\misc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\misc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\misc.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\misc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\misc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\misc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\misc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\misc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\misc.o: .\applications\stm32f4xx_conf.h 12 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\misc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\misc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/my_math.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/my_math.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/my_math.d: -------------------------------------------------------------------------------- 1 | .\build\my_math.o: applications\my_math.c 2 | .\build\my_math.o: applications\my_math.h 3 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/mymath.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/mymath.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/mymath.d: -------------------------------------------------------------------------------- 1 | .\build\mymath.o: applications\mymath.c 2 | .\build\mymath.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h 3 | .\build\mymath.o: applications\mymath.h 4 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/startup_stm32f4xx.d: -------------------------------------------------------------------------------- 1 | .\build\startup_stm32f4xx.o: Libraries\CMSIS\ST\STM32F4xx\Source\Templates\arm\startup_stm32f4xx.s 2 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_adc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_adc.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_adc.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_adc.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_adc.c 2 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 3 | .\build\stm32f4xx_adc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_adc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_adc.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_adc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_adc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_adc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_adc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_adc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_adc.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 14 | .\build\stm32f4xx_adc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 15 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_adc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_can.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_can.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_can.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_can.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_can.c 2 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_can.h 3 | .\build\stm32f4xx_can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_can.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_can.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_can.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_can.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_can.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_dbgmcu.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_dbgmcu.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_dbgmcu.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_dbgmcu.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dbgmcu.c 2 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 3 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_dbgmcu.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_dbgmcu.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_dbgmcu.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_dbgmcu.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_dbgmcu.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_dbgmcu.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_dbgmcu.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_dbgmcu.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_dma.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_dma.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_dma.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_dma.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dma.c 2 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 3 | .\build\stm32f4xx_dma.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_dma.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_dma.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_dma.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_dma.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_dma.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_dma.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_dma.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_dma.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_dma.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_dma.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_exti.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_exti.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_exti.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_exti.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_exti.c 2 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 3 | .\build\stm32f4xx_exti.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_exti.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_exti.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_exti.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_exti.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_exti.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_exti.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_exti.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_exti.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_exti.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_exti.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_flash.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_flash.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_flash.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_flash.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_flash.c 2 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 3 | .\build\stm32f4xx_flash.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_flash.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_flash.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_flash.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_flash.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_flash.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_flash.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_flash.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_flash.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_flash.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_flash.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_gpio.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_gpio.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_gpio.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_gpio.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c 2 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 3 | .\build\stm32f4xx_gpio.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_gpio.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_gpio.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_gpio.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_gpio.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_gpio.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_gpio.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_gpio.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_gpio.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_gpio.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_gpio.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_it.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_it.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_it.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_it.o: applications\stm32f4xx_it.c 2 | .\build\stm32f4xx_it.o: applications\include.h 3 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 4 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 5 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\ctype.h 6 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 7 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h 8 | .\build\stm32f4xx_it.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 9 | .\build\stm32f4xx_it.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 10 | .\build\stm32f4xx_it.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\build\stm32f4xx_it.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 12 | .\build\stm32f4xx_it.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 13 | .\build\stm32f4xx_it.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 14 | .\build\stm32f4xx_it.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 15 | .\build\stm32f4xx_it.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 16 | .\build\stm32f4xx_it.o: .\applications\stm32f4xx_conf.h 17 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 18 | .\build\stm32f4xx_it.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 19 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 20 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 21 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 22 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 23 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 24 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 25 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 26 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 27 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 28 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 29 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 30 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 31 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 32 | .\build\stm32f4xx_it.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 33 | .\build\stm32f4xx_it.o: .\drivers\time.h 34 | .\build\stm32f4xx_it.o: .\system_src\delay.h 35 | .\build\stm32f4xx_it.o: .\system_src\sys.h 36 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_iwdg.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_iwdg.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_iwdg.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_iwdg.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_iwdg.c 2 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_iwdg.h 3 | .\build\stm32f4xx_iwdg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_iwdg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_iwdg.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_iwdg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_iwdg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_iwdg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_iwdg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_iwdg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_iwdg.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_iwdg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_iwdg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_pwr.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_pwr.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_pwr.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_pwr.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_pwr.c 2 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 3 | .\build\stm32f4xx_pwr.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_pwr.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_pwr.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_pwr.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_pwr.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_pwr.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_pwr.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_pwr.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_pwr.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_pwr.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_pwr.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_rcc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_rcc.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_rcc.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_rcc.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c 2 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 3 | .\build\stm32f4xx_rcc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_rcc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_rcc.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_rcc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_rcc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_rcc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_rcc.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_rcc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_rcc.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_rcc.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_rcc.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_rng.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_rng.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_rng.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_rng.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rng.c 2 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rng.h 3 | .\build\stm32f4xx_rng.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_rng.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_rng.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_rng.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_rng.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_rng.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_rng.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_rng.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_rng.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_rng.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_rng.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_spi.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_spi.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_spi.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_spi.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c 2 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 3 | .\build\stm32f4xx_spi.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_spi.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_spi.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_spi.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_spi.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_spi.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_spi.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_spi.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_spi.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_spi.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_spi.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_syscfg.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_syscfg.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_syscfg.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_syscfg.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_syscfg.c 2 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 3 | .\build\stm32f4xx_syscfg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_syscfg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_syscfg.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_syscfg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_syscfg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_syscfg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_syscfg.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_syscfg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_syscfg.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_syscfg.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_syscfg.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_tim.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_tim.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_tim.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_tim.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_tim.c 2 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 3 | .\build\stm32f4xx_tim.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_tim.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_tim.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_tim.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_tim.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_tim.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_tim.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_tim.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_tim.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_tim.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_tim.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_usart.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/stm32f4xx_usart.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/stm32f4xx_usart.d: -------------------------------------------------------------------------------- 1 | .\build\stm32f4xx_usart.o: Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_usart.c 2 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 3 | .\build\stm32f4xx_usart.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\stm32f4xx_usart.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\stm32f4xx_usart.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\stm32f4xx_usart.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\stm32f4xx_usart.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\stm32f4xx_usart.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\stm32f4xx_usart.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\stm32f4xx_usart.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\stm32f4xx_usart.o: .\applications\stm32f4xx_conf.h 12 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\stm32f4xx_usart.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\stm32f4xx_usart.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/sys.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/sys.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/sys.d: -------------------------------------------------------------------------------- 1 | .\build\sys.o: system_src\sys.c 2 | .\build\sys.o: system_src\sys.h 3 | .\build\sys.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\sys.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\sys.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\sys.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\sys.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\sys.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\sys.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\sys.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\sys.o: .\applications\stm32f4xx_conf.h 12 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\sys.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\sys.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/system_stm32f4xx.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/system_stm32f4xx.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/system_stm32f4xx.d: -------------------------------------------------------------------------------- 1 | .\build\system_stm32f4xx.o: Libraries\CMSIS\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c 2 | .\build\system_stm32f4xx.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 3 | .\build\system_stm32f4xx.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 4 | .\build\system_stm32f4xx.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\build\system_stm32f4xx.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 6 | .\build\system_stm32f4xx.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 7 | .\build\system_stm32f4xx.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 8 | .\build\system_stm32f4xx.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 9 | .\build\system_stm32f4xx.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 10 | .\build\system_stm32f4xx.o: .\applications\stm32f4xx_conf.h 11 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 12 | .\build\system_stm32f4xx.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 13 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 14 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 15 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 16 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 17 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 18 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 19 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 20 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 21 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 22 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 23 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 24 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 25 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 26 | .\build\system_stm32f4xx.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 27 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/time.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/build/time.crf -------------------------------------------------------------------------------- /CAN_Demo_Keil/build/time.d: -------------------------------------------------------------------------------- 1 | .\build\time.o: ..\..\Quadruped Moco8 BLDC\drivers\time.c 2 | .\build\time.o: ..\..\Quadruped Moco8 BLDC\drivers\time.h 3 | .\build\time.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 4 | .\build\time.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm4.h 5 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\build\time.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h 7 | .\build\time.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h 8 | .\build\time.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h 9 | .\build\time.o: C:\Users\hp\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\mpu_armv7.h 10 | .\build\time.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\system_stm32f4xx.h 11 | .\build\time.o: .\applications\stm32f4xx_conf.h 12 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_adc.h 13 | .\build\time.o: .\Libraries\CMSIS\ST\STM32F4xx\Include\stm32f4xx.h 14 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h 15 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_dma.h 16 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_exti.h 17 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_flash.h 18 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h 19 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_i2c.h 20 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_pwr.h 21 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h 22 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_spi.h 23 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_syscfg.h 24 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_tim.h 25 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_usart.h 26 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_wwdg.h 27 | .\build\time.o: .\Libraries\STM32F4xx_StdPeriph_Driver\inc\misc.h 28 | .\build\time.o: .\applications\include.h 29 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h 30 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 31 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\ctype.h 32 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h 33 | .\build\time.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h 34 | .\build\time.o: .\drivers\time.h 35 | .\build\time.o: .\system_src\delay.h 36 | .\build\time.o: .\system_src\sys.h 37 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/clear编译完的东西.bat: -------------------------------------------------------------------------------- 1 | del build\*.* /q 2 | del *.bak /q 3 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/drivers/can.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/drivers/can.c -------------------------------------------------------------------------------- /CAN_Demo_Keil/drivers/can.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/drivers/can.h -------------------------------------------------------------------------------- /CAN_Demo_Keil/drivers/time.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/drivers/time.c -------------------------------------------------------------------------------- /CAN_Demo_Keil/drivers/time.h: -------------------------------------------------------------------------------- 1 | #ifndef _TIME_H_ 2 | #define _TIME_H_ 3 | 4 | #include "stm32f4xx.h" 5 | 6 | void TIM_INIT(void); 7 | void sys_time(void); 8 | 9 | u16 Get_Time(u8,u16,u16); 10 | 11 | float Get_Cycle_T(u8 ); 12 | 13 | void Cycle_Time_Init(void); 14 | 15 | extern volatile uint32_t sysTickUptime; 16 | extern int time_1h,time_1m,time_1s,time_1ms; 17 | 18 | void Delay_us(uint32_t); 19 | void Delay_ms(uint32_t); 20 | void SysTick_Configuration(void); 21 | uint32_t GetSysTime_us(void); 22 | 23 | 24 | void Initial_Timer_SYS(void); 25 | uint32_t micros(void); 26 | 27 | 28 | #define GET_T_BRAIN 0 29 | #define GET_T_LEG1 1 30 | #define GET_T_LEG2 2 31 | #define GET_T_LEG3 3 32 | #define GET_T_LEG4 4 33 | #define GET_T_TRIG 5 34 | #define GET_T_FUSHION 6 35 | #define GET_T_GPS 7 36 | #define GET_T_TEST 8 37 | #endif 38 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/system_src/delay.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/system_src/delay.c -------------------------------------------------------------------------------- /CAN_Demo_Keil/system_src/delay.h: -------------------------------------------------------------------------------- 1 | #ifndef __DELAY_H 2 | #define __DELAY_H 3 | #include 4 | 5 | void delay_init(u8 SYSCLK); 6 | void delay_ms(u16 nms); 7 | void delay_us(u32 nus); 8 | 9 | #endif 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CAN_Demo_Keil/system_src/sys.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/system_src/sys.c -------------------------------------------------------------------------------- /CAN_Demo_Keil/system_src/sys.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/CAN_Demo_Keil/system_src/sys.h -------------------------------------------------------------------------------- /PCB/CAN_OD节点V1.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/CAN_OD节点V1.xls -------------------------------------------------------------------------------- /PCB/CAN_OD节点V11.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/CAN_OD节点V11.PcbDoc -------------------------------------------------------------------------------- /PCB/ENCODER_OD.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/ENCODER_OD.PcbDoc -------------------------------------------------------------------------------- /PCB/ENCODER_OD.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/ENCODER_OD.xls -------------------------------------------------------------------------------- /PCB/SWD_OD转接.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/SWD_OD转接.xls -------------------------------------------------------------------------------- /PCB/TLE5012B.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/TLE5012B.PcbDoc -------------------------------------------------------------------------------- /PCB/TLE5012B.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/TLE5012B.SchDoc -------------------------------------------------------------------------------- /PCB/TLE5012B.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/TLE5012B.xls -------------------------------------------------------------------------------- /PCB/模型USB.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/模型USB.PcbDoc -------------------------------------------------------------------------------- /PCB/模型USB.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/模型USB.SchDoc -------------------------------------------------------------------------------- /PCB/模型USB.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/PCB/模型USB.xls -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ODrive_Moco_Node 2 | ODrive标准接口板改装套件(https://item.taobao.com/item.htm?spm=2013.1.20141001.1.17183b46KrOuab&id=632458406885&scm=1007.12144.95220.42296_0_0&pvid=72adb4f5-7b2b-47a3-b8f5-6e4415b27182&utparam=%7B%22x_hestia_source%22%3A%2242296%22%2C%22x_object_type%22%3A%22item%22%2C%22x_hestia_subsource%22%3A%22default%22%2C%22x_mt%22%3A0%2C%22x_src%22%3A%2242296%22%2C%22x_pos%22%3A1%2C%22wh_pid%22%3A-1%2C%22x_pvid%22%3A%2272adb4f5-7b2b-47a3-b8f5-6e4415b27182%22%2C%22scm%22%3A%221007.12144.95220.42296_0_0%22%2C%22x_object_id%22%3A632458406885%7D) 3 | 4 | 本项目基于Doggo开源资料设计了一套适用于Odrive-3.5的标准接口板套件,该套件首先对电路板硬件接口进行了整合,采用带锁扣和快速插拔式端子引出所需的通讯,调试与编码器接口; 5 | 为方便目前四足机器人电气设计中常用的CAN通讯,我设计了一个接口板将Odrive串口的ASIIC协议转换为了单帧的CAN通讯协议,从而可以完成对两路电机角度和电流的回传,并且结果直接完成了减速 6 | 比和电机朝向的转换,用户能自定义控制模式直接完成对电机电流、转速和位置的CAN总线命令控制,完成对典型电流限幅等参数的在线配置;同时设计了上位机,在我已有舵狗的Moco通用控制器OCU界面 7 | 中扩展出了对Odrive标定专用的界面,能快速、傻瓜式地完成对电机转向、力矩系数的快速标定,并且实时显示位置闭环等波形系数方便参数调节;在底层构建了完善的保护机制,具有超速飞车保护、通讯丢失等保护,另外为方便多圈角度标零,支持一键快速标零。 8 | 9 | **-如果该项目对您有帮助请 Star 我们的项目-**
10 | **-如果您愿意分享对该项目的优化和改进请联系golaced@163.com或加入我们的QQ群567423074,加速开源项目的进度-**
11 | 12 | ``` 13 | 知乎教程地址: 14 | https://zhuanlan.zhihu.com/p/305642819 15 | https://zhuanlan.zhihu.com/p/270612971 16 | 视频教程地址: 17 | https://www.bilibili.com/video/BV1Bv411r725 18 | https://www.bilibili.com/video/BV1nz4y1y7jD 19 | ``` 20 | 21 | # PCB硬件参数 22 | ____Odrive-Moco接口板套件硬件组成如下图所示,其主要包括编码器接口板:采用PH1.25带锁端子引出两路ABI编码器输入接口;编码器板,与接口板配套板载AS5047带检索高性能磁编码器;SWD下载板,引出Odrive板载STM32下载接口;通讯接口板,使用STM32F4采用串口以ASIIC协议与 23 | Odrive采用5Mbps波特率高速通讯,扩展一路1Mbps CAN完成与主控制器通讯,同时预留USB接口与OCU界面调试并支持以USB接口完成固件更新。
24 | 25 | **硬件参数:** 26 | 27 | 项目|参数 28 | -------------|------------- 29 | 处理器|STM32F405RGT6-2 30 | 处理器性能|32Bit ARM Cortex-M4 168MH 31 | 编码器|TLE5012B 32 | 预留接口|CAN-1 1Mpbs 33 | 供电|5V输入 34 | 35 | **-搭建该项目的方式-** 36 | 37 | 方式|说明|发货周期 38 | -------------|-------------|------------- 39 | 套件购买(**推荐**)|从官方淘宝店购买改装套件(不包ODrive 免费授权)|最长半个月 40 | PCB加工+ODrive购买|自行加工项目文件免费提供PCB文件 +从官方购买Odrive+购买授权码|最长1周 41 | 42 | 方式|说明|开源模式 43 | -------------|-------------|------------- 44 | 节点板单片机程序闭源,持续提供固件更新,硬件PCB开源,需要向官方购买授权码|闭源(目前支持STM32F4系列和Odrive 3.5版本且库与芯片ID绑定) 45 | 提供开源STM32F4下的双通道CAN通讯Keil例程 46 | 47 | 48 | # 捐赠与项目后续开发计划 49 | 如果您觉得该项目对您有帮助,也为了更好的项目推进和软硬件更新,如果愿意请通过微信捐赠该项目! 50 |
51 | -------------------------------------------------------------------------------- /上位机/105上位机.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/上位机/105上位机.rar -------------------------------------------------------------------------------- /上位机/MOCO_OCU图片.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/上位机/MOCO_OCU图片.rar -------------------------------------------------------------------------------- /上位机/上位机1043.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golaced/ODrive_Moco_Node/49b0055b7fd665b859ca41f01f501e1a0386afa4/上位机/上位机1043.rar -------------------------------------------------------------------------------- /上位机/说明.txt: -------------------------------------------------------------------------------- 1 | 图片需解压到D\盘根目录 -------------------------------------------------------------------------------- /说明.txt: -------------------------------------------------------------------------------- 1 | 使用STM32 ST-LINK Utility下载接口板和Odrive固件,连接电机后使用脚本进行标定, 2 | 之后确认编码器连接后使用上位机配置相关参数,详细教程参考知乎 -------------------------------------------------------------------------------- /配置文件/doggo_setup3521.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | """ 3 | Example usage of the ODrive python library to monitor and control ODrive devices 4 | """ 5 | 6 | from __future__ import print_function 7 | 8 | import odrive 9 | from odrive.enums import * 10 | import time 11 | import math 12 | from fibre import Logger, Event 13 | from odrive.utils import OperationAbortedException 14 | from fibre.protocol import ChannelBrokenException 15 | import sys 16 | 17 | def set_gains(odrv,axis): 18 | """ 19 | Sets the nested PID gains to a good default 20 | """ 21 | axis.controller.config.pos_gain = 100.0 #f [(counts/s) / counts] 22 | axis.controller.config.pos_gain = 0.01 #f [(counts/s) / counts] 23 | axis.controller.config.vel_gain = 5.0 / 10000.0 #[A/(counts/s)] 24 | axis.controller.config.vel_limit = 50000.0 25 | axis.controller.config.vel_integrator_gain = 0 #[A/((counts/s) * s)] 26 | 27 | axis.controller.config.kp_theta = 0.04 * 6000 / (2 * math.pi) 28 | axis.controller.config.kd_theta = 5.0 / 10000.0 * 6000 / (2 * math.pi) 29 | axis.controller.config.kp_gamma = 0.0 * 6000 / (2 * math.pi) 30 | axis.controller.config.kd_gamma = 5.0 / 10000.0 * 6000 / (2 * math.pi) 31 | 32 | def calibrate_motor(odrv, axis): 33 | # time.sleep(0.5) 34 | print('Calibrating motor...',end='',flush=True) 35 | run_state(axis, AXIS_STATE_MOTOR_CALIBRATION, True) 36 | axis.motor.config.pre_calibrated = True# then set motor pre calibrated to true 37 | print('Done'); 38 | 39 | def calibrate_motor_and_zencoder(odrv,axis): 40 | """ 41 | Runs motor and encoder calibration (with z index) and saves 42 | Enables closed loop control on startup and encoder search on startup 43 | """ 44 | 45 | calibrate_motor(odrv, axis) 46 | 47 | print('Calibrating encoder...',end='',flush=True) 48 | axis.encoder.config.use_index = True 49 | run_state(axis, AXIS_STATE_ENCODER_INDEX_SEARCH, True) 50 | run_state(axis, AXIS_STATE_ENCODER_OFFSET_CALIBRATION, True) 51 | axis.encoder.config.pre_calibrated = True 52 | print('Done'); 53 | 54 | print('Setting startup flags...',end='',flush=True) 55 | # axis.config.startup_encoder_index_search = True 56 | axis.config.startup_encoder_index_search = True 57 | axis.config.startup_closed_loop_control = True 58 | print('Done with axis.') 59 | 60 | def run_state(axis, requested_state, wait): 61 | """ 62 | Sets the requested state on the given axis. If wait is True, the method 63 | will block until the state goes back to idle. 64 | 65 | Returns whether the odrive went back to idle in the given timeout period, 66 | which is 10s by default. 67 | """ 68 | axis.requested_state = requested_state 69 | timeout_ctr = 100; # 20s timeout for encoder calibration to finish 70 | if wait: 71 | while(timeout_ctr > 0): # waits until state goes back to idle to continue 72 | time.sleep(0.2) 73 | timeout_ctr -= 1 74 | if axis.current_state == AXIS_STATE_IDLE: 75 | break 76 | return timeout_ctr > 0 77 | 78 | def reboot_odrive(odrv): 79 | """ 80 | Reboot odrive 81 | """ 82 | try: 83 | odrv.reboot() 84 | except ChannelBrokenException: 85 | print('Lost connection because of reboot...') 86 | 87 | def reset_odrive(odrv): 88 | """ 89 | Erase config 90 | """ 91 | print('Erasing config and rebooting...') 92 | odrv.erase_configuration() 93 | reboot_odrive(odrv) 94 | 95 | def init_odrive(odrv): 96 | """ 97 | NOTE: does not save 98 | """ 99 | print('Initializing ODrive...') 100 | odrv.config.brake_resistance = 0 101 | 102 | odrv.axis0.motor.config.pole_pairs = 11 103 | odrv.axis1.motor.config.pole_pairs = 11 104 | 105 | odrv.axis0.motor.config.resistance_calib_max_voltage = 4.0 106 | odrv.axis1.motor.config.resistance_calib_max_voltage = 4.0 107 | 108 | odrv.axis0.encoder.config.cpr = 4000 109 | odrv.axis1.encoder.config.cpr = 4000 110 | 111 | odrv.axis0.motor.config.current_lim = 25 #40 112 | odrv.axis1.motor.config.current_lim = 25 #40 113 | 114 | odrv.axis0.motor.config.calibration_current = 10 115 | odrv.axis1.motor.config.calibration_current = 10 116 | 117 | odrv.axis0.motor.config.pre_calibrated = False 118 | odrv.axis1.motor.config.pre_calibrated = False 119 | 120 | odrv.axis0.encoder.config.pre_calibrated = False 121 | odrv.axis1.encoder.config.pre_calibrated = False 122 | print('Done.') 123 | 124 | def set_odrive_limits(odrv,axis,cur_lim): 125 | """ 126 | Set motor current limits 127 | """ 128 | axis.motor.config.current_lim = current_lim 129 | 130 | def calibrate_odrive(odrv): 131 | """ 132 | Calibrate motors and encoders (including index) on both axes 133 | """ 134 | print('Calibrating axes...') 135 | 136 | calibrate_motor_and_zencoder(odrv,odrv.axis0) 137 | calibrate_motor_and_zencoder(odrv,odrv.axis1) 138 | print('Done.') 139 | 140 | def set_odrive_gains(odrv): 141 | """ 142 | Set position control gains for both motors 143 | """ 144 | print('Setting gains...') 145 | set_gains(odrv,odrv.axis0) 146 | set_gains(odrv,odrv.axis1) 147 | print('Done.') 148 | 149 | def test_odrive_motors(odrv): 150 | """ 151 | Give two position commands to both axis 152 | """ 153 | print('Testing motors...') 154 | odrv.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL 155 | odrv.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL 156 | 157 | time.sleep(0.5) 158 | odrv.axis0.controller.set_pos_setpoint(1000.0, 0.0, 0.0) 159 | odrv.axis1.controller.set_pos_setpoint(-1000.0, 0.0, 0.0) 160 | time.sleep(1) 161 | odrv.axis0.controller.set_pos_setpoint(0.0, 0.0, 0.0) 162 | odrv.axis1.controller.set_pos_setpoint(0.0, 0.0, 0.0) 163 | print('Done.') 164 | 165 | def get_odrive(shutdown_token): 166 | """ 167 | Look for and return an odrive connected via usb 168 | """ 169 | 170 | print('Looking for ODrive...') 171 | odrv = odrive.find_any(search_cancellation_token=app_shutdown_token, channel_termination_token=app_shutdown_token) 172 | print('Found.') 173 | return odrv 174 | 175 | def print_configs(odrv0): 176 | """ 177 | Print configuration info 178 | """ 179 | 180 | print('\n\nMOTOR CONFIG') 181 | print(odrv0.axis0.motor.config) 182 | print('\n') 183 | print(odrv0.axis1.motor.config) 184 | print('\n\n ENC CONFIG') 185 | print(odrv0.axis0.encoder.config) 186 | print('\n') 187 | print(odrv0.axis1.encoder.config) 188 | print('\n\n AXIS CONFIG') 189 | print(odrv0.axis0.config) 190 | print('\n') 191 | print(odrv0.axis1.config) 192 | 193 | def full_calibration(app_shutdown_token): 194 | """ 195 | Reset the odrive and calibrate everything: 196 | 1) Gains and limits 197 | 2) Motor 198 | 3) Encoder index 199 | 4) Encoder offset 200 | 5) Set startup 201 | """ 202 | 203 | # Find a connected ODrive (this will block until you connect one) 204 | odrv0 = get_odrive(app_shutdown_token) 205 | reset_odrive(odrv0) 206 | odrv0 = get_odrive(app_shutdown_token) 207 | 208 | init_odrive(odrv0) 209 | set_odrive_gains(odrv0) 210 | calibrate_odrive(odrv0) 211 | 212 | odrv0.save_configuration() 213 | 214 | #run_state(axis=odrv0.axis0, requested_state=AXIS_STATE_CLOSED_LOOP_CONTROL, wait=False); 215 | #run_state(axis=odrv0.axis1, requested_state=AXIS_STATE_CLOSED_LOOP_CONTROL, wait=False); 216 | #odrv0.axis0.controller.pos_setpoint = 0; 217 | #odrv0.axis1.controller.pos_setpoint = 0; 218 | 219 | print_configs(odrv0) 220 | 221 | def bare_bones_calibration(app_shutdown_token, reset=True): 222 | """ 223 | Just calibrate motors and basic gains 224 | """ 225 | print("Run doghome\n ")# odrv0.axis0.requested_state = AXIS_STATE_ENCODER_INDEX_SEARCH odrv0.axis0.encoder.index_found 226 | odrv0 = get_odrive(app_shutdown_token) 227 | if reset: 228 | reset_odrive(odrv0) 229 | odrv0 = get_odrive(app_shutdown_token) 230 | 231 | init_odrive(odrv0) 232 | set_odrive_gains(odrv0) 233 | 234 | calibrate_motor(odrv0, odrv0.axis0) 235 | calibrate_motor(odrv0, odrv0.axis1) 236 | 237 | odrv0.axis0.config.startup_encoder_offset_calibration = True 238 | odrv0.axis1.config.startup_encoder_offset_calibration = True 239 | odrv0.axis0.config.startup_closed_loop_control = True 240 | odrv0.axis1.config.startup_closed_loop_control = True 241 | 242 | odrv0.axis0.encoder.config.use_index = False 243 | odrv0.axis1.encoder.config.use_index = False 244 | odrv0.axis0.config.startup_encoder_index_search =False 245 | odrv0.axis1.config.startup_encoder_index_search =False 246 | odrv0.save_configuration() 247 | 248 | print_configs(odrv0) 249 | 250 | def main(app_shutdown_token): 251 | """ 252 | !! Main program !! 253 | Looks for odrive, then calibrates, then sets gains, then tests motors 254 | 255 | 256 | WARNING: Saving more than twice per boot will cause a reversion of all changes 257 | """ 258 | bare_bones_calibration(app_shutdown_token, reset=True) 259 | #bare_bones_calibration(app_shutdown_token, reset=False) 260 | 261 | import odrive 262 | from fibre import Logger, Event 263 | from odrive.utils import OperationAbortedException 264 | from fibre.protocol import ChannelBrokenException 265 | 266 | app_shutdown_token = Event() 267 | try: 268 | main(app_shutdown_token) 269 | # init_odrive(odrv0) 270 | except OperationAbortedException: 271 | logger.info("Operation aborted.") 272 | finally: 273 | app_shutdown_token.set() 274 | 275 | # encoder calibration 276 | # set use_index ot true 277 | # request encoder_index_search 278 | # pre_calibrated to True 279 | # then change startup to encoder_index_search true 280 | --------------------------------------------------------------------------------