Skip to content

Commit c1a8dbd

Browse files
Merge branch 'main' into feature/bms-precharge-drive-lock
2 parents 60905e0 + aa7b059 commit c1a8dbd

6 files changed

Lines changed: 23 additions & 36 deletions

File tree

Core/Inc/can_messages_tx.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ uint8_t send_imu_gyro
248248
* VCU/Faults/Critical/CAN_INCOMING_FAULT -
249249
* VCU/Faults/Critical/BMS_CAN_MONITOR_FAULT -
250250
* VCU/Faults/Critical/LIGHTNING_CAN_MONITOR_FAULT -
251-
* VCU/Faults/Critical/SHUTDOWN_FAULT -
252251
* VCU/Faults/Non-Critical/ONBOARD_TEMP_FAULT -
253252
* VCU/Faults/Non-Critical/IMU_ACCEL_FAULT -
254253
* VCU/Faults/Non-Critical/IMU_GYRO_FAULT -
@@ -263,7 +262,7 @@ uint8_t send_imu_gyro
263262
* VCU/Faults/Critical/PRECHARGE_FLOATING_FAULT - If TS Volts is stuck under the Batt Volts Threshold
264263
*/
265264
uint8_t send_faults
266-
(bool CAN_OUTGOING_FAULT,bool CAN_INCOMING_FAULT,bool BMS_CAN_MONITOR_FAULT,bool LIGHTNING_CAN_MONITOR_FAULT,bool SHUTDOWN_FAULT,bool ONBOARD_TEMP_FAULT,bool IMU_ACCEL_FAULT,bool IMU_GYRO_FAULT,bool BSPD_PREFAULT,bool ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT,bool ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT,bool ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT,bool ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT,bool ONBOARD_PEDAL_DIFFERENCE_FAULT,bool RTDS_FAULT,bool LV_LOW_VOLTAGE_FAULT,bool PRECHARGE_FLOATING_FAULT);
265+
(bool CAN_OUTGOING_FAULT,bool CAN_INCOMING_FAULT,bool BMS_CAN_MONITOR_FAULT,bool LIGHTNING_CAN_MONITOR_FAULT,bool ONBOARD_TEMP_FAULT,bool IMU_ACCEL_FAULT,bool IMU_GYRO_FAULT,bool BSPD_PREFAULT,bool ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT,bool ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT,bool ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT,bool ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT,bool ONBOARD_PEDAL_DIFFERENCE_FAULT,bool RTDS_FAULT,bool LV_LOW_VOLTAGE_FAULT,bool PRECHARGE_FLOATING_FAULT);
267266

