diff --git a/common/Data/DTC.csv b/common/Data/DTC.csv index 0e8c35747..5a17ab0f3 100644 --- a/common/Data/DTC.csv +++ b/common/Data/DTC.csv @@ -67,3 +67,4 @@ DTC CODE,NAME,ORIGIN,SEVERITY,SUBSCRIBERS,DATA,MESSAGE 66,PDU_Inverter_Overheat,PDU,4,VCU_BEAGLEBONE,NA,"INV: HotSpot > 45C, power derating in 30s" 67,PDU_Inverter_Derating_Power,PDU,4,VCU_BEAGLEBONE,NA,"INV: HotSpot > 45C, power derating in 30s" 68,PDU_Motor_Overheat,PDU,1,VCU_BEAGLEBONE,NA,"INV: Motor Temp > 100C" +69,PDU_Max_Current_Exceeded,PDU,3,VCU_BEAGLEBONE,NA,"LV Current > 30A" \ No newline at end of file diff --git a/pdu/Inc/sensors.h b/pdu/Inc/sensors.h index 632eec35e..cefbe161b 100644 --- a/pdu/Inc/sensors.h +++ b/pdu/Inc/sensors.h @@ -41,7 +41,7 @@ const char *channelNames[NUM_PDU_CHANNELS]; #define LOW_VOLTAGE_LIMIT_VOLTS 10.0f // Max LV Bus current -#define LV_MAX_CURRENT_AMPS 50.0f +#define LV_MAX_CURRENT_AMPS 30.0f // // TODO: Find this value #define FUSE_BLOWN_MIN_CURRENT_AMPS 5.0 diff --git a/pdu/Src/sensors.c b/pdu/Src/sensors.c index 7d054c0dd..625a23600 100644 --- a/pdu/Src/sensors.c +++ b/pdu/Src/sensors.c @@ -224,10 +224,9 @@ void sensorTask(void *pvParameters) { ERROR_PRINT("Failed to send bus measurements on can!\n"); } - if (readBusCurrent() >= LV_MAX_CURRENT_AMPS) { + sendDTC_ERROR_PDU_Max_Current_Exceeded(); ERROR_PRINT("LV Current exceeded max value\n"); - // TODO: Should we do anything? } if ((xTaskGetTickCount() - lastLvBattLowSent) > LV_BATTERY_VOLTAGE_LOW_DTC_PERIOD_MS && VoltageBusLV < 11.0f)