Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ jobs:
find . -type d -name "build" -exec rm -rf {} + ;
mkdir -p build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release .. &&
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=cmake/gcc-arm-none-eabi.cmake .. &&
cmake --build .
'
4 changes: 2 additions & 2 deletions .mxproject

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions AZURE_RTOS/App/app_azure_rtos_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ extern "C" {

#define USE_STATIC_ALLOCATION 1

#define TX_APP_MEM_POOL_SIZE 1024
#define TX_APP_MEM_POOL_SIZE 60040

#define NX_APP_MEM_POOL_SIZE 1024
#define NX_APP_MEM_POOL_SIZE 10240

/* USER CODE BEGIN EC */

Expand Down
225 changes: 112 additions & 113 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,113 +1,112 @@
cmake_minimum_required(VERSION 3.22)

#
# This file is generated only once,
# and is not re-generated if converter is called multiple times.
#
# User is free to modify the file as much as necessary
#

# Setup compiler settings
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)


# Define the build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()

# Set the project name
set(CMAKE_PROJECT_NAME Lightning)

# Include toolchain file
include("cmake/gcc-arm-none-eabi.cmake")

# Enable compile command to ease indexing with e.g. clangd
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)

# Core project settings
project(${CMAKE_PROJECT_NAME})
message("Build type: " ${CMAKE_BUILD_TYPE})

# Display ASCII art at start of build
if(EXISTS "${CMAKE_SOURCE_DIR}/art")
file(READ "${CMAKE_SOURCE_DIR}/art" ASCII_ART)
message("${ASCII_ART}")
endif()

# Enable CMake support for ASM and C languages
enable_language(C ASM)

# Create an executable object type
add_executable(${CMAKE_PROJECT_NAME})

# Add STM32CubeMX generated sources
add_subdirectory(cmake/stm32cubemx)

# Link directories setup
target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined library search paths
)

# Add sources to executable
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
# Add user sources here

# ThreadX Utils
"./Drivers/Embedded-Base/platforms/stm32h563/src/fdcan.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_debug.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_mutex.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_queues.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_threads.c"
"./Drivers/Embedded-Base/middleware/src/bitstream.c"
"./Drivers/Embedded-Base/middleware/src/c_utils.c"

# Peripheral Drivers
"../Drivers/Embedded-Base/general/include/lsm6dsv_reg.h"
"../Drivers/Embedded-Base/general/src/lsm6dsv_reg.c"
"./Drivers/Embedded-Base/general/src/as3935.c"
"../Drivers/Embedded-Base/general/src/lis2mdl_reg.c"

# Core
"./Core/Src/u_test.c"
"./Core/Src/u_inbox.c"
"./Core/Src/u_sensors.c"
"./Core/Src/u_threads.c"
"./Core/Src/u_statemachine.c"
"./Core/Src/u_queues.c"
"./Core/Src/u_can.c"
"./Core/Src/u_mutexes.c"

# gen
"./Core/Src/can_messages_tx.c"
)

# Add include paths
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined include paths
"./Drivers/Embedded-Base/general/include/"
"./Drivers/Embedded-Base/middleware/include/"
"./Drivers/Embedded-Base/platforms/stm32h563/include/"
"./Drivers/Embedded-Base/threadX/inc/"
"./NetXDuo"
"./Core/Inc/"
)

# Add project symbols (macros)
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined symbols
)

# Compiler options
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
-Wno-unused-parameter # u_TODO - this doesn't seem to be working
)

# Add linked libraries
target_link_libraries(${CMAKE_PROJECT_NAME}
stm32cubemx

# Add user defined libraries
)
cmake_minimum_required(VERSION 3.22)

#
# This file is generated only once,
# and is not re-generated if converter is called multiple times.
#
# User is free to modify the file as much as necessary
#

# Setup compiler settings
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_COMPILER "/opt/homebrew/bin/arm-none-eabi-gcc")


# Define the build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()

# Set the project name
set(CMAKE_PROJECT_NAME Lightning)


# Enable compile command to ease indexing with e.g. clangd
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)

# Core project settings
project(${CMAKE_PROJECT_NAME})
message("Build type: " ${CMAKE_BUILD_TYPE})

