Skip to content

Commit

Permalink
feat: update canlib version
Browse files Browse the repository at this point in the history
  • Loading branch information
Tonidotpy committed Apr 4, 2024
1 parent 960111e commit 261bff9
Show file tree
Hide file tree
Showing 15 changed files with 5,021 additions and 4,319 deletions.
2 changes: 1 addition & 1 deletion cellboard/Core/Lib/can
Submodule can updated 60 files
+18 −18 dbc/bms/bms.dbc
+176 −176 dbc/inverters/inverters.dbc
+0 −0 dbc/ivts/ivts.dbc
+607 −600 dbc/primary/primary.dbc
+71 −67 dbc/secondary/secondary.dbc
+42 −40 dbc/simulator/simulator.dbc
+41 −41 lib/bms/bms_network.c
+12 −12 lib/bms/bms_network.h
+20 −20 lib/bms/bms_utils_c.c
+3 −3 lib/bms/bms_utils_c.h
+6 −6 lib/bms/bms_watchdog.c
+0 −8,898 lib/hv_current/hv_current_network.h
+0 −48 lib/hv_current/hv_current_watchdog.c
+718 −718 lib/inverters/inverters_network.c
+3,576 −3,576 lib/inverters/inverters_network.h
+1,739 −1,739 lib/inverters/inverters_utils_c.c
+194 −194 lib/inverters/inverters_utils_c.h
+2 −2 lib/inverters/inverters_watchdog.c
+4 −4 lib/inverters/inverters_watchdog.h
+776 −776 lib/ivts/ivts_network.c
+8,898 −0 lib/ivts/ivts_network.h
+852 −852 lib/ivts/ivts_utils_c.c
+66 −66 lib/ivts/ivts_utils_c.h
+48 −0 lib/ivts/ivts_watchdog.c
+20 −20 lib/ivts/ivts_watchdog.h
+12,551 −11,064 lib/primary/primary_network.c
+10,531 −10,032 lib/primary/primary_network.h
+2,672 −2,882 lib/primary/primary_utils_c.c
+504 −495 lib/primary/primary_utils_c.h
+417 −271 lib/primary/primary_watchdog.c
+168 −141 lib/primary/primary_watchdog.h
+1,377 −1,220 lib/secondary/secondary_network.c
+876 −817 lib/secondary/secondary_network.h
+286 −268 lib/secondary/secondary_utils_c.c
+59 −54 lib/secondary/secondary_utils_c.h
+57 −48 lib/secondary/secondary_watchdog.c
+25 −23 lib/secondary/secondary_watchdog.h
+814 −690 lib/simulator/simulator_network.c
+571 −574 lib/simulator/simulator_network.h
+157 −151 lib/simulator/simulator_utils_c.c
+32 −29 lib/simulator/simulator_utils_c.h
+34 −25 lib/simulator/simulator_watchdog.c
+15 −13 lib/simulator/simulator_watchdog.h
+7 −7 networks/bms/network.json
+0 −0 networks/ivts/IVT-S_12082020.dbc
+2,376 −1,821 networks/primary/network.json
+624 −257 networks/secondary/network.json
+323 −229 networks/simulator/network.json
+5 −5 proto/bms/bms_proto_interface.h
+0 −907 proto/hv_current/hv_current.proto
+841 −841 proto/inverters/inverters.proto
+249 −249 proto/inverters/inverters_proto_interface.h
+907 −0 proto/ivts/ivts.proto
+132 −132 proto/ivts/ivts_proto_interface.h
+732 −814 proto/primary/primary.proto
+1,628 −1,498 proto/primary/primary_proto_interface.h
+61 −57 proto/secondary/secondary.proto
+167 −146 proto/secondary/secondary_proto_interface.h
+34 −32 proto/simulator/simulator.proto
+91 −74 proto/simulator/simulator_proto_interface.h
27 changes: 22 additions & 5 deletions cellboard/Core/Src/can_comms.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

#include "can_comms.h"

#include <math.h>
#include <string.h>
#include <time.h>

#include "bal_fsm.h"
#include "can.h"
#include "cellboard_config.h"
Expand All @@ -19,12 +23,11 @@
#include "volt.h"
#include "bms_network.h"

#include <math.h>
#include <string.h>

#define RETRANSMISSION_MAX_ATTEMPTS 1
uint8_t retransmission_attempts[3] = { 0 };

