Add fire alarm handling for DC30 CCS main controller.

Latch fire alarm until reboot, block recovery commands, and send periodic Everest ESTOP while active.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
raduet
2026-06-10 16:01:22 +02:00
parent 1be17330fa
commit fb766dfa66
18 changed files with 3766 additions and 4113 deletions
+1
View File
@@ -55,6 +55,7 @@ typedef enum __attribute__((packed)){
CONN_ERR_HOTPLUG = 8, // Коннектор неожиданно отключился CONN_ERR_HOTPLUG = 8, // Коннектор неожиданно отключился
CONN_ERR_EV_COMM = 9, // Ошибка протокола связи с электромобилем CONN_ERR_EV_COMM = 9, // Ошибка протокола связи с электромобилем
CONN_ERR_PSU_FAULT = 10, // Ошибка PSU CONN_ERR_PSU_FAULT = 10, // Ошибка PSU
CONN_ERR_FIRE_ALARM = 11, // Пожарная тревога (до перезагрузки)
}CONN_Error_t; }CONN_Error_t;
+11
View File
@@ -0,0 +1,11 @@
#ifndef INC_FIRE_ALARM_H_
#define INC_FIRE_ALARM_H_
#include <stdint.h>
uint8_t FireAlarm_IsLatched(void);
uint8_t FireAlarm_IsBlockingCommand(uint8_t command_code);
void FireAlarm_Activate(void);
void FireAlarm_Maintain(void);
#endif /* INC_FIRE_ALARM_H_ */
+1 -1
View File
@@ -43,7 +43,7 @@ extern "C" {
/* USER CODE BEGIN EC */ /* USER CODE BEGIN EC */
#define FW_VERSION_MAJOR 1 #define FW_VERSION_MAJOR 1
#define FW_VERSION_MINOR 0 #define FW_VERSION_MINOR 0
#define FW_VERSION_PATCH 17 #define FW_VERSION_PATCH 18
/* USER CODE END EC */ /* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/
+2
View File
@@ -28,6 +28,8 @@
// Перезагрузка для входа в бутлоадер // Перезагрузка для входа в бутлоадер
#define CMD_DEVICE_RESET 0xB5 #define CMD_DEVICE_RESET 0xB5
// Пожарная тревога (внешний триггер)
#define CMD_FIRE_ALARM 0xB7
// Коды ответов // Коды ответов
#define RESP_SUCCESS 0x12 #define RESP_SUCCESS 0x12
+8
View File
@@ -4,6 +4,7 @@
#include "psu_control.h" #include "psu_control.h"
#include "connector.h" #include "connector.h"
#include "debug.h" #include "debug.h"
#include "fire_alarm.h"
ChargingConnector_t CONN; ChargingConnector_t CONN;
CONN_State_t connectorState; CONN_State_t connectorState;
@@ -19,6 +20,13 @@ void CONN_Init(){
void CONN_Loop(){ void CONN_Loop(){
static CONN_State_t last_connState = Unknown; static CONN_State_t last_connState = Unknown;
if (FireAlarm_IsLatched()) {
CONN.chargingError = CONN_ERR_FIRE_ALARM;
CONN.EnableOutput = 0;
return;
}
if(last_connState != CONN.connState){ if(last_connState != CONN.connState){
last_connState = CONN.connState; last_connState = CONN.connState;
CONN.connControl = CMD_NONE; CONN.connControl = CMD_NONE;
+74
View File
@@ -0,0 +1,74 @@
#include "fire_alarm.h"
#include "serial_control.h"
#include "charger_control.h"
#include "connector.h"
#include "serial.h"
#include "cp.h"
#include "debug.h"
static uint8_t fire_alarm_latched = 0;
static uint32_t fire_alarm_last_estop_tick = 0;
extern CCS_ConnectorState_t CCS_ConnectorState;
uint8_t FireAlarm_IsLatched(void) {
return fire_alarm_latched;
}
uint8_t FireAlarm_IsBlockingCommand(uint8_t command_code) {
if (!fire_alarm_latched) {
return 0;
}
switch (command_code) {
case CMD_GET_STATUS:
case CMD_GET_INFO:
case CMD_GET_LOG:
case CMD_DEVICE_RESET:
return 0;
default:
return 1;
}
}
void FireAlarm_Activate(void) {
if (fire_alarm_latched) {
return;
}
fire_alarm_latched = 1;
CONN.chargingError = CONN_ERR_FIRE_ALARM;
CONN.connControl = CMD_STOP;
CONN.EnableOutput = 0;
log_printf(LOG_ERR, "FIRE ALARM activated\n");
CCS_SendEmergencyStop();
fire_alarm_last_estop_tick = HAL_GetTick();
CP_SetDuty(100);
CCS_ConnectorState = CCS_DISABLED;
CONN_SetState(Disabled);
}
void FireAlarm_Maintain(void) {
if (!fire_alarm_latched) {
return;
}
CONN.chargingError = CONN_ERR_FIRE_ALARM;
CONN.EnableOutput = 0;
CP_SetDuty(100);
if ((int32_t)(HAL_GetTick() - fire_alarm_last_estop_tick) >= 1000) {
CCS_SendEmergencyStop();
fire_alarm_last_estop_tick = HAL_GetTick();
}
if (CCS_ConnectorState != CCS_DISABLED && CCS_ConnectorState != CCS_UNKNOWN) {
CCS_ConnectorState = CCS_DISABLED;
}
if (CONN.connState != Disabled) {
CONN_SetState(Disabled);
}
}
+5
View File
@@ -1,4 +1,5 @@
#include "rgb_controller.h" #include "rgb_controller.h"
#include "fire_alarm.h"
#include "main.h" #include "main.h"
#include "string.h" #include "string.h"
#include "charger_control.h" #include "charger_control.h"
@@ -100,6 +101,10 @@ RGB_Cycle_t color_error = {
}; };
void LED_Write(){ void LED_Write(){
if(FireAlarm_IsLatched() || CONN.chargingError == CONN_ERR_FIRE_ALARM){
LED_SetColor(&color_error);
return;
}
if(CONN.chargingError != CONN_NO_ERROR){ if(CONN.chargingError != CONN_NO_ERROR){
LED_SetColor(&color_error); LED_SetColor(&color_error);
return; return;
+32 -3
View File
@@ -9,6 +9,7 @@
#include "charger_config.h" #include "charger_config.h"
#include "psu_control.h" #include "psu_control.h"
#include "serial_control.h" #include "serial_control.h"
#include "fire_alarm.h"
extern UART_HandleTypeDef huart3; extern UART_HandleTypeDef huart3;
extern uint8_t config_initialized; extern uint8_t config_initialized;
@@ -175,6 +176,7 @@ void CCS_SerialLoop(void) {
static uint32_t stop_tick = 0; static uint32_t stop_tick = 0;
CCS_UART3_Watchdog(); CCS_UART3_Watchdog();
FireAlarm_Maintain();
if (CONN.connControl != CMD_NONE) { if (CONN.connControl != CMD_NONE) {
last_cmd = CONN.connControl; last_cmd = CONN.connControl;
@@ -216,7 +218,8 @@ void CCS_SerialLoop(void) {
if (((CONN.connControl == CMD_STOP) || if (((CONN.connControl == CMD_STOP) ||
(CONN.connControl == CMD_FORCE_UNLOCK) || (CONN.connControl == CMD_FORCE_UNLOCK) ||
(CONN.chargingError != CONN_NO_ERROR)) && (CONN.chargingError != CONN_NO_ERROR) ||
FireAlarm_IsLatched()) &&
((int32_t)(HAL_GetTick() - last_stop_sent) > 1000)) { ((int32_t)(HAL_GetTick() - last_stop_sent) > 1000)) {
last_stop_sent = HAL_GetTick(); last_stop_sent = HAL_GetTick();
log_printf(LOG_WARN, "Stopping charging...\n"); log_printf(LOG_WARN, "Stopping charging...\n");
@@ -259,6 +262,10 @@ void CCS_SerialLoop(void) {
everest_timed_out = host_timeout_stop; everest_timed_out = host_timeout_stop;
switch(CCS_ConnectorState){ switch(CCS_ConnectorState){
case CCS_UNKNOWN: case CCS_UNKNOWN:
if (FireAlarm_IsLatched()) {
CCS_ConnectorState = CCS_DISABLED;
break;
}
RELAY_Write(RELAY_CP, 0); RELAY_Write(RELAY_CP, 0);
CONN_SetState(Unknown); CONN_SetState(Unknown);
if (config_initialized && !host_timed_out) { if (config_initialized && !host_timed_out) {
@@ -268,11 +275,15 @@ void CCS_SerialLoop(void) {
case CCS_DISABLED: case CCS_DISABLED:
RELAY_Write(RELAY_CP, 0); RELAY_Write(RELAY_CP, 0);
CONN_SetState(Disabled); CONN_SetState(Disabled);
if ((CONN.chargingError == CONN_NO_ERROR) && !host_timed_out){ if (!FireAlarm_IsLatched() && (CONN.chargingError == CONN_NO_ERROR) && !host_timed_out){
CCS_ConnectorState = CCS_UNPLUGGED; CCS_ConnectorState = CCS_UNPLUGGED;
} }
break; break;
case CCS_UNPLUGGED: case CCS_UNPLUGGED:
if (FireAlarm_IsLatched()) {
CCS_ConnectorState = CCS_DISABLED;
break;
}
RELAY_Write(RELAY_CP, 1); RELAY_Write(RELAY_CP, 1);
CONN_SetState(Unplugged); CONN_SetState(Unplugged);
if ((cp_state_buffer == EV_STATE_B_CONN_PREP) || (cp_state_buffer == EV_STATE_C_CONN_ACTIVE)){ if ((cp_state_buffer == EV_STATE_B_CONN_PREP) || (cp_state_buffer == EV_STATE_C_CONN_ACTIVE)){
@@ -285,6 +296,10 @@ void CCS_SerialLoop(void) {
break; break;
case CCS_AUTH_REQUIRED: case CCS_AUTH_REQUIRED:
if (FireAlarm_IsLatched()) {
CCS_ConnectorState = CCS_DISABLED;
break;
}
RELAY_Write(RELAY_CP, 1); RELAY_Write(RELAY_CP, 1);
CONN_SetState(AuthRequired); CONN_SetState(AuthRequired);
if(CONN.connControl == CMD_START){ if(CONN.connControl == CMD_START){
@@ -297,6 +312,10 @@ void CCS_SerialLoop(void) {
} }
break; break;
case CCS_CONNECTED: case CCS_CONNECTED:
if (FireAlarm_IsLatched()) {
CCS_ConnectorState = CCS_DISABLED;
break;
}
RELAY_Write(RELAY_CP, 1); RELAY_Write(RELAY_CP, 1);
if((CCS_EvseState < Preparing) || (CCS_EvseState == AuthRequired)) { if((CCS_EvseState < Preparing) || (CCS_EvseState == AuthRequired)) {
CONN_SetState(Preparing); CONN_SetState(Preparing);
@@ -313,6 +332,10 @@ void CCS_SerialLoop(void) {
} }
break; break;
case CCS_REPLUGGING: case CCS_REPLUGGING:
if (FireAlarm_IsLatched()) {
CCS_ConnectorState = CCS_DISABLED;
break;
}
RELAY_Write(RELAY_CP, 0); RELAY_Write(RELAY_CP, 0);
CONN_SetState(Replugging); CONN_SetState(Replugging);
if((int32_t)(HAL_GetTick() - replug_tick) > 1000){ if((int32_t)(HAL_GetTick() - replug_tick) > 1000){
@@ -335,7 +358,13 @@ void CCS_SerialLoop(void) {
} }
// 10s timeout: enforce safe-state until host communication recovers. // 10s timeout: enforce safe-state until host communication recovers.
if (host_timeout_stop) { if (FireAlarm_IsLatched()) {
CONN.EnableOutput = 0;
CP_SetDuty(100);
if (CCS_ConnectorState != CCS_DISABLED && CCS_ConnectorState != CCS_UNKNOWN) {
CCS_ConnectorState = CCS_DISABLED;
}
} else if (host_timeout_stop) {
CONN.EnableOutput = 0; CONN.EnableOutput = 0;
CCS_EvseState = Unknown; CCS_EvseState = Unknown;
CP_SetDuty(100); CP_SetDuty(100);
+11
View File
@@ -4,6 +4,7 @@
#include "board.h" #include "board.h"
#include "psu_control.h" #include "psu_control.h"
#include "debug.h" #include "debug.h"
#include "fire_alarm.h"
#include <string.h> #include <string.h>
#ifdef USE_WEB_INTERFACE #ifdef USE_WEB_INTERFACE
@@ -27,6 +28,11 @@ void SC_CommandHandler(ReceivedCommand_t* cmd) {
uint8_t response_code = RESP_FAILED; uint8_t response_code = RESP_FAILED;
if (FireAlarm_IsBlockingCommand(cmd->command)) {
SC_SendPacket(NULL, 0, RESP_FAILED);
return;
}
switch (cmd->command) { switch (cmd->command) {
// Команды БЕЗ аргументов // Команды БЕЗ аргументов
case CMD_GET_STATUS: case CMD_GET_STATUS:
@@ -86,6 +92,11 @@ void SC_CommandHandler(ReceivedCommand_t* cmd) {
// } // }
response_code = RESP_FAILED; response_code = RESP_FAILED;
break; break;
case CMD_FIRE_ALARM:
FireAlarm_Activate();
response_code = RESP_SUCCESS;
break;
case CMD_DEVICE_RESET: case CMD_DEVICE_RESET:
// 2. Отправляем SUCCESS (хост может успеть получить его перед ребутом) // 2. Отправляем SUCCESS (хост может успеть получить его перед ребутом)
SC_SendPacket(NULL, 0, RESP_SUCCESS); SC_SendPacket(NULL, 0, RESP_SUCCESS);
Binary file not shown.
+3579 -4075
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -1,5 +1,5 @@
../Core/Src/charger_control.c:12:6:CONN_Init 1 ../Core/Src/charger_control.c:13:6:CONN_Init 1
../Core/Src/charger_control.c:20:6:CONN_Loop 6 ../Core/Src/charger_control.c:21:6:CONN_Loop 7
../Core/Src/charger_control.c:42:6:CONN_Task 1 ../Core/Src/charger_control.c:50:6:CONN_Task 1
../Core/Src/charger_control.c:49:6:CONN_SetState 16 ../Core/Src/charger_control.c:57:6:CONN_SetState 16
../Core/Src/charger_control.c:75:6:CONN_PrintChargingTotal 1 ../Core/Src/charger_control.c:83:6:CONN_PrintChargingTotal 1
+4
View File
@@ -0,0 +1,4 @@
../Core/Src/fire_alarm.c:14:9:FireAlarm_IsLatched 1
../Core/Src/fire_alarm.c:18:9:FireAlarm_IsBlockingCommand 8
../Core/Src/fire_alarm.c:34:6:FireAlarm_Activate 2
../Core/Src/fire_alarm.c:53:6:FireAlarm_Maintain 6
+6 -6
View File
@@ -1,6 +1,6 @@
../Core/Src/rgb_controller.c:102:6:LED_Write 18 ../Core/Src/rgb_controller.c:103:6:LED_Write 20
../Core/Src/rgb_controller.c:164:6:interpolateColors 3 ../Core/Src/rgb_controller.c:169:6:interpolateColors 3
../Core/Src/rgb_controller.c:182:6:RGB_SetColor 1 ../Core/Src/rgb_controller.c:187:6:RGB_SetColor 1
../Core/Src/rgb_controller.c:188:6:LED_SetColor 1 ../Core/Src/rgb_controller.c:193:6:LED_SetColor 1
../Core/Src/rgb_controller.c:193:6:LED_Init 1 ../Core/Src/rgb_controller.c:198:6:LED_Init 1
../Core/Src/rgb_controller.c:225:6:LED_Task 10 ../Core/Src/rgb_controller.c:230:6:LED_Task 10
+20 -20
View File
@@ -1,20 +1,20 @@
../Core/Src/serial.c:70:22:uart3_log_hal_error 3 ../Core/Src/serial.c:71:22:uart3_log_hal_error 3
../Core/Src/serial.c:90:22:uart3_arm_rx_or_log 3 ../Core/Src/serial.c:91:22:uart3_arm_rx_or_log 3
../Core/Src/serial.c:106:15:CCS_RxEventCallback 4 ../Core/Src/serial.c:107:15:CCS_RxEventCallback 4
../Core/Src/serial.c:129:15:HAL_UART_ErrorCallback 5 ../Core/Src/serial.c:130:15:HAL_UART_ErrorCallback 5
../Core/Src/serial.c:149:6:CCS_TxCpltCallback 4 ../Core/Src/serial.c:150:6:CCS_TxCpltCallback 4
../Core/Src/serial.c:165:6:CCS_SerialLoop 62 ../Core/Src/serial.c:166:6:CCS_SerialLoop 72
../Core/Src/serial.c:365:6:CCS_Init 1 ../Core/Src/serial.c:394:6:CCS_Init 1
../Core/Src/serial.c:380:26:crc16_ibm 3 ../Core/Src/serial.c:409:26:crc16_ibm 3
../Core/Src/serial.c:395:17:CCS_BuildPacket 4 ../Core/Src/serial.c:424:17:CCS_BuildPacket 4
../Core/Src/serial.c:411:13:CCS_SendPacket 4 ../Core/Src/serial.c:440:13:CCS_SendPacket 4
../Core/Src/serial.c:428:13:CCS_SendResetReason 1 ../Core/Src/serial.c:457:13:CCS_SendResetReason 1
../Core/Src/serial.c:432:6:CCS_SendEmergencyStop 1 ../Core/Src/serial.c:461:6:CCS_SendEmergencyStop 1
../Core/Src/serial.c:436:6:CCS_SendStart 1 ../Core/Src/serial.c:465:6:CCS_SendStart 1
../Core/Src/serial.c:440:13:CCS_CalculateEnergy 2 ../Core/Src/serial.c:469:13:CCS_CalculateEnergy 2
../Core/Src/serial.c:455:13:send_state 3 ../Core/Src/serial.c:484:13:send_state 3
../Core/Src/serial.c:485:26:expected_payload_len 2 ../Core/Src/serial.c:514:26:expected_payload_len 2
../Core/Src/serial.c:501:22:apply_command 15 ../Core/Src/serial.c:530:22:apply_command 15
../Core/Src/serial.c:583:25:process_received_packet 8 ../Core/Src/serial.c:612:25:process_received_packet 8
../Core/Src/serial.c:636:13:CCS_UART3_Watchdog 4 ../Core/Src/serial.c:665:13:CCS_UART3_Watchdog 4
../Core/Src/serial.c:649:13:CCS_LogUart3Error 1 ../Core/Src/serial.c:678:13:CCS_LogUart3Error 1
+2 -2
View File
@@ -1,3 +1,3 @@
../Drivers/CMSIS/Include/core_cm3.h:1762:34:__NVIC_SystemReset 1 ../Drivers/CMSIS/Include/core_cm3.h:1762:34:__NVIC_SystemReset 1
../Core/Src/serial_handler.c:26:6:SC_CommandHandler 19 ../Core/Src/serial_handler.c:27:6:SC_CommandHandler 21
../Core/Src/serial_handler.c:125:6:monitoring_data_callback 1 ../Core/Src/serial_handler.c:136:6:monitoring_data_callback 1
+4 -1
View File
@@ -13,6 +13,7 @@ C_SRCS += \
../Core/Src/crc.c \ ../Core/Src/crc.c \
../Core/Src/debug.c \ ../Core/Src/debug.c \
../Core/Src/dma.c \ ../Core/Src/dma.c \
../Core/Src/fire_alarm.c \
../Core/Src/gpio.c \ ../Core/Src/gpio.c \
../Core/Src/main.c \ ../Core/Src/main.c \
../Core/Src/meter.c \ ../Core/Src/meter.c \
@@ -41,6 +42,7 @@ C_DEPS += \
./Core/Src/crc.d \ ./Core/Src/crc.d \
./Core/Src/debug.d \ ./Core/Src/debug.d \
./Core/Src/dma.d \ ./Core/Src/dma.d \
./Core/Src/fire_alarm.d \
./Core/Src/gpio.d \ ./Core/Src/gpio.d \
./Core/Src/main.d \ ./Core/Src/main.d \
./Core/Src/meter.d \ ./Core/Src/meter.d \
@@ -69,6 +71,7 @@ OBJS += \
./Core/Src/crc.o \ ./Core/Src/crc.o \
./Core/Src/debug.o \ ./Core/Src/debug.o \
./Core/Src/dma.o \ ./Core/Src/dma.o \
./Core/Src/fire_alarm.o \
./Core/Src/gpio.o \ ./Core/Src/gpio.o \
./Core/Src/main.o \ ./Core/Src/main.o \
./Core/Src/meter.o \ ./Core/Src/meter.o \
@@ -96,7 +99,7 @@ Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
clean: clean-Core-2f-Src clean: clean-Core-2f-Src
clean-Core-2f-Src: clean-Core-2f-Src:
-$(RM) ./Core/Src/adc.cyclo ./Core/Src/adc.d ./Core/Src/adc.o ./Core/Src/adc.su ./Core/Src/board.cyclo ./Core/Src/board.d ./Core/Src/board.o ./Core/Src/board.su ./Core/Src/can.cyclo ./Core/Src/can.d ./Core/Src/can.o ./Core/Src/can.su ./Core/Src/charger_control.cyclo ./Core/Src/charger_control.d ./Core/Src/charger_control.o ./Core/Src/charger_control.su ./Core/Src/cp.cyclo ./Core/Src/cp.d ./Core/Src/cp.o ./Core/Src/cp.su ./Core/Src/crc.cyclo ./Core/Src/crc.d ./Core/Src/crc.o ./Core/Src/crc.su ./Core/Src/debug.cyclo ./Core/Src/debug.d ./Core/Src/debug.o ./Core/Src/debug.su ./Core/Src/dma.cyclo ./Core/Src/dma.d ./Core/Src/dma.o ./Core/Src/dma.su ./Core/Src/gpio.cyclo ./Core/Src/gpio.d ./Core/Src/gpio.o ./Core/Src/gpio.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/meter.cyclo ./Core/Src/meter.d ./Core/Src/meter.o ./Core/Src/meter.su ./Core/Src/psu_control.cyclo ./Core/Src/psu_control.d ./Core/Src/psu_control.o ./Core/Src/psu_control.su ./Core/Src/rgb_controller.cyclo ./Core/Src/rgb_controller.d ./Core/Src/rgb_controller.o ./Core/Src/rgb_controller.su ./Core/Src/rtc.cyclo ./Core/Src/rtc.d ./Core/Src/rtc.o ./Core/Src/rtc.su ./Core/Src/serial.cyclo ./Core/Src/serial.d ./Core/Src/serial.o ./Core/Src/serial.su ./Core/Src/serial_control.cyclo ./Core/Src/serial_control.d ./Core/Src/serial_control.o ./Core/Src/serial_control.su ./Core/Src/serial_handler.cyclo ./Core/Src/serial_handler.d ./Core/Src/serial_handler.o ./Core/Src/serial_handler.su ./Core/Src/sma_filter.cyclo ./Core/Src/sma_filter.d ./Core/Src/sma_filter.o ./Core/Src/sma_filter.su ./Core/Src/soft_rtc.cyclo ./Core/Src/soft_rtc.d ./Core/Src/soft_rtc.o ./Core/Src/soft_rtc.su ./Core/Src/stm32f1xx_hal_msp.cyclo ./Core/Src/stm32f1xx_hal_msp.d ./Core/Src/stm32f1xx_hal_msp.o ./Core/Src/stm32f1xx_hal_msp.su ./Core/Src/stm32f1xx_it.cyclo ./Core/Src/stm32f1xx_it.d ./Core/Src/stm32f1xx_it.o ./Core/Src/stm32f1xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32f1xx.cyclo ./Core/Src/system_stm32f1xx.d ./Core/Src/system_stm32f1xx.o ./Core/Src/system_stm32f1xx.su ./Core/Src/tim.cyclo ./Core/Src/tim.d ./Core/Src/tim.o ./Core/Src/tim.su ./Core/Src/usart.cyclo ./Core/Src/usart.d ./Core/Src/usart.o ./Core/Src/usart.su -$(RM) ./Core/Src/adc.cyclo ./Core/Src/adc.d ./Core/Src/adc.o ./Core/Src/adc.su ./Core/Src/board.cyclo ./Core/Src/board.d ./Core/Src/board.o ./Core/Src/board.su ./Core/Src/can.cyclo ./Core/Src/can.d ./Core/Src/can.o ./Core/Src/can.su ./Core/Src/charger_control.cyclo ./Core/Src/charger_control.d ./Core/Src/charger_control.o ./Core/Src/charger_control.su ./Core/Src/cp.cyclo ./Core/Src/cp.d ./Core/Src/cp.o ./Core/Src/cp.su ./Core/Src/crc.cyclo ./Core/Src/crc.d ./Core/Src/crc.o ./Core/Src/crc.su ./Core/Src/debug.cyclo ./Core/Src/debug.d ./Core/Src/debug.o ./Core/Src/debug.su ./Core/Src/dma.cyclo ./Core/Src/dma.d ./Core/Src/dma.o ./Core/Src/dma.su ./Core/Src/fire_alarm.cyclo ./Core/Src/fire_alarm.d ./Core/Src/fire_alarm.o ./Core/Src/fire_alarm.su ./Core/Src/gpio.cyclo ./Core/Src/gpio.d ./Core/Src/gpio.o ./Core/Src/gpio.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/meter.cyclo ./Core/Src/meter.d ./Core/Src/meter.o ./Core/Src/meter.su ./Core/Src/psu_control.cyclo ./Core/Src/psu_control.d ./Core/Src/psu_control.o ./Core/Src/psu_control.su ./Core/Src/rgb_controller.cyclo ./Core/Src/rgb_controller.d ./Core/Src/rgb_controller.o ./Core/Src/rgb_controller.su ./Core/Src/rtc.cyclo ./Core/Src/rtc.d ./Core/Src/rtc.o ./Core/Src/rtc.su ./Core/Src/serial.cyclo ./Core/Src/serial.d ./Core/Src/serial.o ./Core/Src/serial.su ./Core/Src/serial_control.cyclo ./Core/Src/serial_control.d ./Core/Src/serial_control.o ./Core/Src/serial_control.su ./Core/Src/serial_handler.cyclo ./Core/Src/serial_handler.d ./Core/Src/serial_handler.o ./Core/Src/serial_handler.su ./Core/Src/sma_filter.cyclo ./Core/Src/sma_filter.d ./Core/Src/sma_filter.o ./Core/Src/sma_filter.su ./Core/Src/soft_rtc.cyclo ./Core/Src/soft_rtc.d ./Core/Src/soft_rtc.o ./Core/Src/soft_rtc.su ./Core/Src/stm32f1xx_hal_msp.cyclo ./Core/Src/stm32f1xx_hal_msp.d ./Core/Src/stm32f1xx_hal_msp.o ./Core/Src/stm32f1xx_hal_msp.su ./Core/Src/stm32f1xx_it.cyclo ./Core/Src/stm32f1xx_it.d ./Core/Src/stm32f1xx_it.o ./Core/Src/stm32f1xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32f1xx.cyclo ./Core/Src/system_stm32f1xx.d ./Core/Src/system_stm32f1xx.o ./Core/Src/system_stm32f1xx.su ./Core/Src/tim.cyclo ./Core/Src/tim.d ./Core/Src/tim.o ./Core/Src/tim.su ./Core/Src/usart.cyclo ./Core/Src/usart.d ./Core/Src/usart.o ./Core/Src/usart.su
.PHONY: clean-Core-2f-Src .PHONY: clean-Core-2f-Src
+1
View File
@@ -6,6 +6,7 @@
"./Core/Src/crc.o" "./Core/Src/crc.o"
"./Core/Src/debug.o" "./Core/Src/debug.o"
"./Core/Src/dma.o" "./Core/Src/dma.o"
"./Core/Src/fire_alarm.o"
"./Core/Src/gpio.o" "./Core/Src/gpio.o"
"./Core/Src/main.o" "./Core/Src/main.o"
"./Core/Src/meter.o" "./Core/Src/meter.o"