From ca603115cb3f570e4d8ba20607ac24b4352ddbd6 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sat, 19 Jul 2025 21:58:58 -0700 Subject: [PATCH] Include from project root (#2232) * fix include paths * cleanup --- SConscript | 5 +-- board/bootstub.c | 18 +++++------ board/config.h | 4 +-- board/drivers/fake_siren.h | 2 +- board/drivers/spi.h | 4 +-- board/drivers/spi_declarations.h | 2 +- board/jungle/stm32h7/board.h | 6 ++-- board/main.c | 32 +++++++++---------- board/stm32f4/board.h | 16 +++++----- board/stm32f4/stm32f4_config.h | 46 +++++++++++++-------------- board/stm32h7/board.h | 24 +++++++------- board/stm32h7/stm32h7_config.h | 54 +++++++++++++++++--------------- tests/misra/checkers.txt | 4 +-- tests/misra/test_misra.sh | 8 ++--- 14 files changed, 113 insertions(+), 112 deletions(-) diff --git a/SConscript b/SConscript index 1a4c875b..40008f77 100644 --- a/SConscript +++ b/SConscript @@ -80,10 +80,7 @@ def build_project(project_name, project, extra_flags): ] includes = [ - '.', - '..', - panda_root, - f"{panda_root}/board/", + '#', opendbc.INCLUDE_PATH, ] diff --git a/board/bootstub.c b/board/bootstub.c index 5e05fa66..aa4572c8 100644 --- a/board/bootstub.c +++ b/board/bootstub.c @@ -4,21 +4,21 @@ #define MIN_VERSION 2 // ********************* Includes ********************* -#include "config.h" +#include "board/config.h" -#include "drivers/led.h" -#include "drivers/pwm.h" -#include "drivers/usb.h" +#include "board/drivers/led.h" +#include "board/drivers/pwm.h" +#include "board/drivers/usb.h" -#include "early_init.h" -#include "provision.h" +#include "board/early_init.h" +#include "board/provision.h" #include "crypto/rsa.h" #include "crypto/sha.h" -#include "obj/cert.h" -#include "obj/gitversion.h" -#include "flasher.h" +#include "board/obj/cert.h" +#include "board/obj/gitversion.h" +#include "board/flasher.h" // cppcheck-suppress unusedFunction ; used in headers not included in cppcheck void __initialize_hardware_early(void) { diff --git a/board/config.h b/board/config.h index 6fb95ada..94ef5490 100644 --- a/board/config.h +++ b/board/config.h @@ -34,9 +34,9 @@ // platform includes #ifdef STM32H7 - #include "stm32h7/stm32h7_config.h" + #include "board/stm32h7/stm32h7_config.h" #elif defined(STM32F4) - #include "stm32f4/stm32f4_config.h" + #include "board/stm32f4/stm32f4_config.h" #else // TODO: uncomment this, cppcheck complains // building for tests diff --git a/board/drivers/fake_siren.h b/board/drivers/fake_siren.h index 9468afd8..4bce95bd 100644 --- a/board/drivers/fake_siren.h +++ b/board/drivers/fake_siren.h @@ -1,4 +1,4 @@ -#include "stm32h7/lli2c.h" +#include "board/stm32h7/lli2c.h" #define CODEC_I2C_ADDR 0x10 diff --git a/board/drivers/spi.h b/board/drivers/spi.h index 50a765d8..7dbdd35f 100644 --- a/board/drivers/spi.h +++ b/board/drivers/spi.h @@ -1,7 +1,7 @@ #pragma once -#include "spi_declarations.h" -#include "crc.h" +#include "board/drivers/spi_declarations.h" +#include "board/crc.h" #ifdef STM32H7 #define SPI_BUF_SIZE 2048U diff --git a/board/drivers/spi_declarations.h b/board/drivers/spi_declarations.h index 2cbe4c26..4b613343 100644 --- a/board/drivers/spi_declarations.h +++ b/board/drivers/spi_declarations.h @@ -1,6 +1,6 @@ #pragma once -#include "crc.h" +#include "board/crc.h" #define SPI_TIMEOUT_US 10000U diff --git a/board/jungle/stm32h7/board.h b/board/jungle/stm32h7/board.h index 4fe4fa46..e54f0c70 100644 --- a/board/jungle/stm32h7/board.h +++ b/board/jungle/stm32h7/board.h @@ -1,7 +1,7 @@ -#include "boards/board_declarations.h" +#include "board/jungle/boards/board_declarations.h" -#include "stm32h7/lladc.h" -#include "boards/board_v2.h" +#include "board/jungle/stm32h7/lladc.h" +#include "board/jungle/boards/board_v2.h" void detect_board_type(void) { hw_type = HW_TYPE_V2; diff --git a/board/main.c b/board/main.c index 76a5a26b..851563c7 100644 --- a/board/main.c +++ b/board/main.c @@ -1,33 +1,33 @@ // ********************* Includes ********************* -#include "config.h" +#include "board/config.h" -#include "drivers/led.h" -#include "drivers/pwm.h" -#include "drivers/usb.h" -#include "drivers/simple_watchdog.h" -#include "drivers/bootkick.h" +#include "board/drivers/led.h" +#include "board/drivers/pwm.h" +#include "board/drivers/usb.h" +#include "board/drivers/simple_watchdog.h" +#include "board/drivers/bootkick.h" -#include "early_init.h" -#include "provision.h" +#include "board/early_init.h" +#include "board/provision.h" #include "opendbc/safety/safety.h" -#include "health.h" +#include "board/health.h" -#include "drivers/can_common.h" +#include "board/drivers/can_common.h" #ifdef STM32H7 - #include "drivers/fdcan.h" + #include "board/drivers/fdcan.h" #else - #include "drivers/bxcan.h" + #include "board/drivers/bxcan.h" #endif -#include "power_saving.h" +#include "board/power_saving.h" -#include "obj/gitversion.h" +#include "board/obj/gitversion.h" -#include "can_comms.h" -#include "main_comms.h" +#include "board/can_comms.h" +#include "board/main_comms.h" // ********************* Serial debugging ********************* diff --git a/board/stm32f4/board.h b/board/stm32f4/board.h index f8368fe0..455f7c3c 100644 --- a/board/stm32f4/board.h +++ b/board/stm32f4/board.h @@ -1,16 +1,16 @@ // ///////////////////////////////////////////////////////////// // // Hardware abstraction layer for all different supported boards // // ///////////////////////////////////////////////////////////// // -#include "boards/board_declarations.h" -#include "boards/unused_funcs.h" +#include "board/boards/board_declarations.h" +#include "board/boards/unused_funcs.h" // ///// Board definition and detection ///// // -#include "stm32f4/lladc.h" -#include "drivers/harness.h" -#include "drivers/fan.h" -#include "stm32f4/llfan.h" -#include "drivers/clock_source.h" -#include "boards/dos.h" +#include "board/stm32f4/lladc.h" +#include "board/drivers/harness.h" +#include "board/drivers/fan.h" +#include "board/stm32f4/llfan.h" +#include "board/drivers/clock_source.h" +#include "board/boards/dos.h" void detect_board_type(void) { set_gpio_output(GPIOC, 14, 1); diff --git a/board/stm32f4/stm32f4_config.h b/board/stm32f4/stm32f4_config.h index 81563566..1af38f8e 100644 --- a/board/stm32f4/stm32f4_config.h +++ b/board/stm32f4/stm32f4_config.h @@ -1,5 +1,5 @@ -#include "stm32f4/inc/stm32f4xx.h" -#include "stm32f4/inc/stm32f4xx_hal_gpio_ex.h" +#include "stm32f4xx.h" +#include "stm32f4xx_hal_gpio_ex.h" #define MCU_IDCODE 0x463U #define CORE_FREQ 96U // in MHz @@ -30,41 +30,41 @@ #define PROVISION_CHUNK_ADDRESS 0x1FFF79E0U #define DEVICE_SERIAL_NUMBER_ADDRESS 0x1FFF79C0U -#include "can.h" -#include "comms_definitions.h" +#include "board/can.h" +#include "board/comms_definitions.h" #ifndef BOOTSTUB - #include "main_definitions.h" + #include "board/main_definitions.h" #else - #include "bootstub_declarations.h" + #include "board/bootstub_declarations.h" #endif -#include "libc.h" -#include "critical.h" -#include "faults.h" -#include "utils.h" +#include "board/libc.h" +#include "board/critical.h" +#include "board/faults.h" +#include "board/utils.h" -#include "drivers/registers.h" -#include "drivers/interrupts.h" -#include "drivers/gpio.h" -#include "stm32f4/peripherals.h" -#include "stm32f4/interrupt_handlers.h" -#include "drivers/timers.h" -#include "stm32f4/board.h" -#include "stm32f4/clock.h" +#include "board/drivers/registers.h" +#include "board/drivers/interrupts.h" +#include "board/drivers/gpio.h" +#include "board/stm32f4/peripherals.h" +#include "board/stm32f4/interrupt_handlers.h" +#include "board/drivers/timers.h" +#include "board/stm32f4/board.h" +#include "board/stm32f4/clock.h" #if !defined(BOOTSTUB) - #include "drivers/uart.h" - #include "stm32f4/lluart.h" + #include "board/drivers/uart.h" + #include "board/stm32f4/lluart.h" #endif #ifdef BOOTSTUB - #include "stm32f4/llflash.h" + #include "board/stm32f4/llflash.h" #else - #include "stm32f4/llbxcan.h" + #include "board/stm32f4/llbxcan.h" #endif -#include "stm32f4/llusb.h" +#include "board/stm32f4/llusb.h" // unused void spi_init(void) {}; diff --git a/board/stm32h7/board.h b/board/stm32h7/board.h index 0507ca3f..04c4162d 100644 --- a/board/stm32h7/board.h +++ b/board/stm32h7/board.h @@ -1,20 +1,20 @@ // ///////////////////////////////////////////////////////////// // // Hardware abstraction layer for all different supported boards // // ///////////////////////////////////////////////////////////// // -#include "boards/board_declarations.h" -#include "boards/unused_funcs.h" +#include "board/boards/board_declarations.h" +#include "board/boards/unused_funcs.h" // ///// Board definition and detection ///// // -#include "stm32h7/lladc.h" -#include "drivers/harness.h" -#include "drivers/fan.h" -#include "stm32h7/llfan.h" -#include "drivers/fake_siren.h" -#include "stm32h7/sound.h" -#include "drivers/clock_source.h" -#include "boards/red.h" -#include "boards/tres.h" -#include "boards/cuatro.h" +#include "board/stm32h7/lladc.h" +#include "board/drivers/harness.h" +#include "board/drivers/fan.h" +#include "board/stm32h7/llfan.h" +#include "board/drivers/fake_siren.h" +#include "board/stm32h7/sound.h" +#include "board/drivers/clock_source.h" +#include "board/boards/red.h" +#include "board/boards/tres.h" +#include "board/boards/cuatro.h" void detect_board_type(void) { diff --git a/board/stm32h7/stm32h7_config.h b/board/stm32h7/stm32h7_config.h index 4355fe8e..5e7dcb0c 100644 --- a/board/stm32h7/stm32h7_config.h +++ b/board/stm32h7/stm32h7_config.h @@ -1,5 +1,5 @@ -#include "stm32h7/inc/stm32h7xx.h" -#include "stm32h7/inc/stm32h7xx_hal_gpio_ex.h" +#include "stm32h7xx.h" +#include "stm32h7xx_hal_gpio_ex.h" #define MCU_IDCODE 0x483U #define CORE_FREQ 240U // in Mhz @@ -43,45 +43,49 @@ separate IRQs for RX and TX. #define PROVISION_CHUNK_ADDRESS 0x080FFFE0U #define DEVICE_SERIAL_NUMBER_ADDRESS 0x080FFFC0U -#include "can.h" -#include "comms_definitions.h" +#include "board/can.h" +#include "board/comms_definitions.h" #ifndef BOOTSTUB - #include "main_definitions.h" + #include "board/main_definitions.h" #else - #include "bootstub_declarations.h" + #include "board/bootstub_declarations.h" #endif -#include "libc.h" -#include "critical.h" -#include "faults.h" -#include "utils.h" +#include "board/libc.h" +#include "board/critical.h" +#include "board/faults.h" +#include "board/utils.h" -#include "drivers/registers.h" -#include "drivers/interrupts.h" -#include "drivers/gpio.h" -#include "stm32h7/peripherals.h" -#include "stm32h7/interrupt_handlers.h" -#include "drivers/timers.h" +#include "board/drivers/registers.h" +#include "board/drivers/interrupts.h" +#include "board/drivers/gpio.h" +#include "board/stm32h7/peripherals.h" +#include "board/stm32h7/interrupt_handlers.h" +#include "board/drivers/timers.h" #if !defined(BOOTSTUB) - #include "drivers/uart.h" - #include "stm32h7/lluart.h" + #include "board/drivers/uart.h" + #include "board/stm32h7/lluart.h" #endif -#include "stm32h7/board.h" -#include "stm32h7/clock.h" +#ifdef PANDA_JUNGLE +#include "board/jungle/stm32h7/board.h" +#else +#include "board/stm32h7/board.h" +#endif +#include "board/stm32h7/clock.h" #ifdef BOOTSTUB - #include "stm32h7/llflash.h" + #include "board/stm32h7/llflash.h" #else - #include "stm32h7/llfdcan.h" + #include "board/stm32h7/llfdcan.h" #endif -#include "stm32h7/llusb.h" +#include "board/stm32h7/llusb.h" -#include "drivers/spi.h" -#include "stm32h7/llspi.h" +#include "board/drivers/spi.h" +#include "board/stm32h7/llspi.h" void early_gpio_float(void) { RCC->AHB4ENR = RCC_AHB4ENR_GPIOAEN | RCC_AHB4ENR_GPIOBEN | RCC_AHB4ENR_GPIOCEN | RCC_AHB4ENR_GPIODEN | RCC_AHB4ENR_GPIOEEN | RCC_AHB4ENR_GPIOFEN | RCC_AHB4ENR_GPIOGEN | RCC_AHB4ENR_GPIOHEN; diff --git a/tests/misra/checkers.txt b/tests/misra/checkers.txt index c819db62..0c8b0d77 100644 --- a/tests/misra/checkers.txt +++ b/tests/misra/checkers.txt @@ -5,7 +5,7 @@ Cppcheck checkers list from test_misra.sh: TEST variant options: ---enable=all --disable=unusedFunction --addon=misra -DSTM32F4 -DSTM32F413xx /board/main.c +--enable=all --disable=unusedFunction --addon=misra -DSTM32F4 -DSTM32F413xx -I /board/stm32f4/inc/ /board/main.c Critical errors @@ -460,7 +460,7 @@ Not available, Cppcheck Premium is not used TEST variant options: ---enable=all --disable=unusedFunction --addon=misra -DSTM32H7 -DSTM32H725xx /board/main.c +--enable=all --disable=unusedFunction --addon=misra -DSTM32H7 -DSTM32H725xx -I /board/stm32h7/inc/ /board/main.c Critical errors diff --git a/tests/misra/test_misra.sh b/tests/misra/test_misra.sh index 950050c2..a50edfdd 100755 --- a/tests/misra/test_misra.sh +++ b/tests/misra/test_misra.sh @@ -45,9 +45,9 @@ cppcheck() { echo -e "\n\n\n\n\nTEST variant options:" >> $CHECKLIST echo -e ""${@//$PANDA_DIR/}"\n\n" >> $CHECKLIST # (absolute path removed) - $CPPCHECK_DIR/cppcheck --inline-suppr -I $PANDA_DIR/board/ \ + $CPPCHECK_DIR/cppcheck --inline-suppr \ + -I $PANDA_DIR \ -I "$(arm-none-eabi-gcc -print-file-name=include)" \ - -I $PANDA_DIR/board/stm32f4/inc/ -I $PANDA_DIR/board/stm32h7/inc/ \ -I $OPENDBC_ROOT \ --suppressions-list=$DIR/suppressions.txt --suppress=*:*inc/* \ --suppress=*:*include/* --error-exitcode=2 --check-level=exhaustive --safety \ @@ -67,10 +67,10 @@ cppcheck() { PANDA_OPTS="--enable=all --disable=unusedFunction --addon=misra" printf "\n${GREEN}** PANDA F4 CODE **${NC}\n" -cppcheck $PANDA_OPTS -DSTM32F4 -DSTM32F413xx $PANDA_DIR/board/main.c +cppcheck $PANDA_OPTS -DSTM32F4 -DSTM32F413xx -I $PANDA_DIR/board/stm32f4/inc/ $PANDA_DIR/board/main.c printf "\n${GREEN}** PANDA H7 CODE **${NC}\n" -cppcheck $PANDA_OPTS -DSTM32H7 -DSTM32H725xx $PANDA_DIR/board/main.c +cppcheck $PANDA_OPTS -DSTM32H7 -DSTM32H725xx -I $PANDA_DIR/board/stm32h7/inc/ $PANDA_DIR/board/main.c # unused needs to run globally #printf "\n${GREEN}** UNUSED ALL CODE **${NC}\n"