From ac75c9bbf8347c663ba9487b58470beeff8b2ba2 Mon Sep 17 00:00:00 2001 From: Oliver Walter Date: Thu, 15 Feb 2024 18:28:01 +0100 Subject: [PATCH] split into multibe .proto files added strict compiler errors --- Application/Tasks/CanDataTask.c | 2 ++ Application/Tasks/FirmwareHandler.c | 2 ++ Application/Tasks/UsbDataHandler.c | 2 ++ Application/Tasks/UsbDataHandler.h | 2 +- CMakeLists.txt | 15 +++++++++++++-- proto/cls_device.proto | 19 +++++++++++++++++++ proto/firmware.proto | 24 ------------------------ proto/light.proto | 4 ++++ proto/usb.proto | 17 +++++++++++++++++ 9 files changed, 60 insertions(+), 27 deletions(-) create mode 100644 proto/cls_device.proto create mode 100644 proto/light.proto create mode 100644 proto/usb.proto diff --git a/Application/Tasks/CanDataTask.c b/Application/Tasks/CanDataTask.c index 9cdf5c8..cd25fe1 100644 --- a/Application/Tasks/CanDataTask.c +++ b/Application/Tasks/CanDataTask.c @@ -5,6 +5,8 @@ #include "FreeRTOS.h" #include "CLSAddress.h" #include "firmware.pb.h" +#include "cls_device.pb.h" +#include "usb.pb.h" // Define thread flags #define FLAG_FDCAN_RX_FIFO0 (1<<0) diff --git a/Application/Tasks/FirmwareHandler.c b/Application/Tasks/FirmwareHandler.c index bcb0e98..61ee4f0 100644 --- a/Application/Tasks/FirmwareHandler.c +++ b/Application/Tasks/FirmwareHandler.c @@ -2,6 +2,8 @@ #include "fatfs.h" #include "usbd_cdc_if.h" #include "firmware.pb.h" +#include "cls_device.pb.h" +#include "usb.pb.h" #include "cmsis_os2.h" #include #include "UsbDataHandler.h" diff --git a/Application/Tasks/UsbDataHandler.c b/Application/Tasks/UsbDataHandler.c index f049656..9492ab4 100644 --- a/Application/Tasks/UsbDataHandler.c +++ b/Application/Tasks/UsbDataHandler.c @@ -4,6 +4,8 @@ #include "firmware.pb.h" #include "usb_device.h" #include +#include "cls_device.pb.h" +#include "usb.pb.h" /* Declare the thread function */ #define NUM_BUFFERS 4 // Define the number of buffers you want to use diff --git a/Application/Tasks/UsbDataHandler.h b/Application/Tasks/UsbDataHandler.h index 0e4f40f..dda2e4a 100644 --- a/Application/Tasks/UsbDataHandler.h +++ b/Application/Tasks/UsbDataHandler.h @@ -115,7 +115,7 @@ void DataClbk_ResponseDeviceList(void* msg, uint32_t length); void DataClbk_RequestDeviceList(void* msg, uint32_t length); -#include "firmware.pb.h" +#include "usb.pb.h" void USBDataResonse(void * msg, const pb_msgdesc_t *fields, UsbPackageType typeid); #ifdef __cplusplus diff --git a/CMakeLists.txt b/CMakeLists.txt index 931c44b..39a53ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,7 +121,12 @@ add_subdirectory("Application") set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/nanopb/extra) find_package(Nanopb REQUIRED) include_directories(${NANOPB_INCLUDE_DIRS}) -nanopb_generate_cpp(PROTO_SRCS PROTO_HDRS RELPATH proto proto/firmware.proto) +nanopb_generate_cpp(PROTO_SRCS PROTO_HDRS RELPATH proto + proto/firmware.proto + proto/cls_device.proto + proto/light.proto + proto/usb.proto +) add_library(PROTOS ${PROTO_SRCS} ${PROTO_HDRS}) target_include_directories(PROTOS PUBLIC ${NANOPB_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}) include_directories(${PROJECT_BINARY_DIR}) @@ -137,7 +142,13 @@ target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC Tasks CLS CLS_BSP ulog) target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC uart_driver) #target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC lwrb) -target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE -std=c2x) +target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE + -Wall + -Wextra + -Werror + -Wpedantic + -std=c2x +) # Compiler options target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE diff --git a/proto/cls_device.proto b/proto/cls_device.proto new file mode 100644 index 0000000..68c46c0 --- /dev/null +++ b/proto/cls_device.proto @@ -0,0 +1,19 @@ +syntax = "proto2"; + +import "nanopb.proto"; + + +message RequestDeviceList { + required uint32 msg =1; + } + + message Device { + required bool available =1; + required uint32 canid = 2; + required uint32 device = 3; + required uint32 counter = 4; + } + + message ResponseDeviceList { + repeated Device devices = 1 [(nanopb).max_count = 18]; + } \ No newline at end of file diff --git a/proto/firmware.proto b/proto/firmware.proto index 6bba2e3..b6ac635 100644 --- a/proto/firmware.proto +++ b/proto/firmware.proto @@ -3,16 +3,6 @@ syntax = "proto2"; import "nanopb.proto"; -enum UsbPackageType { - FIRMWARESTART = 3841; // 0xF01 - FIRMWAREPACKAGE = 3842; // 0xF02 - FIRMWAREDONE = 3843; // 0xF03 - FIRMWAREPACKAGEACK = 3844; // 0xF04 - FIRMWAREFILECHECK = 3845; // 0xF05 - FIRMWAREUPDATEDONE = 3846; // 0xF06 - REQUEST_DEVICE_LIST = 1000; - RESPONSE_DEVICE_LIST = 1001; -} message FirmwareStart { required string name = 1 [(nanopb).max_size = 32]; @@ -57,17 +47,3 @@ message FirmwareUpdateDone { -message RequestDeviceList { - required uint32 msg =1; -} - -message Device { - required bool available =1; - required uint32 canid = 2; - required uint32 device = 3; - required uint32 counter = 4; -} - -message ResponseDeviceList { - repeated Device devices = 1 [(nanopb).max_count = 18]; -} \ No newline at end of file diff --git a/proto/light.proto b/proto/light.proto new file mode 100644 index 0000000..5dd6872 --- /dev/null +++ b/proto/light.proto @@ -0,0 +1,4 @@ +syntax = "proto2"; + +import "nanopb.proto"; + diff --git a/proto/usb.proto b/proto/usb.proto new file mode 100644 index 0000000..2a7953e --- /dev/null +++ b/proto/usb.proto @@ -0,0 +1,17 @@ +syntax = "proto2"; + +import "nanopb.proto"; + + + +enum UsbPackageType { + FIRMWARESTART = 3841; // 0xF01 + FIRMWAREPACKAGE = 3842; // 0xF02 + FIRMWAREDONE = 3843; // 0xF03 + FIRMWAREPACKAGEACK = 3844; // 0xF04 + FIRMWAREFILECHECK = 3845; // 0xF05 + FIRMWAREUPDATEDONE = 3846; // 0xF06 + REQUEST_DEVICE_LIST = 1000; + RESPONSE_DEVICE_LIST = 1001; + } + \ No newline at end of file