// static time_t build_epoch;

/**
* @brief Wait until the CAN has at least one free mailbox
*
Expand Down Expand Up @@ -55,6 +58,10 @@ HAL_StatusTypeDef _can_send(CAN_HandleTypeDef *hcan, uint8_t *buffer, CAN_TxHead
}

void can_init_with_filter() {
// struct tm tm;
// if (strptime(__DATE__" "__TIME__, "%b %d %Y %H:%M:%S", &tm) != NULL)
// build_epoch = mktime(&tm);

/* HAL considers IdLow and IdHigh not as just the ID of the can message but
as the combination of:
STDID + RTR + IDE + 4 most significant bits of EXTID
Expand Down Expand Up @@ -232,7 +239,7 @@ void can_send(uint16_t id) {

conv_version.canlib_build_time = CANLIB_BUILD_TIME;
conv_version.cellboard_id = cellboard_index;
conv_version.component_version = 1;
conv_version.component_version = 1; // build_epoch

bms_cellboard_version_conversion_to_raw_struct(&raw_version, &conv_version);

Expand Down Expand Up @@ -287,7 +294,17 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef * hcan) {
break;
}
} else if (rx_header.StdId == BMS_JMP_TO_BLT_FRAME_ID && fsm_get_state() == STATE_OFF) {
HAL_NVIC_SystemReset();
bms_jmp_to_blt_t raw_jmp;
bms_jmp_to_blt_converted_t conv_jmp;

if (bms_jmp_to_blt_unpack(&raw_jmp, rx_data, BMS_JMP_TO_BLT_BYTE_SIZE) < 0) {
ERROR_SET(ERROR_CAN);
return;
}
bms_jmp_to_blt_raw_to_conversion_struct(&conv_jmp, &raw_jmp);

if (conv_jmp.cellboard_id == cellboard_index)
HAL_NVIC_SystemReset();
}
}
}
Expand Down
7 changes: 1 addition & 6 deletions cellboard/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ BUILD_DIR = build
######################################
# C sources
C_SOURCES = \
$(shell find Core/Src -type f -name "*.c") \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
Expand All @@ -60,9 +59,7 @@ Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c \
Core/Lib/can/lib/bms/bms_network.c \
Core/Lib/can/lib/bms/bms_watchdog.c \
$(shell find Core/Lib/micro-libs/timer-utils -type f -name "*.c") \
$(shell find Core/Lib/micro-libs/blinky/src -type f -name "*.c")
Core/Lib/can/lib/bms/bms_watchdog.c

# ASM sources
ASM_SOURCES = \
Expand Down Expand Up @@ -119,14 +116,12 @@ AS_INCLUDES =

# C includes
C_INCLUDES = \
$(addprefix -I,$(shell find Core/Inc -type d)) \
-IDrivers/STM32L4xx_HAL_Driver/Inc \
-IDrivers/STM32L4xx_HAL_Driver/Inc/Legacy \
-IDrivers/CMSIS/Device/ST/STM32L4xx/Include \
-IDrivers/CMSIS/Include \
-ICore/Lib/micro-libs/blinky/inc \
-ICore/Lib/micro-libs/timer-utils \
$(addprefix -I,$(shell find Core/Lib/can/lib/bms -type d))


# compile gcc flags
Expand Down
13 changes: 7 additions & 6 deletions cellboard/STM32-for-VSCode.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ excludes:
# Include directories (directories containing .h or .hpp files)
# If a CubeMX makefile is present it will automatically include the include directories from that makefile.
includeDirectories:
- Inc/**
- Core/Inc/**
- Core/Lib/micro-libs/m95256/
- Core/Lib/micro-libs/blinky/inc/
- Core/Lib/micro-libs/timer-utils/
- Core/Lib/can/lib/bms/
- Core/Lib/can/lib/bms/**
- Core/Lib/micro-libs/m95256/**
- Core/Lib/micro-libs/blinky/inc/**
- Core/Lib/micro-libs/timer-utils/**



# Files that should be included in the compilation.
Expand All @@ -88,7 +88,8 @@ sourceFiles:
- Core/Lib/micro-libs/m95256/m95256.c
- Core/Lib/micro-libs/blinky/src/blinky.c
- Core/Lib/micro-libs/timer-utils/timer_utils.c
- Core/Lib/can/lib/bms/*.c
- Core/Lib/can/lib/bms/bms_network.c
- Core/Lib/can/lib/bms/bms_watchdog.c


# When no makefile is present it will show a warning pop-up.
Expand Down
13 changes: 2 additions & 11 deletions cellboard/STM32Make.make
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ BUILD_DIR = build
# C sources
C_SOURCES = \
Core/Lib/can/lib/bms/bms_network.c \
Core/Lib/can/lib/bms/bms_utils_c.c \
Core/Lib/can/lib/bms/bms_watchdog.c \
Core/Lib/micro-libs/blinky/src/blinky.c \
Core/Lib/micro-libs/m95256/m95256.c \
Expand Down Expand Up @@ -157,24 +156,16 @@ AS_INCLUDES = \

# C includes
C_INCLUDES = \
-I$(addprefix \
-I,$(shell \
-I-type \
-ICore/Inc \
-ICore/Inc/peripherals \
-ICore/Lib/can/lib/bms \
-ICore/Lib/can/lib/bms/ \
-ICore/Lib/micro-libs/blinky/inc \
-ICore/Lib/micro-libs/blinky/inc/ \
-ICore/Lib/micro-libs/m95256/ \
-ICore/Lib/micro-libs/m95256 \
-ICore/Lib/micro-libs/timer-utils \
-ICore/Lib/micro-libs/timer-utils/ \
-IDrivers/CMSIS/Device/ST/STM32L4xx/Include \
-IDrivers/CMSIS/Include \
-IDrivers/STM32L4xx_HAL_Driver/Inc \
-IDrivers/STM32L4xx_HAL_Driver/Inc/Legacy \
-Id)) \
-Ifind
-IDrivers/STM32L4xx_HAL_Driver/Inc/Legacy



Expand Down
16 changes: 2 additions & 14 deletions mainboard/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ BUILD_DIR = build
######################################
# C sources
C_SOURCES = \
$(shell find Src -type f -name "*.c") \
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c \
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c \
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c \
Expand All @@ -61,15 +60,7 @@ Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c \
lib/can/lib/primary/primary_network.c \
lib/can/lib/bms/bms_network.c \
lib/can/lib/primary/primary_watchdog.c \
lib/can/lib/bms/bms_watchdog.c \
$(shell find lib/micro-libs/blinky/src -type f -name "*.c") \
$(shell find lib/micro-libs/cli -type f -name "*.c") \
$(shell find lib/micro-libs/eeprom-config -type f -name "*.c") \
$(shell find lib/micro-libs/m95256 -type f -name "*.c") \
$(shell find lib/micro-libs/min-heap/src -type f -name "*.c") \
$(shell find lib/micro-libs/ring-buffer/src -type f -name "*.c") \
$(shell find lib/micro-libs/timer-utils -type f -name "*.c") \
$(shell find lib/micro-libs/pwm -type f -name "*.c")
lib/can/lib/bms/bms_watchdog.c

# ASM sources
ASM_SOURCES = \
Expand Down Expand Up @@ -127,7 +118,6 @@ AS_INCLUDES =

# C includes
C_INCLUDES = \
$(addprefix -I,$(shell find Inc -type d)) \
-IDrivers/STM32F4xx_HAL_Driver/Inc \
-IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy \
-IDrivers/CMSIS/Device/ST/STM32F4xx/Include \
Expand All @@ -139,9 +129,7 @@ $(addprefix -I,$(shell find Inc -type d)) \
-Ilib/micro-libs/min-heap/inc \
-Ilib/micro-libs/ring-buffer/inc \
-Ilib/micro-libs/timer-utils \
-Ilib/micro-libs/pwm \
$(addprefix -I,$(shell find lib/can/lib/primary -type d)) \
$(addprefix -I,$(shell find lib/can/lib/bms -type d))
-Ilib/micro-libs/pwm

# compile gcc flags
ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
Expand Down
44 changes: 22 additions & 22 deletions mainboard/Src/bms_fsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ void init_to_idle(state_data_t *data) {
bms_set_led_blinker();

// Send info via CAN
can_car_send(PRIMARY_TS_STATUS_FRAME_ID);
can_car_send(PRIMARY_HV_STATUS_FRAME_ID);

// Set default pack status
pack_set_default_off(0);
Expand Down Expand Up @@ -422,26 +422,26 @@ void close_airn(state_data_t *data) {
/* Your Code Here */

