/** ****************************************************************************** * File Name : USART.h * Description : This file provides code for the configuration * of the USART instances. ****************************************************************************** * @attention * *

© Copyright (c) 2020 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under Ultimate Liberty license * SLA0044, the "License"; You may not use this file except in compliance with * the License. You may obtain a copy of the License at: * www.st.com/SLA0044 * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __usart_H #define __usart_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "main.h" /* USER CODE BEGIN Includes */ #include #include #include #include "usbd_cdc_if.h" /* USER CODE END Includes */ extern UART_HandleTypeDef huart5; extern UART_HandleTypeDef huart1; extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart3; extern UART_HandleTypeDef huart6; /* USER CODE BEGIN Private defines */ #define RFID_USART huart1 //#define METER_USART huart2 #define IAP_USART huart3 #define BLE_USART huart5 #ifdef FUNC_RS485_SLAVE #define RS485_USART huart2 #endif #define WIFI_USART huart5 #define DEBUG_USART huart6 #define UART_BUFFER_SIZE ((uint32_t)2048) #define TX_TIMEOUT ((uint32_t)0x010) #define RX_TIMEOUT ((uint32_t)0xFFFFFFFF) /* UART protocol constant declare */ #define PROTOCOL_HEAD 0xaa #ifdef FUNC_RS485_SLAVE //Internal Module Communication Protocol / 2.2 Slave Address //0x01 Aux. power module Aux. power module in DC EVSE system //0x02 Fan control module System fan control module in DC EVSE system //0x03 Relay control module Output relay control module in DC EVSE system //0x04 IO Extend module IO extend module in DC EVSE system //0x05 AC mainboard module AC mainboard module in DC EVSE system (*) //0x06 LED control module LED control module in DC EVSE system //0x07 Relay RC_1 module Output relay module in 360KW Power Cabinet //0x08 Relay RC_2 module Output relay module in 360KW Power Cabinet //0x09 Relay control module Output relay module in 360KW Dispenser //0xFF Broadcast Don!|t need to address module or broadcast usage //#define PROTOCOL_ADDR 0x05 #define PROTOCOL_ADDR 0xff #define PROTOCOL_ADDR_AC_MAINBOARD 0x05 #else #define PROTOCOL_ADDR 0xff // 0x01:AUX PWR 0x02: FAN BD 0x03:RLY BD 0xff:Any #endif //FUNC_RS485_SLAVE #define PROTOCOL_ADDR_BROADCAST 0xff #define PROTOCOL_MESSAGE_QUERY_FW_VER 0x01 #define PROTOCOL_MESSAGE_QUERY_HW_VER 0x02 #define PROTOCOL_MESSAGE_QUERY_PRESENT_INPUT_VOLTAGE 0x03 #define PROTOCOL_MESSAGE_QUERY_PRESENT_OUTPUT_VOLTAGE 0x04 #define PROTOCOL_MESSAGE_QUERY_FAN_SPEED 0x05 #define PROTOCOL_MESSAGE_QUERY_TEMPERATURE 0x06 #define PROTOCOL_MESSAGE_QUERY_AUX_POWER_VOLTAGE 0x07 #define PROTOCOL_MESSAGE_QUERY_RELAY_OUTPUT_STATUS 0x08 #define PROTOCOL_MESSAGE_QUERY_GFD_ADC_VALUE 0x09 #define PROTOCOL_MESSAGE_QUERY_INPUT_GPIO_STATUS 0x0A #define PROTOCOL_MESSAGE_QUERY_ALARM_LOG 0x22 #define PROTOCOL_MESSAGE_QUERY_SN 0x23 #define PROTOCOL_MESSAGE_QUERY_MODEL_NAME 0x24 #define PROTOCOL_MESSAGE_QUERY_PARAMETER 0x25 #define PROTOCOL_MESSAGE_QUERY_RTC 0x26 #define PROTOCOL_MESSAGE_QUERY_PRESENT_OUTPUT_CURRENT 0x27 //edward 2019_08_27 #define PROTOCOL_MESSAGE_QUERY_EVSE_STATE 0x28 #define PROTOCOL_MESSAGE_QUERY_EVSE_ALARM 0x29 #define PROTOCOL_MESSAGE_QUERY_BLE_STATE 0x2A #define PROTOCOL_MESSAGE_QUERY_BLE_LOGIC_CENTRAL_ID 0x2B #define PROTOCOL_MESSAGE_QUERY_POWER_CONSUME 0x2C #define PROTOCOL_MESSAGE_QUERY_GUN_PLUGIN_TIMES 0x2D #define PROTOCOL_MESSAGE_QUERY_EVSE_AUTH_MODE 0x2E #define PROTOCOL_MESSAGE_QUERY_PRESENT_LEAK_CURRENT 0x2F #define PROTOCOL_MESSAGE_CONFIG_FAN_SPEED 0x81 #define PROTOCOL_MESSAGE_CONFIG_SN 0x82 #define PROTOCOL_MESSAGE_CONFIG_MODEL_NAME 0x83 #define PROTOCOL_MESSAGE_CONFIG_PARAMETER 0x84 #define PROTOCOL_MESSAGE_CONFIG_RELAY_OUTPUT 0x85 #define PROTOCOL_MESSAGE_CONFIG_GPIO_OUTPUT 0x86 #define PROTOCOL_MESSAGE_CONFIG_RTC 0x87 #define PROTOCOL_MESSAGE_CONFIG_LED_ACTION_ALARM 0x88 #define PROTOCOL_MESSAGE_CONFIG_MAX_CURRENT_PWM_DUTY 0x89 #define PROTOCOL_MESSAGE_CONFIG_LEGACY_REQUEST 0x8A #define PROTOCOL_MESSAGE_CONFIG_MCU_RESET 0x8C #define PROTOCOL_MESSAGE_CONFIG_BREATHE_LED_TIMING 0x8D #define PROTOCOL_MESSAGE_CONFIG_LED_BRIGHTNESS 0x8E #define PROTOCOL_MESSAGE_CONFIG_EVSE_AUTH_MODE 0x8F #define PROTOCOL_MESSAGE_CONFIG_ERASE_MEMORY 0x94 #ifdef FUNC_RESET_CONNECTOR_PLUGIN_TIMES #define PROTOCOL_MESSAGE_CONFIG_RESET_CONNECTOR_PLUGIN_TIMES 0xA0 #endif #define PROTOCOL_MESSAGE_UPGRADE_START 0xe0 #define PROTOCOL_MESSAGE_UPGRADE_ABOARD 0xe1 #define PROTOCOL_MESSAGE_UPGRADE_TRANS 0xe2 #define PROTOCOL_MESSAGE_UPGRADE_STOP 0xe3 #define INPUT_L1_AC_VOLTAGE 0x01 #define INPUT_L2_AC_VOLTAGE 0x02 #define INPUT_L3_AC_VOLTAGE 0x03 #define OUTPUT_L1_CURRENT 0x11 #define OUTPUT_L2_CURRENT 0x12 #define OUTPUT_L3_CURRENT 0x13 #define LEAK_CURRENT 0x21 #define GROUND_FAULT_VOLTAGE 0x31 //#define ERROR_RESTORE_POINT 0xFE //Hao: Not Used //#define ERROR_TIGGER_POINT 0xFF //Hao: Not Used #ifdef FUNC_SIMU_CHARGE_CURRENT_OUTPUT #define SIMU_CHARGE_CURRENT_CMD 0xFC #define SIMU_CHARGE_CURRENT_ON 0xC1 #define SIMU_CHARGE_CURRENT_ON_PWD 0x1234 #endif #ifdef FUNC_SWITCH_RELAY_WELDING_PROTECT #define SIMU_SWITCH_RELAY_WELDING_CMD 0xFD #define SIMU_SWITCH_RELAY_WELDING_DISABLE 0xD1 #define SIMU_SWITCH_RELAY_WELDING_PWD 0x5678 #endif #define SETTING_LEGACY_REQUEST 0x01 /* RFID module protocol constant declare */ #define RFID_CMD_AUTO_DETECT 0x1D #define RFID_CMD_LED 0x14 #define RFID_CMD_REQUEST_SN_14443A 0x20 #define RFID_CMD_REQUEST_SN_14443B 0x60 #define RFID_CMD_REQUEST_SN_FELICA 0x2f #define RFID_CMD_BLOCK_READ 0x21 #define RFID_CMD_BLOCK_WRITE 0x22 #define RFID_CMD_HALT_14443A 0x28 #define RFID_CMD_HALT_14443B 0x62 #define BLE_INIT_DELAY 10 #define BLE_CMD_SET_RESTORE 0x00 #define BLE_CMD_SET_DTR 0x01 #define BLE_CMD_SET_DSR 0x02 #define BLE_CMD_SET_PAIRING_MODE 0x03 #define BLE_CMD_SET_SECURITY_MODE 0x04 #define BLE_CMD_SET_SECURITY_TYPE 0x05 #define BLE_CMD_SET_DISCOVERABILITY 0x06 #define BLE_CMD_SET_CONNECTABILITY 0x07 #define BLE_CMD_SET_ROLE 0x08 #define BLE_CMD_SET_DATA_MODE 0x09 #define BLE_CMD_SET_NAME 0x0a #define BLE_CMD_SET_MAX_POWER 0x0b #define BLE_CMD_SET_MIN_INTERVAL 0x0c #define BLE_CMD_SET_MAX_INTERVAL 0x0d #define BLE_CMD_SET_TX_PHY 0x0e #define BLE_CMD_SET_RX_PHY 0x0f #define BLE_CMD_SET_DISCONNECT_DEVICE 0x10 #define BLE_CMD_GET_ADDR 0x11 #define BLE_PROTOCOL_MESSAGE_SIGN_IN 0x01 #define BLE_PROTOCOL_MESSAGE_PUK_REG 0x02 #define BLE_PROTOCOL_MESSAGE_PIN_GET 0x03 #define BLE_PROTOCOL_MESSAGE_PIN_RENEW 0x04 #define BLE_PROTOCOL_MESSAGE_PIN_DEL 0x05 #define BLE_PROTOCOL_MESSAGE_PIN_QUERY 0x06 #define BLE_PROTOCOL_MESSAGE_CHARGING_START 0x11 #define BLE_PROTOCOL_MESSAGE_CHARGING_STOP 0x12 #define BLE_PROTOCOL_MESSAGE_STATUS_QUERY 0x13 #define BLE_PROTOCOL_MESSAGE_RESERVATION 0x14 #define BLE_PROTOCOL_MESSAGE_TIME_QUERY 0x21 #define BLE_PROTOCOL_MESSAGE_TIME_CONFIG 0x22 #define BLE_PROTOCOL_MESSAGE_LED_QUERY 0x23 #define BLE_PROTOCOL_MESSAGE_LED_CONFIG 0x24 #define BLE_PROTOCOL_MESSAGE_CURRENT_LIMIT_QUERY 0x25 #define BLE_PROTOCOL_MESSAGE_CURRENT_LIMIT_CONFIG 0x26 #define BLE_PROTOCOL_MESSAGE_FIRMWARE_VERSION_QUERY 0x31 #define BLE_PROTOCOL_MESSAGE_FIRMWARE_UPDATE_REQ 0x32 #define BLE_PROTOCOL_MESSAGE_FIRMWARE_TRANS_REQ 0x33 #define BLE_PROTOCOL_MESSAGE_FIRMWARE_END_REQ 0x34 #define WIFI_INIT_DELAY 10 #define WIFI_CMD_SET_RESTORE 0x00 #define WIFI_CMD_SET_DTR 0x01 #define WIFI_CMD_SET_DSR 0x02 #define WIFI_CMD_GET_ADDR 0x03 #define WIFI_CMD_SET_SSID 0x04 #define WIFI_CMD_SET_CHANNEL 0x05 #define WIFI_CMD_SET_SECURITY_MODE 0x06 #define WIFI_CMD_SET_PASSWORD 0x07 #define WIFI_CMD_SET_DHCPSERVER 0x08 #define WIFI_CMD_SET_TCPSETVER_CONFIG 0x09 #define WIFI_CMD_SET_AP_ACTIVE 0x0a #define WIFI_CMD_SET_DATA_MODE 0x0b #define WIFI_PROTOCOL_MESSAGE_SIGN_IN 0x01 #define WIFI_PROTOCOL_MESSAGE_PUK_REG 0x02 #define WIFI_PROTOCOL_MESSAGE_PIN_GET 0x03 #define WIFI_PROTOCOL_MESSAGE_PIN_RENEW 0x04 #define WIFI_PROTOCOL_MESSAGE_PIN_DEL 0x05 #define WIFI_PROTOCOL_MESSAGE_PIN_QUERY 0x06 #define WIFI_PROTOCOL_MESSAGE_CHARGING_START 0x11 #define WIFI_PROTOCOL_MESSAGE_CHARGING_STOP 0x12 #define WIFI_PROTOCOL_MESSAGE_STATUS_QUERY 0x13 #define WIFI_PROTOCOL_MESSAGE_RESERVATION 0x14 #define WIFI_PROTOCOL_MESSAGE_TIME_QUERY 0x21 #define WIFI_PROTOCOL_MESSAGE_TIME_CONFIG 0x22 #define WIFI_PROTOCOL_MESSAGE_LED_QUERY 0x23 #define WIFI_PROTOCOL_MESSAGE_LED_CONFIG 0x24 #define WIFI_PROTOCOL_MESSAGE_CURRENT_LIMIT_QUERY 0x25 #define WIFI_PROTOCOL_MESSAGE_CURRENT_LIMIT_CONFIG 0x26 #define WIFI_PROTOCOL_MESSAGE_FIRMWARE_VERSION_QUERY 0x31 #define WIFI_PROTOCOL_MESSAGE_FIRMWARE_UPDATE_REQ 0x32 #define WIFI_PROTOCOL_MESSAGE_FIRMWARE_TRANS_REQ 0x33 #define WIFI_PROTOCOL_MESSAGE_FIRMWARE_END_REQ 0x34 /* USER CODE END Private defines */ void MX_UART5_Init(void); void MX_USART1_UART_Init(void); void MX_USART2_UART_Init(void); void MX_USART3_UART_Init(void); void MX_USART6_UART_Init(void); /* USER CODE BEGIN Prototypes */ void serialPutString(uint8_t *fmt, ...); extern uint8_t UART_RFID_rx_buffer[UART_BUFFER_SIZE>>4]; extern uint8_t UART_RFID_recv_end_flag; extern uint16_t UART_RFID_rx_len; #ifdef FUNC_RS485_SLAVE //huart2 extern uint8_t UART_RS485_rx_buffer[UART_BUFFER_SIZE]; extern uint8_t UART_RS485_recv_end_flag; extern uint16_t UART_RS485_rx_len; #endif //huart3 extern uint8_t UART_IAP_rx_buffer[UART_BUFFER_SIZE]; extern uint8_t UART_IAP_recv_end_flag; extern uint16_t UART_IAP_rx_len; extern uint8_t isUSB_CDC_IAP; extern uint8_t UART_BLE_rx_buffer[UART_BUFFER_SIZE]; extern uint8_t UART_BLE_recv_end_flag; extern uint16_t UART_BLE_rx_len; extern uint32_t UART_BLE_Receive_Tick; extern uint8_t UART_BLE_Init_OK; extern uint8_t UART_WIFI_rx_buffer[UART_BUFFER_SIZE]; extern uint8_t UART_WIFI_recv_end_flag; extern uint16_t UART_WIFI_rx_len; extern uint32_t UART_WIFI_Receive_Tick; extern uint8_t UART_WIFI_Init_OK; extern char *BLE_CMD[]; extern char *WIFI_CMD[]; /* USER CODE END Prototypes */ #ifdef __cplusplus } #endif #endif /*__ usart_H */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/