268267
/**
269268
* Contents of this message:

Core/Src/can_messages_tx.c

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -877,101 +877,96 @@ uint8_t send_imu_gyro
877877
}
878878

879879
uint8_t send_faults
880-
(bool CAN_OUTGOING_FAULT,bool CAN_INCOMING_FAULT,bool BMS_CAN_MONITOR_FAULT,bool LIGHTNING_CAN_MONITOR_FAULT,bool SHUTDOWN_FAULT,bool ONBOARD_TEMP_FAULT,bool IMU_ACCEL_FAULT,bool IMU_GYRO_FAULT,bool BSPD_PREFAULT,bool ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT,bool ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT,bool ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT,bool ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT,bool ONBOARD_PEDAL_DIFFERENCE_FAULT,bool RTDS_FAULT,bool LV_LOW_VOLTAGE_FAULT,bool PRECHARGE_FLOATING_FAULT)
880+
(bool CAN_OUTGOING_FAULT,bool CAN_INCOMING_FAULT,bool BMS_CAN_MONITOR_FAULT,bool LIGHTNING_CAN_MONITOR_FAULT,bool ONBOARD_TEMP_FAULT,bool IMU_ACCEL_FAULT,bool IMU_GYRO_FAULT,bool BSPD_PREFAULT,bool ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT,bool ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT,bool ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT,bool ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT,bool ONBOARD_PEDAL_DIFFERENCE_FAULT,bool RTDS_FAULT,bool LV_LOW_VOLTAGE_FAULT,bool PRECHARGE_FLOATING_FAULT)
881881
{
882882
can_msg_t msg;
883883
msg.id = 0x502;
884884
msg.id_is_extended = false;
885885

886-
uint32_t data = 0;
887-
msg.len = 4;
886+
uint16_t data = 0;
887+
msg.len = 2;
888888
uint32_t CAN_OUTGOING_FAULT_i = (uint32_t)(CAN_OUTGOING_FAULT);
889889
if(CAN_OUTGOING_FAULT_i > 1ULL) {CAN_OUTGOING_FAULT_i = 1;
890890
}
891-
data |= ((CAN_OUTGOING_FAULT_i) & 0x1ULL) << 31;
891+
data |= ((CAN_OUTGOING_FAULT_i) & 0x1ULL) << 15;
892892

893893
uint32_t CAN_INCOMING_FAULT_i = (uint32_t)(CAN_INCOMING_FAULT);
894894
if(CAN_INCOMING_FAULT_i > 1ULL) {CAN_INCOMING_FAULT_i = 1;
895895
}
896-
data |= ((CAN_INCOMING_FAULT_i) & 0x1ULL) << 30;
896+
data |= ((CAN_INCOMING_FAULT_i) & 0x1ULL) << 14;
897897

898898
uint32_t BMS_CAN_MONITOR_FAULT_i = (uint32_t)(BMS_CAN_MONITOR_FAULT);
899899
if(BMS_CAN_MONITOR_FAULT_i > 1ULL) {BMS_CAN_MONITOR_FAULT_i = 1;
900900
}
901-
data |= ((BMS_CAN_MONITOR_FAULT_i) & 0x1ULL) << 29;
901+
data |= ((BMS_CAN_MONITOR_FAULT_i) & 0x1ULL) << 13;
902902

903903
uint32_t LIGHTNING_CAN_MONITOR_FAULT_i = (uint32_t)(LIGHTNING_CAN_MONITOR_FAULT);
904904
if(LIGHTNING_CAN_MONITOR_FAULT_i > 1ULL) {LIGHTNING_CAN_MONITOR_FAULT_i = 1;
905905
}
906-
data |= ((LIGHTNING_CAN_MONITOR_FAULT_i) & 0x1ULL) << 28;
907-
908-
uint32_t SHUTDOWN_FAULT_i = (uint32_t)(SHUTDOWN_FAULT);
909-
if(SHUTDOWN_FAULT_i > 1ULL) {SHUTDOWN_FAULT_i = 1;
910-
}
911-
data |= ((SHUTDOWN_FAULT_i) & 0x1ULL) << 27;
906+
data |= ((LIGHTNING_CAN_MONITOR_FAULT_i) & 0x1ULL) << 12;
912907

913908
uint32_t ONBOARD_TEMP_FAULT_i = (uint32_t)(ONBOARD_TEMP_FAULT);
914909
if(ONBOARD_TEMP_FAULT_i > 1ULL) {ONBOARD_TEMP_FAULT_i = 1;
915910
}
916-
data |= ((ONBOARD_TEMP_FAULT_i) & 0x1ULL) << 26;
911+
data |= ((ONBOARD_TEMP_FAULT_i) & 0x1ULL) << 11;
917912

918913
uint32_t IMU_ACCEL_FAULT_i = (uint32_t)(IMU_ACCEL_FAULT);
919914
if(IMU_ACCEL_FAULT_i > 1ULL) {IMU_ACCEL_FAULT_i = 1;
920915
}
921-
data |= ((IMU_ACCEL_FAULT_i) & 0x1ULL) << 25;
916+
data |= ((IMU_ACCEL_FAULT_i) & 0x1ULL) << 10;
922917

923918
uint32_t IMU_GYRO_FAULT_i = (uint32_t)(IMU_GYRO_FAULT);
924919
if(IMU_GYRO_FAULT_i > 1ULL) {IMU_GYRO_FAULT_i = 1;
925920
}
926-
data |= ((IMU_GYRO_FAULT_i) & 0x1ULL) << 24;
921+
data |= ((IMU_GYRO_FAULT_i) & 0x1ULL) << 9;
927922

928923
uint32_t BSPD_PREFAULT_i = (uint32_t)(BSPD_PREFAULT);
929924
if(BSPD_PREFAULT_i > 1ULL) {BSPD_PREFAULT_i = 1;
930925
}
931-
data |= ((BSPD_PREFAULT_i) & 0x1ULL) << 23;
926+
data |= ((BSPD_PREFAULT_i) & 0x1ULL) << 8;
932927

933928
uint32_t ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT_i = (uint32_t)(ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT);
934929
if(ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT_i > 1ULL) {ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT_i = 1;
935930
}
936-
data |= ((ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT_i) & 0x1ULL) << 22;
931+
data |= ((ONBOARD_BRAKE_OPEN_CIRCUIT_FAULT_i) & 0x1ULL) << 7;
937932

938933
uint32_t ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT_i = (uint32_t)(ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT);
939934
if(ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT_i > 1ULL) {ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT_i = 1;
940935
}
941-
data |= ((ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT_i) & 0x1ULL) << 21;
936+
data |= ((ONBOARD_ACCEL_OPEN_CIRCUIT_FAULT_i) & 0x1ULL) << 6;
942937

943938
uint32_t ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT_i = (uint32_t)(ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT);
944939
if(ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT_i > 1ULL) {ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT_i = 1;
945940
}
946-
data |= ((ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT_i) & 0x1ULL) << 20;
941+
data |= ((ONBOARD_BRAKE_SHORT_CIRCUIT_FAULT_i) & 0x1ULL) << 5;
947942

948943
uint32_t ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT_i = (uint32_t)(ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT);
949944
if(ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT_i > 1ULL) {ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT_i = 1;
950945
}
951-
data |= ((ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT_i) & 0x1ULL) << 19;
946+
data |= ((ONBOARD_ACCEL_SHORT_CIRCUIT_FAULT_i) & 0x1ULL) << 4;
952947

953948
uint32_t ONBOARD_PEDAL_DIFFERENCE_FAULT_i = (uint32_t)(ONBOARD_PEDAL_DIFFERENCE_FAULT);
954949
if(ONBOARD_PEDAL_DIFFERENCE_FAULT_i > 1ULL) {ONBOARD_PEDAL_DIFFERENCE_FAULT_i = 1;
955950
}
956-
data |= ((ONBOARD_PEDAL_DIFFERENCE_FAULT_i) & 0x1ULL) << 18;
951+
data |= ((ONBOARD_PEDAL_DIFFERENCE_FAULT_i) & 0x1ULL) << 3;
957952

958953
uint32_t RTDS_FAULT_i = (uint32_t)(RTDS_FAULT);
959954
if(RTDS_FAULT_i > 1ULL) {RTDS_FAULT_i = 1;
960955
}
961-
data |= ((RTDS_FAULT_i) & 0x1ULL) << 17;
956+
data |= ((RTDS_FAULT_i) & 0x1ULL) << 2;
962957

963958
uint32_t LV_LOW_VOLTAGE_FAULT_i = (uint32_t)(LV_LOW_VOLTAGE_FAULT);
964959
if(LV_LOW_VOLTAGE_FAULT_i > 1ULL) {LV_LOW_VOLTAGE_FAULT_i = 1;
965960
}
966-
data |= ((LV_LOW_VOLTAGE_FAULT_i) & 0x1ULL) << 16;
961+
data |= ((LV_LOW_VOLTAGE_FAULT_i) & 0x1ULL) << 1;
967962

968963
uint32_t PRECHARGE_FLOATING_FAULT_i = (uint32_t)(PRECHARGE_FLOATING_FAULT);
969964
if(PRECHARGE_FLOATING_FAULT_i > 1ULL) {PRECHARGE_FLOATING_FAULT_i = 1;
970965
}
971-
data |= ((PRECHARGE_FLOATING_FAULT_i) & 0x1ULL) << 15;
966+
data |= ((PRECHARGE_FLOATING_FAULT_i) & 0x1ULL) << 0;
972967

973-
uint32_t data_bigendian = __builtin_bswap32(data);
974-
memcpy(msg.data, &data_bigendian, 4);
968+
uint16_t data_bigendian = __builtin_bswap16(data);
969+
memcpy(msg.data, &data_bigendian, 2);
975970

976971
return queue_send(&can_outgoing, &msg, TX_NO_WAIT);
977972
}

Core/Src/u_faults.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ static const _metadata faults[] = {
2525
[CAN_INCOMING_FAULT] = {"CAN_INCOMING_FAULT", CRITICAL, .timeout = 5000},
2626
[BMS_CAN_MONITOR_FAULT] = {"BMS_CAN_MONITOR_FAULT", CRITICAL, .timeout = 5000},
2727
[LIGHTNING_CAN_MONITOR_FAULT] = {"LIGHTNING_CAN_MONITOR_FAULT", CRITICAL, .timeout = 5000},
28-
[SHUTDOWN_FAULT] = {"SHUTDOWN_FAULT", CRITICAL, .timeout = 5000},
2928
[PRECHARGE_FLOATING_FAULT] = {"PRECHARGE_FLOATING_FAULT", CRITICAL, .timeout = 5000},
3029

3130
/* Non-critical Faults */

Core/Src/u_shutdown.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,4 @@ void shutdown_process(void) {
6363

6464
/* Report BMS Shutdown as reported by VCU. */
6565
send_bms_shutdown_status_as_reported_by_vcu(bms_shutdown);
66-
67-
/* Check if shutdown is active. If it is, trigger the fault. */
68-
if (is_shutdown_active()) { // if tsms is still on when shutdown is active, trigger fault
69-
queue_send(&faults, &(fault_t){SHUTDOWN_FAULT}, TX_NO_WAIT);
70-
}
7166
}

Core/Src/u_threads.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,6 @@ void vFaults(ULONG thread_input) {
344344
get_fault(CAN_INCOMING_FAULT),
345345
get_fault(BMS_CAN_MONITOR_FAULT),
346346
get_fault(LIGHTNING_CAN_MONITOR_FAULT),
347-
get_fault(SHUTDOWN_FAULT),
348347
get_fault(ONBOARD_TEMP_FAULT),
349348
get_fault(IMU_ACCEL_FAULT),
350349
get_fault(IMU_GYRO_FAULT),

Drivers/Odyssey-Definitions

0 commit comments

Comments
 (0)