// Reset debug feedbacks
conv_debug.debug_signals_feedback_implausibility_detected = 0;
conv_debug.debug_signals_feedback_imd_cockpit = 0;
conv_debug.debug_signals_feedback_tsal_green_fault_latched = 0;
conv_debug.debug_signals_feedback_bms_cockpit = 0;
conv_debug.debug_signals_feedback_ext_latched = 0;
conv_debug.debug_signals_feedback_tsal_green = 0;
conv_debug.debug_signals_feedback_ts_over_60v_status = 0;
conv_debug.debug_signals_feedback_airn_status = 0;
conv_debug.debug_signals_feedback_airp_status = 0;
conv_debug.debug_signals_feedback_airp_gate = 0;
conv_debug.debug_signals_feedback_airn_gate = 0;
conv_debug.debug_signals_feedback_precharge_status = 0;
conv_debug.debug_signals_feedback_tsp_over_60v_status = 0;
conv_debug.debug_signals_feedback_imd_fault = 0;
conv_debug.debug_signals_feedback_check_mux = 0;
conv_debug.debug_signals_feedback_sd_end = 0;
conv_debug.debug_signals_feedback_sd_out = 0;
conv_debug.debug_signals_feedback_sd_in = 0;
conv_debug.debug_signals_feedback_sd_bms = 0;
conv_debug.debug_signals_feedback_sd_imd = 0;
conv_debug.feedbacks_implausibility_detected = 0;
conv_debug.feedbacks_imd_cockpit = 0;
conv_debug.feedbacks_tsal_green_fault_latched = 0;
conv_debug.feedbacks_bms_cockpit = 0;
conv_debug.feedbacks_ext_latched = 0;
conv_debug.feedbacks_tsal_green = 0;
conv_debug.feedbacks_ts_over_60v_status = 0;
conv_debug.feedbacks_airn_status = 0;
conv_debug.feedbacks_airp_status = 0;
conv_debug.feedbacks_airp_gate = 0;
conv_debug.feedbacks_airn_gate = 0;
conv_debug.feedbacks_precharge_status = 0;
conv_debug.feedbacks_tsp_over_60v_status = 0;
conv_debug.feedbacks_imd_fault = 0;
conv_debug.feedbacks_check_mux = 0;
conv_debug.feedbacks_sd_end = 0;
conv_debug.feedbacks_sd_out = 0;
conv_debug.feedbacks_sd_in = 0;
conv_debug.feedbacks_sd_bms = 0;
conv_debug.feedbacks_sd_imd = 0;

