
#ifndef BL_USART_H_
#define BL_USART_H_


#include "comm_types.h"
#include "chargControlTypes.h"
#include "uart_dev.h"

/* 是否使能充电控制盒的HY协议 */
#define HY_ChargeControlBox_PROTOCOL_ENABLE



/* SL协议读取寄存器最大地址 */
#define maxReadRegAddrMacro 0x0150
/* SL协议读取寄存器最小地址 */
#define minReadRegAddrMacro 0x0100
/* SL协议读取寄存器最大长度 */
#define maxReadRegAddrNumMacro 80


/* SL协议写入寄存器最大地址 */
#define maxWriteRegAddrMacro 0x0150
/* SL协议写入寄存器最小地址 */
#define minWriteRegAddrMacro 0x0100
/* SL协议写入寄存器最大长度 */
#define maxWriteRegAddrNumMacro 10

/* SL协议寄存器长度 */
#define RegAddrNumMacro 32

/* SL协议下发配置文件内容最长长度 */
#define maxDistributionCfgLen 230
/* SL协议读取配置文件内容最长长度 */
#define maxReadCfgLen 80


#define floatMagnification 10.0f

#ifdef HY_ChargeControlBox_PROTOCOL_ENABLE

#define maxDataLenHY 50

#endif

void uartCommonInit(void);

uint16_t checkModebusCrc(uint8_t *arr_buff, uint8_t len);

void gw485DataAnalysis(device_handle device);


#endif
