forked from achamaikin/CCSModuleSW30Web
Add fire alarm support and update firmware version to 1.0.19
- Introduced CONN_ERR_FIRE_ALARM to handle fire alarm conditions in charger control. - Added CMD_FIRE_ALARM command for external trigger handling in serial control. - Updated firmware version from 1.0.17 to 1.0.19. - Integrated fire alarm functionality into the charging loop and command handler.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "charger_config.h"
|
||||
#include "debug.h"
|
||||
#include "fire_alarm.h"
|
||||
#include "psu_control.h"
|
||||
|
||||
ChargingConnector_t CONN;
|
||||
@@ -22,7 +23,9 @@ void CONN_Loop(){
|
||||
CONN.connControl = CMD_NONE;
|
||||
}
|
||||
|
||||
if(PSU0.cont_fault){
|
||||
if (FireAlarm_IsLatched()) {
|
||||
CONN.chargingError = CONN_ERR_FIRE_ALARM;
|
||||
} else if(PSU0.cont_fault){
|
||||
CONN.chargingError = CONN_ERR_CONTACTOR;
|
||||
} else if(PSU0.psu_fault){
|
||||
CONN.chargingError = CONN_ERR_PSU_FAULT;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include "fire_alarm.h"
|
||||
|
||||
#include "charger_control.h"
|
||||
#include "debug.h"
|
||||
#include "serial.h"
|
||||
|
||||
static uint8_t fire_alarm_latched = 0;
|
||||
|
||||
uint8_t FireAlarm_IsLatched(void) {
|
||||
return fire_alarm_latched;
|
||||
}
|
||||
|
||||
void FireAlarm_Activate(void) {
|
||||
if (fire_alarm_latched) {
|
||||
return;
|
||||
}
|
||||
|
||||
fire_alarm_latched = 1;
|
||||
log_printf(LOG_ERR, "FIRE ALARM activated\n");
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "board.h"
|
||||
#include "charger_control.h"
|
||||
#include "debug.h"
|
||||
#include "fire_alarm.h"
|
||||
#include "psu_control.h"
|
||||
#include "usart.h"
|
||||
#include <string.h>
|
||||
@@ -86,6 +87,10 @@ void SC_CommandHandler(ReceivedCommand_t* cmd) {
|
||||
// }
|
||||
response_code = RESP_FAILED;
|
||||
break;
|
||||
case CMD_FIRE_ALARM:
|
||||
FireAlarm_Activate();
|
||||
response_code = RESP_SUCCESS;
|
||||
break;
|
||||
case CMD_DEVICE_RESET:
|
||||
// 2. Отправляем SUCCESS (хост может успеть получить его перед ребутом)
|
||||
SC_SendPacket(NULL, 0, RESP_SUCCESS);
|
||||
|
||||
Reference in New Issue
Block a user