// Set blinking led pattern
bms_set_led_blinker();
Expand Down Expand Up @@ -565,7 +565,7 @@ bms_state_t run_state(bms_state_t cur_state, state_data_t *data) {
if (transition) {
// Send info via CAN
can_car_send(PRIMARY_HV_FEEDBACK_STATUS_FRAME_ID);
can_car_send(PRIMARY_TS_STATUS_FRAME_ID);
can_car_send(PRIMARY_HV_STATUS_FRAME_ID);

transition(data);
}
Expand Down
5 changes: 3 additions & 2 deletions mainboard/Src/cli_bms.c
Original file line number Diff line number Diff line change
Expand Up @@ -516,9 +516,10 @@ void _cli_soc(uint16_t argc, char **argv, char *out) {

void _cli_errors(uint16_t argc, char **argv, char *out) {
*out = 0;
uint16_t count = error_get_running();
size_t running = error_get_running();
size_t expired = error_get_expired();

sprintf(out, "total %u\r\n", count);
sprintf(out, "Running: %u\r\nExpired: %u\r\n", running, expired);

// TODO: Print each error informations
/*
Expand Down
44 changes: 22 additions & 22 deletions mainboard/Src/feedback.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ bool feedback_is_ok(feedback_t mask, feedback_t value) {
error_reset(ERROR_FEEDBACK, i);
else {
error_set(ERROR_FEEDBACK, i, HAL_GetTick());
conv_debug.debug_signals_feedback_check_mux = 1;
conv_debug.feedbacks_check_mux = 1;
return false;
}
continue;
Expand All @@ -205,7 +205,7 @@ bool feedback_is_ok(feedback_t mask, feedback_t value) {
error_reset(ERROR_FEEDBACK, i);
else {
error_set(ERROR_FEEDBACK, i, HAL_GetTick());
conv_debug.debug_signals_feedback_check_mux = 1;
conv_debug.feedbacks_check_mux = 1;
return false;
}
continue;
Expand Down Expand Up @@ -243,64 +243,64 @@ bool feedback_is_ok(feedback_t mask, feedback_t value) {
if (fsm_get_state() == STATE_TS_ON) {
switch (i) {
case FEEDBACK_IMPLAUSIBILITY_DETECTED:
conv_debug.debug_signals_feedback_implausibility_detected = 1;
conv_debug.feedbacks_implausibility_detected = 1;
break;
case FEEDBACK_IMD_COCKPIT:
conv_debug.debug_signals_feedback_imd_cockpit = 1;
conv_debug.feedbacks_imd_cockpit = 1;
break;
case FEEDBACK_TSAL_GREEN_FAULT_LATCHED:
conv_debug.debug_signals_feedback_tsal_green_fault_latched = 1;
conv_debug.feedbacks_tsal_green_fault_latched = 1;
break;
case FEEDBACK_BMS_COCKPIT:
conv_debug.debug_signals_feedback_bms_cockpit = 1;
conv_debug.feedbacks_bms_cockpit = 1;
break;
case FEEDBACK_EXT_LATCHED:
conv_debug.debug_signals_feedback_ext_latched = 1;
conv_debug.feedbacks_ext_latched = 1;
break;
case FEEDBACK_TSAL_GREEN:
conv_debug.debug_signals_feedback_tsal_green = 1;
conv_debug.feedbacks_tsal_green = 1;
break;
case FEEDBACK_TS_OVER_60V_STATUS:
conv_debug.debug_signals_feedback_ts_over_60v_status = 1;
conv_debug.feedbacks_ts_over_60v_status = 1;
break;
case FEEDBACK_AIRN_STATUS:
conv_debug.debug_signals_feedback_airn_status = 1;
conv_debug.feedbacks_airn_status = 1;
break;
case FEEDBACK_AIRP_STATUS:
conv_debug.debug_signals_feedback_airp_status = 1;
conv_debug.feedbacks_airp_status = 1;
break;
case FEEDBACK_AIRP_GATE:
conv_debug.debug_signals_feedback_airp_gate = 1;
conv_debug.feedbacks_airp_gate = 1;
break;
case FEEDBACK_AIRN_GATE:
conv_debug.debug_signals_feedback_airn_gate = 1;
conv_debug.feedbacks_airn_gate = 1;
break;
case FEEDBACK_PRECHARGE_STATUS:
conv_debug.debug_signals_feedback_precharge_status = 1;
conv_debug.feedbacks_precharge_status = 1;
break;
case FEEDBACK_TSP_OVER_60V_STATUS:
conv_debug.debug_signals_feedback_tsp_over_60v_status = 1;
conv_debug.feedbacks_tsp_over_60v_status = 1;
break;
case FEEDBACK_IMD_FAULT:
conv_debug.debug_signals_feedback_imd_fault = 1;
conv_debug.feedbacks_imd_fault = 1;
break;
case FEEDBACK_CHECK_MUX:
conv_debug.debug_signals_feedback_check_mux = 1;
conv_debug.feedbacks_check_mux = 1;
break;
case FEEDBACK_SD_END:
conv_debug.debug_signals_feedback_sd_end = 1;
conv_debug.feedbacks_sd_end = 1;
break;
case FEEDBACK_SD_OUT:
conv_debug.debug_signals_feedback_sd_out = 1;
conv_debug.feedbacks_sd_out = 1;
break;
case FEEDBACK_SD_IN:
conv_debug.debug_signals_feedback_sd_in = 1;
conv_debug.feedbacks_sd_in = 1;
break;
case FEEDBACK_SD_BMS:
conv_debug.debug_signals_feedback_sd_bms = 1;
conv_debug.feedbacks_sd_bms = 1;
break;
case FEEDBACK_SD_IMD:
conv_debug.debug_signals_feedback_sd_imd = 1;
conv_debug.feedbacks_sd_imd = 1;
break;

default:
Expand Down

0 comments on commit 261bff9

Please sign in to comment.