diff --git a/board/can_comms.h b/board/can_comms.h index 980d12ba..56ca912f 100644 --- a/board/can_comms.h +++ b/board/can_comms.h @@ -56,7 +56,7 @@ int comms_can_read(uint8_t *data, uint32_t max_len) { asm_buffer can_write_buffer = {.ptr = 0U, .tail_size = 0U}; // send on CAN -void comms_can_write(uint8_t *data, uint32_t len) { +void comms_can_write(const uint8_t *data, uint32_t len) { uint32_t pos = 0U; // Assembling can message with data from buffer diff --git a/board/comms_definitions.h b/board/comms_definitions.h index d074514d..18a6d2f8 100644 --- a/board/comms_definitions.h +++ b/board/comms_definitions.h @@ -6,7 +6,7 @@ typedef struct { } __attribute__((packed)) ControlPacket_t; int comms_control_handler(ControlPacket_t *req, uint8_t *resp); -void comms_endpoint2_write(uint8_t *data, uint32_t len); -void comms_can_write(uint8_t *data, uint32_t len); +void comms_endpoint2_write(const uint8_t *data, uint32_t len); +void comms_can_write(const uint8_t *data, uint32_t len); int comms_can_read(uint8_t *data, uint32_t max_len); void comms_can_reset(void); diff --git a/board/crc.h b/board/crc.h index 6ceaba07..3e20fb09 100644 --- a/board/crc.h +++ b/board/crc.h @@ -1,6 +1,6 @@ #pragma once -uint8_t crc_checksum(uint8_t *dat, int len, const uint8_t poly) { +uint8_t crc_checksum(const uint8_t *dat, int len, const uint8_t poly) { uint8_t crc = 0xFFU; int i; int j; diff --git a/board/drivers/can_common.h b/board/drivers/can_common.h index 5c538628..574c7cfd 100644 --- a/board/drivers/can_common.h +++ b/board/drivers/can_common.h @@ -95,7 +95,7 @@ bool can_pop(can_ring *q, CANPacket_t *elem) { return ret; } -bool can_push(can_ring *q, CANPacket_t *elem) { +bool can_push(can_ring *q, const CANPacket_t *elem) { bool ret = false; uint32_t next_w_ptr; @@ -133,7 +133,7 @@ bool can_push(can_ring *q, CANPacket_t *elem) { return ret; } -uint32_t can_slots_empty(can_ring *q) { +uint32_t can_slots_empty(const can_ring *q) { uint32_t ret = 0; ENTER_CRITICAL(); @@ -238,7 +238,7 @@ bool can_tx_check_min_slots_free(uint32_t min) { (can_slots_empty(&can_txgmlan_q) >= min); } -uint8_t calculate_checksum(uint8_t *dat, uint32_t len) { +uint8_t calculate_checksum(const uint8_t *dat, uint32_t len) { uint8_t checksum = 0U; for (uint32_t i = 0U; i < len; i++) { checksum ^= dat[i]; diff --git a/board/drivers/gmlan_alt.h b/board/drivers/gmlan_alt.h index 2915c1bf..407062bb 100644 --- a/board/drivers/gmlan_alt.h +++ b/board/drivers/gmlan_alt.h @@ -12,7 +12,7 @@ int gmlan_alt_mode = DISABLED; // returns out_len -int do_bitstuff(char *out, char *in, int in_len) { +int do_bitstuff(char *out, const char *in, int in_len) { int last_bit = -1; int bit_cnt = 0; int j = 0; @@ -57,7 +57,7 @@ int append_crc(char *in, int in_len) { return in_len_copy; } -int append_bits(char *in, int in_len, char *app, int app_len) { +int append_bits(char *in, int in_len, const char *app, int app_len) { int in_len_copy = in_len; for (int i = 0; i < app_len; i++) { in[in_len_copy] = app[i]; @@ -75,7 +75,7 @@ int append_int(char *in, int in_len, int val, int val_len) { return in_len_copy; } -int get_bit_message(char *out, CANPacket_t *to_bang) { +int get_bit_message(char *out, const CANPacket_t *to_bang) { char pkt[MAX_BITS_CAN_PACKET]; char footer[] = { 1, // CRC delimiter @@ -268,7 +268,7 @@ void TIM12_IRQ_Handler(void) { TIM12->SR = 0; } -bool bitbang_gmlan(CANPacket_t *to_bang) { +bool bitbang_gmlan(const CANPacket_t *to_bang) { gmlan_send_ok = true; gmlan_alt_mode = BITBANG; diff --git a/board/drivers/gpio.h b/board/drivers/gpio.h index 477dc386..bf96a032 100644 --- a/board/drivers/gpio.h +++ b/board/drivers/gpio.h @@ -64,7 +64,7 @@ void set_gpio_pullup(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) { EXIT_CRITICAL(); } -int get_gpio_input(GPIO_TypeDef *GPIO, unsigned int pin) { +int get_gpio_input(const GPIO_TypeDef *GPIO, unsigned int pin) { return (GPIO->IDR & (1UL << pin)) == (1UL << pin); } diff --git a/board/drivers/spi.h b/board/drivers/spi.h index ea704eb1..1a7b9be5 100644 --- a/board/drivers/spi.h +++ b/board/drivers/spi.h @@ -111,7 +111,7 @@ void spi_init(void) { llspi_mosi_dma(spi_buf_rx, SPI_HEADER_SIZE); } -bool validate_checksum(uint8_t *data, uint16_t len) { +bool validate_checksum(const uint8_t *data, uint16_t len) { // TODO: can speed this up by casting the bulk to uint32_t and xor-ing the bytes afterwards uint8_t checksum = SPI_CHECKSUM_START; for(uint16_t i = 0U; i < len; i++){ diff --git a/board/drivers/uart.h b/board/drivers/uart.h index b62bc979..e37dfcd6 100644 --- a/board/drivers/uart.h +++ b/board/drivers/uart.h @@ -131,7 +131,7 @@ bool put_char(uart_ring *q, char elem) { // Seems dangerous to use (might lock CPU if called with interrupts disabled f.e.) // TODO: Remove? Not used anyways -void uart_flush(uart_ring *q) { +void uart_flush(const uart_ring *q) { while (q->w_ptr_tx != q->r_ptr_tx) { __WFI(); } diff --git a/board/flasher.h b/board/flasher.h index 495d9f16..eec0ec5d 100644 --- a/board/flasher.h +++ b/board/flasher.h @@ -99,7 +99,7 @@ int comms_control_handler(ControlPacket_t *req, uint8_t *resp) { return resp_len; } -void comms_can_write(uint8_t *data, uint32_t len) { +void comms_can_write(const uint8_t *data, uint32_t len) { UNUSED(data); UNUSED(len); } @@ -112,7 +112,7 @@ int comms_can_read(uint8_t *data, uint32_t max_len) { void refresh_can_tx_slots_available(void) {} -void comms_endpoint2_write(uint8_t *data, uint32_t len) { +void comms_endpoint2_write(const uint8_t *data, uint32_t len) { current_board->set_led(LED_RED, 0); for (uint32_t i = 0; i < len/4; i++) { flash_write_word(prog_ptr, *(uint32_t*)(data+(i*4))); diff --git a/board/jungle/main_comms.h b/board/jungle/main_comms.h index 737c9084..928c554d 100644 --- a/board/jungle/main_comms.h +++ b/board/jungle/main_comms.h @@ -29,7 +29,7 @@ int get_jungle_health_pkt(void *dat) { } // send on serial, first byte to select the ring -void comms_endpoint2_write(uint8_t *data, uint32_t len) { +void comms_endpoint2_write(const uint8_t *data, uint32_t len) { UNUSED(data); UNUSED(len); } diff --git a/board/main_comms.h b/board/main_comms.h index 4b41b715..4adfc8d7 100644 --- a/board/main_comms.h +++ b/board/main_comms.h @@ -55,7 +55,7 @@ int get_rtc_pkt(void *dat) { } // send on serial, first byte to select the ring -void comms_endpoint2_write(uint8_t *data, uint32_t len) { +void comms_endpoint2_write(const uint8_t *data, uint32_t len) { uart_ring *ur = get_ring_by_number(data[0]); if ((len != 0U) && (ur != NULL)) { if ((data[0] < 2U) || (data[0] >= 4U)) { diff --git a/board/pedal/main.c b/board/pedal/main.c index 6c7cc17c..704ee543 100644 --- a/board/pedal/main.c +++ b/board/pedal/main.c @@ -46,11 +46,11 @@ int comms_can_read(uint8_t *data, uint32_t max_len) { UNUSED(max_len); return 0; } -void comms_can_write(uint8_t *data, uint32_t len) { +void comms_can_write(const uint8_t *data, uint32_t len) { UNUSED(data); UNUSED(len); } -void comms_endpoint2_write(uint8_t *data, uint32_t len) { +void comms_endpoint2_write(const uint8_t *data, uint32_t len) { UNUSED(data); UNUSED(len); } diff --git a/board/safety.h b/board/safety.h index abbd51d3..be0ca718 100644 --- a/board/safety.h +++ b/board/safety.h @@ -123,7 +123,7 @@ void gen_crc_lookup_table_16(uint16_t poly, uint16_t crc_lut[]) { } } -bool msg_allowed(CANPacket_t *to_send, const CanMsg msg_list[], int len) { +bool msg_allowed(const CANPacket_t *to_send, const CanMsg msg_list[], int len) { int addr = GET_ADDR(to_send); int bus = GET_BUS(to_send); int length = GET_LEN(to_send); @@ -138,7 +138,7 @@ bool msg_allowed(CANPacket_t *to_send, const CanMsg msg_list[], int len) { return allowed; } -int get_addr_check_index(CANPacket_t *to_push, RxCheck addr_list[], const int len) { +int get_addr_check_index(const CANPacket_t *to_push, RxCheck addr_list[], const int len) { int bus = GET_BUS(to_push); int addr = GET_ADDR(to_push); int length = GET_LEN(to_push); @@ -450,7 +450,7 @@ bool dist_to_meas_check(int val, int val_last, struct sample_t *val_meas, } // check that commanded value isn't fighting against driver -bool driver_limit_check(int val, int val_last, struct sample_t *val_driver, +bool driver_limit_check(int val, int val_last, const struct sample_t *val_driver, const int MAX_VAL, const int MAX_RATE_UP, const int MAX_RATE_DOWN, const int MAX_ALLOWANCE, const int DRIVER_FACTOR) { diff --git a/board/safety_declarations.h b/board/safety_declarations.h index dbe1a707..eb625c11 100644 --- a/board/safety_declarations.h +++ b/board/safety_declarations.h @@ -160,7 +160,7 @@ bool angle_dist_to_meas_check(int val, struct sample_t *val_meas, const int MAX_ERROR, const int MAX_VAL); bool dist_to_meas_check(int val, int val_last, struct sample_t *val_meas, const int MAX_RATE_UP, const int MAX_RATE_DOWN, const int MAX_ERROR); -bool driver_limit_check(int val, int val_last, struct sample_t *val_driver, +bool driver_limit_check(int val, int val_last, const struct sample_t *val_driver, const int MAX, const int MAX_RATE_UP, const int MAX_RATE_DOWN, const int MAX_ALLOWANCE, const int DRIVER_FACTOR); bool get_longitudinal_allowed(void); @@ -169,8 +169,8 @@ float interpolate(struct lookup_t xy, float x); int ROUND(float val); void gen_crc_lookup_table_8(uint8_t poly, uint8_t crc_lut[]); void gen_crc_lookup_table_16(uint16_t poly, uint16_t crc_lut[]); -bool msg_allowed(CANPacket_t *to_send, const CanMsg msg_list[], int len); -int get_addr_check_index(CANPacket_t *to_push, RxCheck addr_list[], const int len); +bool msg_allowed(const CANPacket_t *to_send, const CanMsg msg_list[], int len); +int get_addr_check_index(const CANPacket_t *to_push, RxCheck addr_list[], const int len); void update_counter(RxCheck addr_list[], int index, uint8_t counter); void update_addr_timestamp(RxCheck addr_list[], int index); bool is_msg_valid(RxCheck addr_list[], int index); diff --git a/board/stm32fx/llbxcan.h b/board/stm32fx/llbxcan.h index 92a90f9d..a6c5936f 100644 --- a/board/stm32fx/llbxcan.h +++ b/board/stm32fx/llbxcan.h @@ -75,7 +75,7 @@ bool llcan_set_speed(CAN_TypeDef *CANx, uint32_t speed, bool loopback, bool sile return ret; } -void llcan_irq_disable(CAN_TypeDef *CANx) { +void llcan_irq_disable(const CAN_TypeDef *CANx) { if (CANx == CAN1) { NVIC_DisableIRQ(CAN1_TX_IRQn); NVIC_DisableIRQ(CAN1_RX0_IRQn); @@ -94,7 +94,7 @@ void llcan_irq_disable(CAN_TypeDef *CANx) { } } -void llcan_irq_enable(CAN_TypeDef *CANx) { +void llcan_irq_enable(const CAN_TypeDef *CANx) { if (CANx == CAN1) { NVIC_EnableIRQ(CAN1_TX_IRQn); NVIC_EnableIRQ(CAN1_RX0_IRQn); diff --git a/board/stm32h7/llfdcan.h b/board/stm32h7/llfdcan.h index 323a7764..cdce0c44 100644 --- a/board/stm32h7/llfdcan.h +++ b/board/stm32h7/llfdcan.h @@ -158,7 +158,7 @@ bool llcan_set_speed(FDCAN_GlobalTypeDef *FDCANx, uint32_t speed, uint32_t data_ return ret; } -void llcan_irq_disable(FDCAN_GlobalTypeDef *FDCANx) { +void llcan_irq_disable(const FDCAN_GlobalTypeDef *FDCANx) { if (FDCANx == FDCAN1) { NVIC_DisableIRQ(FDCAN1_IT0_IRQn); NVIC_DisableIRQ(FDCAN1_IT1_IRQn); @@ -172,7 +172,7 @@ void llcan_irq_disable(FDCAN_GlobalTypeDef *FDCANx) { } } -void llcan_irq_enable(FDCAN_GlobalTypeDef *FDCANx) { +void llcan_irq_enable(const FDCAN_GlobalTypeDef *FDCANx) { if (FDCANx == FDCAN1) { NVIC_EnableIRQ(FDCAN1_IT0_IRQn); NVIC_EnableIRQ(FDCAN1_IT1_IRQn); diff --git a/board/stm32h7/lli2c.h b/board/stm32h7/lli2c.h index 55bbe9cf..1dd4b4cf 100644 --- a/board/stm32h7/lli2c.h +++ b/board/stm32h7/lli2c.h @@ -5,7 +5,7 @@ #define I2C_TIMEOUT_US 100000U // cppcheck-suppress misra-c2012-2.7; not sure why it triggers here? -bool i2c_status_wait(volatile uint32_t *reg, uint32_t mask, uint32_t val) { +bool i2c_status_wait(const volatile uint32_t *reg, uint32_t mask, uint32_t val) { uint32_t start_time = microsecond_timer_get(); while(((*reg & mask) != val) && (get_ts_elapsed(microsecond_timer_get(), start_time) < I2C_TIMEOUT_US)); return ((*reg & mask) == val); diff --git a/tests/misra/suppressions.txt b/tests/misra/suppressions.txt index 56b0fa94..889c607b 100644 --- a/tests/misra/suppressions.txt +++ b/tests/misra/suppressions.txt @@ -17,7 +17,6 @@ unmatchedSuppression # fixing the violations and all are intended to be removed soon after unusedFunction -constParameterPointer constParameterCallback misra-config