Add CAN communication and GPIO control functionality
- Created HAL configuration file for STM32F1xx (stm32f1xx_hal_conf.h). - Added interrupt handler definitions in stm32f1xx_it.h. - Implemented CAN initialization and configuration in can.c. - Configured GPIO pins for output and external interrupts in gpio.c. - Developed main application logic in main.c for toggling an LED and sending CAN messages. - Implemented MSP initialization and de-initialization for CAN in stm32f1xx_hal_msp.c. - Defined interrupt service routines in stm32f1xx_it.c for CAN and EXTI interrupts. - Added README for project-specific libraries and PlatformIO configuration. - Created platformio.ini for project build settings. - Added stm32pio.ini for CubeMX integration with PlatformIO. - Included README for testing directory to guide unit testing setup.
This commit is contained in:
134
firmware/components/can_testing/canblinker/.vscode/c_cpp_properties.json
vendored
Normal file
134
firmware/components/can_testing/canblinker/.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
//
|
||||
// !!! WARNING !!! AUTO-GENERATED FILE!
|
||||
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
|
||||
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
|
||||
//
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "PlatformIO",
|
||||
"includePath": [
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/Inc",
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/Include",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/Device/ST/STM32F1xx/Include",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/STM32F1xx_HAL_Driver/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/STM32F1xx_HAL_Driver/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/DSP/Include",
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/.pio/libdeps/bluepill_f103c8/Unity/src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/Common",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ak4343",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/cs43l22",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/hx8347d",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ili9320",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ili9325",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/lis302dl",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/spfd5408",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/st7735",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/stlm75",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/stmpe811",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Adafruit_Shield",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/CPU",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/Fonts",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/Log",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Core/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Src",
|
||||
""
|
||||
],
|
||||
"browse": {
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"path": [
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/Inc",
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/Include",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/Device/ST/STM32F1xx/Include",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/STM32F1xx_HAL_Driver/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/STM32F1xx_HAL_Driver/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/CMSIS/DSP/Include",
|
||||
"/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/.pio/libdeps/bluepill_f103c8/Unity/src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/Common",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ak4343",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/cs43l22",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/hx8347d",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ili9320",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/ili9325",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/lis302dl",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/spfd5408",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/st7735",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/stlm75",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Components/stmpe811",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Drivers/BSP/Adafruit_Shield",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/CPU",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/Fonts",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Utilities/Log",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Core/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Inc",
|
||||
"/home/kymkim/.platformio/packages/framework-stm32cubef1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Src",
|
||||
""
|
||||
]
|
||||
},
|
||||
"defines": [
|
||||
"PLATFORMIO=60118",
|
||||
"STM32F1",
|
||||
"STM32F103xB",
|
||||
"USE_HAL_DRIVER",
|
||||
"F_CPU=72000000L",
|
||||
""
|
||||
],
|
||||
"compilerPath": "/home/kymkim/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc",
|
||||
"compilerArgs": [
|
||||
"-mthumb",
|
||||
"-mcpu=cortex-m3",
|
||||
""
|
||||
]
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
10
firmware/components/can_testing/canblinker/.vscode/extensions.json
vendored
Normal file
10
firmware/components/can_testing/canblinker/.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
||||
47
firmware/components/can_testing/canblinker/.vscode/launch.json
vendored
Normal file
47
firmware/components/can_testing/canblinker/.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
|
||||
//
|
||||
// PlatformIO Debugging Solution
|
||||
//
|
||||
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
|
||||
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
|
||||
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug",
|
||||
"executable": "/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/.pio/build/bluepill_f103c8/firmware.elf",
|
||||
"projectEnvName": "bluepill_f103c8",
|
||||
"toolchainBinDir": "/home/kymkim/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/kymkim/.platformio/platforms/ststm32/misc/svd/STM32F103xx.svd",
|
||||
"preLaunchTask": {
|
||||
"type": "PlatformIO",
|
||||
"task": "Pre-Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug (skip Pre-Debug)",
|
||||
"executable": "/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/.pio/build/bluepill_f103c8/firmware.elf",
|
||||
"projectEnvName": "bluepill_f103c8",
|
||||
"toolchainBinDir": "/home/kymkim/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/kymkim/.platformio/platforms/ststm32/misc/svd/STM32F103xx.svd"
|
||||
},
|
||||
{
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug (without uploading)",
|
||||
"executable": "/home/kymkim/Projects/modular-kbd/firmware/components/CAN/CAN-B/.pio/build/bluepill_f103c8/firmware.elf",
|
||||
"projectEnvName": "bluepill_f103c8",
|
||||
"toolchainBinDir": "/home/kymkim/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/kymkim/.platformio/platforms/ststm32/misc/svd/STM32F103xx.svd",
|
||||
"loadMode": "manual"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user