# Display ASCII art at start of build
if(EXISTS "${CMAKE_SOURCE_DIR}/art")
file(READ "${CMAKE_SOURCE_DIR}/art" ASCII_ART)
message("${ASCII_ART}")
endif()

# Enable CMake support for ASM and C languages
enable_language(C ASM)

# Create an executable object type
add_executable(${CMAKE_PROJECT_NAME})

# Add STM32CubeMX generated sources
add_subdirectory(cmake/stm32cubemx)

# Link directories setup
target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined library search paths
)

# Add sources to executable
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
# Add user sources here

# ThreadX Utils
"./Drivers/Embedded-Base/platforms/stm32h563/src/fdcan.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_debug.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_mutex.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_queues.c"
"./Drivers/Embedded-Base/threadX/src/u_tx_threads.c"
"./Drivers/Embedded-Base/middleware/src/bitstream.c"
"./Drivers/Embedded-Base/middleware/src/c_utils.c"

# Peripheral Drivers
"../Drivers/Embedded-Base/general/include/lsm6dsv_reg.h"
"../Drivers/Embedded-Base/general/src/lsm6dsv_reg.c"
"./Drivers/Embedded-Base/general/src/as3935.c"
"../Drivers/Embedded-Base/general/src/lis2mdl_reg.c"

# Core
"./Core/Src/u_test.c"
"./Core/Src/u_inbox.c"
"./Core/Src/u_sensors.c"
"./Core/Src/u_threads.c"
"./Core/Src/u_statemachine.c"
"./Core/Src/u_queues.c"
"./Core/Src/u_can.c"
"./Core/Src/u_mutexes.c"

# gen
"./Core/Src/can_messages_tx.c"
)

# Add include paths
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined include paths
"./Drivers/Embedded-Base/general/include/"
"./Drivers/Embedded-Base/middleware/include/"
"./Drivers/Embedded-Base/platforms/stm32h563/include/"
"./Drivers/Embedded-Base/threadX/inc/"
"./NetXDuo"
"./Core/Inc/"
)

# Add project symbols (macros)
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined symbols
)

# Compiler options
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
-Wno-unused-parameter # u_TODO - this doesn't seem to be working
)

# Add linked libraries
target_link_libraries(${CMAKE_PROJECT_NAME}
stm32cubemx

# Add user defined libraries
)
6 changes: 6 additions & 0 deletions Core/Inc/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ void Error_Handler(void);
#define GREEN_GPIO_Port GPIOE
#define IMU_INT1_Pin GPIO_PIN_13
#define IMU_INT1_GPIO_Port GPIOC
#define SPI2_NSS_Pin GPIO_PIN_3
#define SPI2_NSS_GPIO_Port GPIOA
#define SPI3_NSS_Pin GPIO_PIN_4
#define SPI3_NSS_GPIO_Port GPIOA
#define SPI1_NSS_Pin GPIO_PIN_10
#define SPI1_NSS_GPIO_Port GPIOG

/* USER CODE BEGIN Private defines */

Expand Down
1 change: 1 addition & 0 deletions Core/Inc/stm32h5xx_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ void BusFault_Handler(void);
void UsageFault_Handler(void);
void DebugMon_Handler(void);
void TIM2_IRQHandler(void);
void FDCAN2_IT0_IRQHandler(void);
/* USER CODE BEGIN EFP */

/* USER CODE END EFP */
Expand Down
4 changes: 2 additions & 2 deletions Core/Src/app_threadx.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ UINT App_ThreadX_Init(VOID *memory_ptr)
/* Init user-written code that uses ThreadX stuff here. */
CATCH_ERROR(queues_init(byte_pool), U_SUCCESS);
CATCH_ERROR(mutexes_init(), U_SUCCESS);
CATCH_ERROR(init_imu(), U_SUCCESS);
// CATCH_ERROR(init_imu(), U_SUCCESS);
CATCH_ERROR(init_lightning_sensor(), U_SUCCESS);
CATCH_ERROR(init_magnetometer(), U_SUCCESS);
// CATCH_ERROR(init_magnetometer(), U_SUCCESS);
CATCH_ERROR(threads_init(byte_pool), U_SUCCESS);

/* USER CODE END App_ThreadX_MEM_POOL */
Expand Down
Loading
Loading