forked from achamaikin/CCSModuleSW30Web
Update to 1.0.6. Init ready
This commit is contained in:
@@ -43,7 +43,7 @@ extern "C" {
|
|||||||
/* USER CODE BEGIN EC */
|
/* USER CODE BEGIN EC */
|
||||||
#define FW_VERSION_MAJOR 0x01
|
#define FW_VERSION_MAJOR 0x01
|
||||||
#define FW_VERSION_MINOR 0x00
|
#define FW_VERSION_MINOR 0x00
|
||||||
#define FW_VERSION_PATCH 0x05
|
#define FW_VERSION_PATCH 0x06
|
||||||
/* USER CODE END EC */
|
/* USER CODE END EC */
|
||||||
|
|
||||||
/* Exported macro ------------------------------------------------------------*/
|
/* Exported macro ------------------------------------------------------------*/
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#include "psu_control.h"
|
#include "psu_control.h"
|
||||||
|
|
||||||
extern UART_HandleTypeDef huart3;
|
extern UART_HandleTypeDef huart3;
|
||||||
|
extern uint8_t config_initialized;
|
||||||
|
|
||||||
static void send_state(void);
|
static void send_state(void);
|
||||||
static void CCS_SendResetReason(void);
|
static void CCS_SendResetReason(void);
|
||||||
@@ -111,74 +112,80 @@ void CCS_SerialLoop(void) {
|
|||||||
(void)replug_watchdog_tick;
|
(void)replug_watchdog_tick;
|
||||||
(void)replug_watchdog1_tick;
|
(void)replug_watchdog1_tick;
|
||||||
|
|
||||||
switch(CCS_ConnectorState){
|
if (!config_initialized) {
|
||||||
case CCS_DISABLED:
|
// Keep connector in Unknown until host sends valid SET_CONFIG.
|
||||||
RELAY_Write(RELAY_CP, 0);
|
RELAY_Write(RELAY_CP, 1);
|
||||||
CONN_SetState(Disabled);
|
CONN_SetState(Unknown);
|
||||||
if (CONN.chargingError == CONN_NO_ERROR){
|
} else {
|
||||||
CCS_ConnectorState = CCS_UNPLUGGED;
|
switch(CCS_ConnectorState){
|
||||||
}
|
case CCS_DISABLED:
|
||||||
break;
|
RELAY_Write(RELAY_CP, 0);
|
||||||
case CCS_UNPLUGGED:
|
CONN_SetState(Disabled);
|
||||||
RELAY_Write(RELAY_CP, 1);
|
if (CONN.chargingError == CONN_NO_ERROR){
|
||||||
CONN_SetState(Unplugged);
|
|
||||||
if ((cp_state_buffer == EV_STATE_B_CONN_PREP) || (cp_state_buffer == EV_STATE_C_CONN_ACTIVE)){
|
|
||||||
CCS_ConnectorState = CCS_AUTH_REQUIRED;
|
|
||||||
}
|
|
||||||
if (CONN.chargingError != CONN_NO_ERROR){
|
|
||||||
log_printf(LOG_ERR, "Charging error %d, state -> disabled\n", CONN.chargingError);
|
|
||||||
CCS_ConnectorState = CCS_DISABLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case CCS_AUTH_REQUIRED:
|
|
||||||
RELAY_Write(RELAY_CP, 1);
|
|
||||||
CONN_SetState(AuthRequired);
|
|
||||||
if(CONN.connControl == CMD_START){
|
|
||||||
log_printf(LOG_INFO, "Charging permitted, start charging\n");
|
|
||||||
CCS_ConnectorState = CCS_CONNECTED;
|
|
||||||
}
|
|
||||||
if (cp_state_buffer == EV_STATE_A_IDLE){
|
|
||||||
log_printf(LOG_INFO, "Car unplugged\n");
|
|
||||||
CCS_ConnectorState = CCS_UNPLUGGED;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CCS_CONNECTED:
|
|
||||||
RELAY_Write(RELAY_CP, 1);
|
|
||||||
if(CCS_EvseState < Preparing) {
|
|
||||||
CONN_SetState(Preparing);
|
|
||||||
} else {
|
|
||||||
CONN_SetState(CCS_EvseState);
|
|
||||||
}
|
|
||||||
if (cp_state_buffer == EV_STATE_A_IDLE){
|
|
||||||
log_printf(LOG_INFO, "Car unplugged\n");
|
|
||||||
CCS_ConnectorState = CCS_UNPLUGGED;
|
|
||||||
}
|
|
||||||
if(REPLUG > 0){
|
|
||||||
log_printf(LOG_INFO, "Replugging...\n");
|
|
||||||
CCS_ConnectorState = CCS_REPLUGGING;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CCS_REPLUGGING:
|
|
||||||
RELAY_Write(RELAY_CP, 0);
|
|
||||||
CONN_SetState(Replugging);
|
|
||||||
if((HAL_GetTick() - replug_tick) > 1000){
|
|
||||||
replug_tick = HAL_GetTick();
|
|
||||||
if(REPLUG > 0){
|
|
||||||
if (REPLUG != 0xFF) REPLUG--;
|
|
||||||
} else {
|
|
||||||
log_printf(LOG_INFO, "Replugging finished, but car unplugged\n");
|
|
||||||
CCS_ConnectorState = CCS_UNPLUGGED;
|
CCS_ConnectorState = CCS_UNPLUGGED;
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
|
case CCS_UNPLUGGED:
|
||||||
if(REPLUG == 0){
|
RELAY_Write(RELAY_CP, 1);
|
||||||
if(cp_state_buffer == EV_STATE_B_CONN_PREP){
|
CONN_SetState(Unplugged);
|
||||||
log_printf(LOG_INFO, "Replugging finished, car plugged, state -> auth required\n");
|
if ((cp_state_buffer == EV_STATE_B_CONN_PREP) || (cp_state_buffer == EV_STATE_C_CONN_ACTIVE)){
|
||||||
CCS_ConnectorState = CCS_AUTH_REQUIRED;
|
CCS_ConnectorState = CCS_AUTH_REQUIRED;
|
||||||
}
|
}
|
||||||
}
|
if (CONN.chargingError != CONN_NO_ERROR){
|
||||||
break;
|
log_printf(LOG_ERR, "Charging error %d, state -> disabled\n", CONN.chargingError);
|
||||||
|
CCS_ConnectorState = CCS_DISABLED;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case CCS_AUTH_REQUIRED:
|
||||||
|
RELAY_Write(RELAY_CP, 1);
|
||||||
|
CONN_SetState(AuthRequired);
|
||||||
|
if(CONN.connControl == CMD_START){
|
||||||
|
log_printf(LOG_INFO, "Charging permitted, start charging\n");
|
||||||
|
CCS_ConnectorState = CCS_CONNECTED;
|
||||||
|
}
|
||||||
|
if (cp_state_buffer == EV_STATE_A_IDLE){
|
||||||
|
log_printf(LOG_INFO, "Car unplugged\n");
|
||||||
|
CCS_ConnectorState = CCS_UNPLUGGED;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CCS_CONNECTED:
|
||||||
|
RELAY_Write(RELAY_CP, 1);
|
||||||
|
if(CCS_EvseState < Preparing) {
|
||||||
|
CONN_SetState(Preparing);
|
||||||
|
} else {
|
||||||
|
CONN_SetState(CCS_EvseState);
|
||||||
|
}
|
||||||
|
if (cp_state_buffer == EV_STATE_A_IDLE){
|
||||||
|
log_printf(LOG_INFO, "Car unplugged\n");
|
||||||
|
CCS_ConnectorState = CCS_UNPLUGGED;
|
||||||
|
}
|
||||||
|
if(REPLUG > 0){
|
||||||
|
log_printf(LOG_INFO, "Replugging...\n");
|
||||||
|
CCS_ConnectorState = CCS_REPLUGGING;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CCS_REPLUGGING:
|
||||||
|
RELAY_Write(RELAY_CP, 0);
|
||||||
|
CONN_SetState(Replugging);
|
||||||
|
if((HAL_GetTick() - replug_tick) > 1000){
|
||||||
|
replug_tick = HAL_GetTick();
|
||||||
|
if(REPLUG > 0){
|
||||||
|
if (REPLUG != 0xFF) REPLUG--;
|
||||||
|
} else {
|
||||||
|
log_printf(LOG_INFO, "Replugging finished, but car unplugged\n");
|
||||||
|
CCS_ConnectorState = CCS_UNPLUGGED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(REPLUG == 0){
|
||||||
|
if(cp_state_buffer == EV_STATE_B_CONN_PREP){
|
||||||
|
log_printf(LOG_INFO, "Replugging finished, car plugged, state -> auth required\n");
|
||||||
|
CCS_ConnectorState = CCS_AUTH_REQUIRED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If Everest timeout happened, keep safe-state and limit log frequency.
|
// If Everest timeout happened, keep safe-state and limit log frequency.
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,15 @@
|
|||||||
../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.c:54:6:CCS_RxEventCallback 4
|
../Core/Src/serial.c:55:6:CCS_RxEventCallback 4
|
||||||
../Core/Src/serial.c:64:6:CCS_SerialLoop 44
|
../Core/Src/serial.c:65:6:CCS_SerialLoop 45
|
||||||
../Core/Src/serial.c:224:6:CCS_Init 1
|
../Core/Src/serial.c:231:6:CCS_Init 1
|
||||||
../Core/Src/serial.c:236:17:crc16_ibm 4
|
../Core/Src/serial.c:243:17:crc16_ibm 4
|
||||||
../Core/Src/serial.c:251:17:CCS_BuildPacket 4
|
../Core/Src/serial.c:258:17:CCS_BuildPacket 4
|
||||||
../Core/Src/serial.c:267:13:CCS_SendPacket 2
|
../Core/Src/serial.c:274:13:CCS_SendPacket 2
|
||||||
../Core/Src/serial.c:275:13:CCS_SendResetReason 1
|
../Core/Src/serial.c:282:13:CCS_SendResetReason 1
|
||||||
../Core/Src/serial.c:279:6:CCS_SendEmergencyStop 1
|
../Core/Src/serial.c:286:6:CCS_SendEmergencyStop 1
|
||||||
../Core/Src/serial.c:283:6:CCS_SendStart 1
|
../Core/Src/serial.c:290:6:CCS_SendStart 1
|
||||||
../Core/Src/serial.c:287:13:CCS_CalculateEnergy 2
|
../Core/Src/serial.c:294:13:CCS_CalculateEnergy 2
|
||||||
../Core/Src/serial.c:302:13:send_state 2
|
../Core/Src/serial.c:309:13:send_state 2
|
||||||
../Core/Src/serial.c:329:17:expected_payload_len 11
|
../Core/Src/serial.c:336:17:expected_payload_len 11
|
||||||
../Core/Src/serial.c:345:13:apply_command 13
|
../Core/Src/serial.c:352:13:apply_command 13
|
||||||
../Core/Src/serial.c:414:16:process_received_packet 6
|
../Core/Src/serial.c:421:16:process_received_packet 6
|
||||||
|
|||||||
Reference in New Issue
Block a user