串口主体
This commit is contained in:
parent
c6668e7f9a
commit
3ec7ad0781
|
@ -0,0 +1,572 @@
|
||||||
|
/*
|
||||||
|
* hy_protocol.h
|
||||||
|
*
|
||||||
|
* Created on: 2024年10月11日
|
||||||
|
* Author: psx
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef APP_INC_HY_PROTOCOL_H_
|
||||||
|
#define APP_INC_HY_PROTOCOL_H_
|
||||||
|
|
||||||
|
#include "debug.h"
|
||||||
|
#include "uart_dev.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
|
/* 功能码 */
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
HY_batteryStatus = 0x60, /* 电池状态数据报 */
|
||||||
|
HY_electricityStatistics = 0x61, /* 电量统计数据报 */
|
||||||
|
HY_sensorNumberConfiguration = 0x62, /* 传感器号码配置 */
|
||||||
|
HY_sensorNumberInquiry = 0x63, /* 传感器号码查询 */
|
||||||
|
HY_chargingThresholdVoltageConfiguration = 0x64, /* 充电阈值电压配置 */
|
||||||
|
HY_chargingRangeVoltageQuery = 0x65, /* 充电域值电压查询 */
|
||||||
|
HY_resetInstruction = 0x66, /* 复位指令 */
|
||||||
|
|
||||||
|
HY_chargingControlConfiguration = 0x6C, /* 充电控制配置 */
|
||||||
|
HY_chargingControlQuery = 0x6D, /* 充电控制查询 */
|
||||||
|
|
||||||
|
HY_configureProtocolType = 0x70, /* 配置协议类型 */
|
||||||
|
HY_responseConfigureProtocolType = 0x71, /* 响应配置协议类型 */
|
||||||
|
|
||||||
|
HY_queryControlBoxConfiguration = 0x74, /* 查询电池控制盒当前配置 */
|
||||||
|
HY_querySoftwareVersion = 0x75, /* 查询电池控制盒软件版本 */
|
||||||
|
HY_enterConfigurationMode = 0x76, /* 进入配置模式 */
|
||||||
|
|
||||||
|
HY_configureHardwareID = 0x7B, /* 配置控制盒硬件ID号 */
|
||||||
|
HY_hardwareID_communicationIDQuery = 0x7C, /* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
|
||||||
|
HY_modifyCommunicationID = 0x7D, /* 修改通信ID号(原传感器号) */
|
||||||
|
HY_checkMotherboardTemperature = 0x7E, /* 查询主板温度值 */
|
||||||
|
|
||||||
|
}HY_MsgFunctionCode;
|
||||||
|
|
||||||
|
|
||||||
|
/* 解析数据包的长度 */
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
HY_analyzeStartFlag = 1, /* 长度为1时解析起始标志 */
|
||||||
|
HY_analyzeHardwareID = 7, /* 长度为7时解析硬件ID */
|
||||||
|
HY_analyzeCommunicationID = 11, /* 长度为10时解析通信ID */
|
||||||
|
HY_analyzeControlWord = 12, /* 长度为12时解析控制字 */
|
||||||
|
HY_analyzeDataLen = 14, /* 长度为14时解析数据长度 */
|
||||||
|
|
||||||
|
}HY_AnalyzeDataLen;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 指定对齐方式为1字节 */
|
||||||
|
#pragma pack(push,1)
|
||||||
|
|
||||||
|
/* 默认参数 */
|
||||||
|
typedef struct _HY_default_Value{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_default_Value;
|
||||||
|
|
||||||
|
extern HY_default_Value HY_defaultValue;
|
||||||
|
|
||||||
|
/* 默认参数 */
|
||||||
|
typedef struct _HY_Recv_pack{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
}HY_Recv_pack;
|
||||||
|
|
||||||
|
/* 功能码处理函数 */
|
||||||
|
typedef void (*HYMsgProcFunc)(device_handle device, void*, uint32_t MsgLen);
|
||||||
|
typedef struct _HY_FunctionMsgProcTable{
|
||||||
|
u_int32_t msgId;
|
||||||
|
HYMsgProcFunc pMsgProc;
|
||||||
|
}HY_FuncionMsgProcTable;
|
||||||
|
|
||||||
|
|
||||||
|
/* 电池状态数据报查询 */
|
||||||
|
typedef struct _HY_batteryStatusQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_batteryStatusQuery;
|
||||||
|
#define HY_batteryStatusQuery_PACK_SIZE (sizeof(HY_batteryStatusQuery))
|
||||||
|
|
||||||
|
/* 电池状态数据报响应 */
|
||||||
|
typedef struct _HY_batteryStatusResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
float_t batteryVoltage; /* 电池电压 */
|
||||||
|
float_t dischargCurrent; /* 输出电流(流向负载) */
|
||||||
|
float_t chargCurrent1; /* 充电电流(流向电池+负载) */
|
||||||
|
float_t SOC; /* 剩余电量 */
|
||||||
|
float_t openCircuitVoltage1; /* 充电开路电压 */
|
||||||
|
uint8_t chargSwitchStatus1; /* 充电开关状态 */
|
||||||
|
float_t chargCurrent2; /* 充电电流(流向电池+负载) */
|
||||||
|
float_t openCircuitVoltage2; /* 充电开路电压 */
|
||||||
|
uint8_t chargSwitchStatus2; /* 充电开关状态 */
|
||||||
|
float_t Mos_Temperature; /* 工作温度 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_batteryStatusResponse;
|
||||||
|
#define HY_batteryStatusResponse_PACK_SIZE (sizeof(HY_batteryStatusResponse))
|
||||||
|
|
||||||
|
/* 电量统计数据报查询 */
|
||||||
|
typedef struct _HY_electricityStatisticsQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_electricityStatisticsQuery;
|
||||||
|
#define HY_electricityStatisticsQuery_PACK_SIZE (sizeof(HY_electricityStatisticsQuery))
|
||||||
|
|
||||||
|
/* 电池状态数据报响应 */
|
||||||
|
typedef struct _HY_electricityStatisticsResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
float_t statisticalDuration; /* 统计时长 */
|
||||||
|
float_t totalElectricityConsumption; /* 总电量消耗 */
|
||||||
|
float_t totalChargCapacity; /* 总充电电量 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_electricityStatisticsResponse;
|
||||||
|
#define HY_electricityStatisticsResponse_PACK_SIZE (sizeof(HY_electricityStatisticsResponse))
|
||||||
|
|
||||||
|
/* 传感器号码配置 */
|
||||||
|
typedef struct _HY_sensorNumberConfig{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t newHardwareID[6]; /* 新硬件ID;高字节在前,低字节在后(保持不变) */
|
||||||
|
uint8_t newCommunicationID[4]; /* 新通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_sensorNumberConfig;
|
||||||
|
#define HY_sensorNumberConfiguration_PACK_SIZE (sizeof(HY_sensorNumberConfig))
|
||||||
|
|
||||||
|
/* 传感器号码配置响应 */
|
||||||
|
typedef struct _HY_sensorNumberConfigurationResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_sensorNumberConfigurationResponse;
|
||||||
|
#define HY_sensorNumberConfigurationResponse_PACK_SIZE (sizeof(HY_sensorNumberConfigurationResponse))
|
||||||
|
|
||||||
|
/* 传感器号码查询 */
|
||||||
|
typedef struct _HY_sensorNumberInquiryQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t broadcastTerminal[6]; /* 广播终端ID:0xFF 0xFF 0xFF 0xFF 0xFF 0xFF */
|
||||||
|
uint8_t broadcastCommunication[4]; /* 广播通信ID:0xFF 0xFF 0xFF 0xFF */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_sensorNumberInquiryQuery;
|
||||||
|
#define HY_sensorNumberInquiryQuery_PACK_SIZE (sizeof(HY_sensorNumberInquiryQuery))
|
||||||
|
|
||||||
|
/* 传感器号码查询响应 */
|
||||||
|
typedef struct _HY_sensorNumberInquiryResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t hardwareIDR[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationIDR[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_sensorNumberInquiryResponse;
|
||||||
|
#define HY_sensorNumberInquiryResponse_PACK_SIZE (sizeof(HY_sensorNumberInquiryResponse))
|
||||||
|
|
||||||
|
/* 充电阈值电压配置 */
|
||||||
|
typedef struct _HY_chargingThresholdVoltageConfig{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
float_t chargOpenVoltage; /* 充电开电池电压 */
|
||||||
|
float_t chargCloseVoltage; /* 充电关电池电压 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargingThresholdVoltageConfig;
|
||||||
|
#define HY_chargingThresholdVoltageConfig_PACK_SIZE (sizeof(HY_chargingThresholdVoltageConfig))
|
||||||
|
|
||||||
|
/* 充电阈值电压配置响应 */
|
||||||
|
typedef struct _HY_chargingThresholdVoltageConfigResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargingThresholdVoltageConfigResponse;
|
||||||
|
#define HY_chargingThresholdVoltageConfigResponse_PACK_SIZE (sizeof(HY_chargingThresholdVoltageConfigResponse))
|
||||||
|
|
||||||
|
|
||||||
|
/* 充电域值电压查询 */
|
||||||
|
typedef struct _HY_chargRangeVoltageQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargRangeVoltageQuery;
|
||||||
|
#define HY_chargRangeVoltageQuery_PACK_SIZE (sizeof(HY_chargRangeVoltageQuery))
|
||||||
|
|
||||||
|
/* 充电域值电压查询响应 */
|
||||||
|
typedef struct _HY_chargRangeVoltageQueryResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
float_t chargOpenVoltage; /* 充电开电池电压 */
|
||||||
|
float_t chargCloseVoltage; /* 充电关电池电压 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargRangeVoltageQueryResponse;
|
||||||
|
#define HY_chargRangeVoltageQueryResponse_PACK_SIZE (sizeof(HY_chargRangeVoltageQueryResponse))
|
||||||
|
|
||||||
|
/* 复位指令 */
|
||||||
|
typedef struct _HY_resetInstructionQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_resetInstructionQuery;
|
||||||
|
#define HY_resetInstructionQuery_PACK_SIZE (sizeof(HY_resetInstructionQuery))
|
||||||
|
|
||||||
|
/* 复位指令响应 */
|
||||||
|
typedef struct _HY_resetInstructionResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_resetInstructionResponse;
|
||||||
|
#define HY_resetInstructionResponse_PACK_SIZE (sizeof(HY_resetInstructionResponse))
|
||||||
|
|
||||||
|
/* 充电控制配置 */
|
||||||
|
typedef struct _HY_chargingControlConfig{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t chargInterface; /* 充电接口 */
|
||||||
|
uint8_t chargInterfaceControl; /* 充电接口控制 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargingControlConfig;
|
||||||
|
#define HY_chargingControlConfig_PACK_SIZE (sizeof(HY_chargingControlConfig))
|
||||||
|
|
||||||
|
/* 充电控制配置响应 */
|
||||||
|
typedef struct _HY_chargingControlConfigResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_chargingControlConfigResponse;
|
||||||
|
#define HY_chargingControlConfigResponse_PACK_SIZE (sizeof(HY_chargingControlConfigResponse))
|
||||||
|
|
||||||
|
/* 充电控制查询 */
|
||||||
|
typedef struct _HY_QueryChargingControl{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_QueryChargingControl;
|
||||||
|
#define HY_QueryChargingControl_PACK_SIZE (sizeof(HY_QueryChargingControl))
|
||||||
|
|
||||||
|
/* 充电控制查询响应 */
|
||||||
|
typedef struct _HY_QueryChargingControlResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t chargInterface; /* 充电接口状态 */
|
||||||
|
uint8_t chargInterfaceControl; /* 充电接口状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_QueryChargingControlResponse;
|
||||||
|
#define HY_QueryChargingControlResponse_PACK_SIZE (sizeof(HY_QueryChargingControlResponse))
|
||||||
|
|
||||||
|
/* 配置协议类型 */
|
||||||
|
typedef struct _HY_configProtocolType{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_configProtocolType;
|
||||||
|
#define HY_configProtocolType_PACK_SIZE (sizeof(HY_configProtocolType))
|
||||||
|
|
||||||
|
/* 配置协议类型响应 */
|
||||||
|
typedef struct _HY_configProtocolTypeResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_configProtocolTypeResponse;
|
||||||
|
#define HY_configProtocolTypeResponse_PACK_SIZE (sizeof(HY_configProtocolTypeResponse))
|
||||||
|
|
||||||
|
/* 查询电池控制盒当前配置 */
|
||||||
|
typedef struct _HY_queryControlBoxConfigurationQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_queryControlBoxConfigurationQuery;
|
||||||
|
#define HY_queryControlBoxConfigurationQuery_PACK_SIZE (sizeof(HY_queryControlBoxConfigurationQuery))
|
||||||
|
|
||||||
|
/* 查询电池控制盒当前配置响应 */
|
||||||
|
typedef struct _HY_queryControlBoxConfigurationResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/
|
||||||
|
uint8_t voltageLevel; /* 电压等级 */
|
||||||
|
uint8_t mainBoardTemperatureSensorType; /* 主板温度传感器类型 */
|
||||||
|
uint8_t batteryTemperatureSensorType; /* 电池温度传感器类型 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_queryControlBoxConfigurationResponse;
|
||||||
|
#define HY_queryControlBoxConfigurationResponse_PACK_SIZE (sizeof(HY_queryControlBoxConfigurationResponse))
|
||||||
|
|
||||||
|
/* 查询电池控制盒软件版本 */
|
||||||
|
typedef struct _HY_SoftwareVersionQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_SoftwareVersionQuery;
|
||||||
|
#define HY_SoftwareVersionQuery_PACK_SIZE (sizeof(HY_SoftwareVersionQuery))
|
||||||
|
|
||||||
|
/* 查询电池控制盒软件版本 */
|
||||||
|
typedef struct _HY_SoftwareVersionQueryResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t versionInformation[13]; /* 版本信息 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_SoftwareVersionQueryResponse;
|
||||||
|
#define HY_SoftwareVersionQueryResponse_PACK_SIZE (sizeof(HY_SoftwareVersionQueryResponse))
|
||||||
|
|
||||||
|
/* 进入配置模式 */
|
||||||
|
typedef struct _HY_enterConfigMode{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_enterConfigMode;
|
||||||
|
#define HY_enterConfigMode_PACK_SIZE (sizeof(HY_enterConfigMode))
|
||||||
|
|
||||||
|
/* 进入配置模式响应 */
|
||||||
|
typedef struct _HY_enterConfigModeResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_enterConfigModeResponse;
|
||||||
|
#define HY_enterConfigModeResponse_PACK_SIZE (sizeof(HY_enterConfigModeResponse))
|
||||||
|
|
||||||
|
/* 配置控制盒硬件ID号 */
|
||||||
|
typedef struct _HY_configHardwareID{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t newHardwareID[6]; /* 新硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_configHardwareID;
|
||||||
|
#define HY_configHardwareID_PACK_SIZE (sizeof(HY_configHardwareID))
|
||||||
|
|
||||||
|
/* 配置控制盒硬件ID号 响应*/
|
||||||
|
typedef struct _HY_configHardwareIDResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_configHardwareIDResponse;
|
||||||
|
#define HY_configHardwareIDResponse_PACK_SIZE (sizeof(HY_configHardwareIDResponse))
|
||||||
|
|
||||||
|
///* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
|
||||||
|
//typedef struct _HY_QueryhardwareID_communicationID{
|
||||||
|
// uint8_t start_Flag; /* 起始标志 */
|
||||||
|
// uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
// uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
// uint8_t controlWord; /* 控制字 */
|
||||||
|
// uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
// uint32_t frameNumber; /* 帧序号 */
|
||||||
|
// uint8_t check_Bit; /* 校验码 */
|
||||||
|
// uint8_t end_Flag; /* 结束标志 */
|
||||||
|
//}HY_QueryhardwareID_communicationID;
|
||||||
|
//#define HY_QueryhardwareID_communicationID_PACK_SIZE (sizeof(HY_QueryhardwareID_communicationID))
|
||||||
|
|
||||||
|
/* 修改通信ID号(原传感器号) */
|
||||||
|
typedef struct _HY_modifyCommunicationIDChange{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t nowHardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t newcommunicationID[4]; /* 新通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_modifyCommunicationIDChange;
|
||||||
|
#define HY_modifyCommunicationIDChange_PACK_SIZE (sizeof(HY_modifyCommunicationIDChange))
|
||||||
|
|
||||||
|
/* 修改通信ID号(原传感器号)响应 */
|
||||||
|
typedef struct _HY_modifyCommunicationIDChangeResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint8_t state; /* 状态 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_modifyCommunicationIDChangeResponse;
|
||||||
|
#define HY_modifyCommunicationIDChangeResponse_PACK_SIZE (sizeof(HY_modifyCommunicationIDChangeResponse))
|
||||||
|
|
||||||
|
/* 查询主板温度值 */
|
||||||
|
typedef struct _HY_checkMotherboardTemperatureQuery{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_checkMotherboardTemperatureQuery;
|
||||||
|
#define HY_checkMotherboardTemperatureQuery_PACK_SIZE (sizeof(HY_checkMotherboardTemperatureQuery))
|
||||||
|
|
||||||
|
/* 查询主板温度值响应 */
|
||||||
|
typedef struct _HY_checkMotherboardTemperatureResponse{
|
||||||
|
uint8_t start_Flag; /* 起始标志 */
|
||||||
|
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
|
||||||
|
uint8_t controlWord; /* 控制字 */
|
||||||
|
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
|
||||||
|
float_t MotherboardTemperature; /* 主板温度 */
|
||||||
|
uint32_t frameNumber; /* 帧序号 */
|
||||||
|
uint8_t check_Bit; /* 校验码 */
|
||||||
|
uint8_t end_Flag; /* 结束标志 */
|
||||||
|
}HY_checkMotherboardTemperatureResponse;
|
||||||
|
#define HY_checkMotherboardTemperatureResponse_PACK_SIZE (sizeof(HY_checkMotherboardTemperatureResponse))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 恢复默认的对齐设置 */
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t HY_CheckFunc(uint8_t *arr_buff, uint8_t len);
|
||||||
|
void HY_read_and_process_uart_data(device_handle device);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* APP_INC_HY_PROTOCOL_H_ */
|
|
@ -0,0 +1,412 @@
|
||||||
|
/*
|
||||||
|
* hy_protocol.c
|
||||||
|
*
|
||||||
|
* Created on: 2024年10月11日
|
||||||
|
* Author: psx
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "hy_protocol.h"
|
||||||
|
#include <string.h>
|
||||||
|
#include "inflash.h"
|
||||||
|
#include "pdebug.h"
|
||||||
|
#include "mppt_control.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "task.h"
|
||||||
|
#include "tim.h"
|
||||||
|
|
||||||
|
|
||||||
|
HY_default_Value HY_defaultValue = {0x68\
|
||||||
|
, 0x48, 0x59, 0x30, 0x30, 0x30, 0x31\
|
||||||
|
, 0x00, 0x00, 0x00, 0x01\
|
||||||
|
, 0x16};
|
||||||
|
|
||||||
|
/* 读取串口数据时用该数组解析 */
|
||||||
|
static uint8_t rs485_buff[100]={0x00};
|
||||||
|
|
||||||
|
|
||||||
|
/* 电池状态数据报 */
|
||||||
|
static void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 电量统计数据报 */
|
||||||
|
static void HY_MsgProcFunc_electricityStatistics(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 传感器号码配置 */
|
||||||
|
static void HY_MsgProcFunc_sensorNumberConfiguration(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 传感器号码查询 */
|
||||||
|
static void HY_MsgProcFunc_sensorNumberInquiry(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 充电阈值电压配置 */
|
||||||
|
static void HY_MsgProcFunc_chargingThresholdVoltageConfiguration(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 充电域值电压查询 */
|
||||||
|
static void HY_MsgProcFunc_chargingRangeVoltageQuery(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 复位指令 */
|
||||||
|
static void HY_MsgProcFunc_resetInstruction(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
/* 充电控制配置 */
|
||||||
|
static void HY_MsgProcFunc_chargingControlConfiguration(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 充电控制查询 */
|
||||||
|
static void HY_MsgProcFunc_chargingControlQuery(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
/* 配置协议类型 */
|
||||||
|
static void HY_MsgProcFunc_configureProtocolType(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
///* 响应配置协议类型 */
|
||||||
|
//static void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
/* 查询电池控制盒当前配置 */
|
||||||
|
static void HY_MsgProcFunc_queryControlBoxConfiguration(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 查询电池控制盒软件版本 */
|
||||||
|
static void HY_MsgProcFunc_querySoftwareVersion(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 进入配置模式 */
|
||||||
|
static void HY_MsgProcFunc_enterConfigurationMode(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
/* 配置控制盒硬件ID号 */
|
||||||
|
static void HY_MsgProcFunc_configureHardwareID(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
|
||||||
|
static void HY_MsgProcFunc_hardwareID_communicationIDQuery(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 修改通信ID号(原传感器号) */
|
||||||
|
static void HY_MsgProcFunc_modifyCommunicationID(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
/* 查询主板温度值 */
|
||||||
|
static void HY_MsgProcFunc_checkMotherboardTemperature(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
|
||||||
|
/* 功能码处理表 */
|
||||||
|
HY_FuncionMsgProcTable g_hyMsgTbl[] =
|
||||||
|
{
|
||||||
|
{HY_batteryStatus, HY_MsgProcFunc_batteryStatus},
|
||||||
|
{HY_electricityStatistics, HY_MsgProcFunc_electricityStatistics},
|
||||||
|
{HY_sensorNumberConfiguration, HY_MsgProcFunc_sensorNumberConfiguration},
|
||||||
|
{HY_sensorNumberInquiry, HY_MsgProcFunc_sensorNumberInquiry},
|
||||||
|
{HY_chargingThresholdVoltageConfiguration, HY_MsgProcFunc_chargingThresholdVoltageConfiguration},
|
||||||
|
{HY_chargingRangeVoltageQuery, HY_MsgProcFunc_chargingRangeVoltageQuery},
|
||||||
|
{HY_resetInstruction, HY_MsgProcFunc_resetInstruction},
|
||||||
|
{HY_chargingControlConfiguration, HY_MsgProcFunc_chargingControlConfiguration},
|
||||||
|
{HY_chargingControlQuery, HY_MsgProcFunc_chargingControlQuery},
|
||||||
|
{HY_configureProtocolType, HY_MsgProcFunc_configureProtocolType},
|
||||||
|
// {HY_responseConfigureProtocolType, HY_MsgProcFunc_batteryStatus},
|
||||||
|
{HY_queryControlBoxConfiguration, HY_MsgProcFunc_queryControlBoxConfiguration},
|
||||||
|
{HY_querySoftwareVersion, HY_MsgProcFunc_querySoftwareVersion},
|
||||||
|
{HY_enterConfigurationMode, HY_MsgProcFunc_enterConfigurationMode},
|
||||||
|
{HY_configureHardwareID, HY_MsgProcFunc_configureHardwareID},
|
||||||
|
{HY_hardwareID_communicationIDQuery, HY_MsgProcFunc_hardwareID_communicationIDQuery},
|
||||||
|
{HY_modifyCommunicationID, HY_MsgProcFunc_modifyCommunicationID},
|
||||||
|
{HY_checkMotherboardTemperature, HY_MsgProcFunc_checkMotherboardTemperature},
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 检测485总线是否繁忙
|
||||||
|
* @param
|
||||||
|
* @retval 1 繁忙
|
||||||
|
* 0 空闲
|
||||||
|
*/
|
||||||
|
uint8_t Check_485_bus_busy(device_handle device)
|
||||||
|
{
|
||||||
|
if (device == g_bat485_uart3_handle) {
|
||||||
|
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
|
||||||
|
} else {
|
||||||
|
USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t num_ago = ring_queue_length(device);
|
||||||
|
Delay_Ms(2);
|
||||||
|
uint16_t num_now = ring_queue_length(device);
|
||||||
|
|
||||||
|
if (device == g_bat485_uart3_handle) {
|
||||||
|
USART_ITConfig(USART3, USART_IT_RXNE, DISABLE);
|
||||||
|
} else {
|
||||||
|
USART_ITConfig(USART4, USART_IT_RXNE, DISABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num_now == num_ago) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 校验算法
|
||||||
|
* @param 采用累加和取反的校验方式,将终端号码、传感器号码、控制字、数据长度和数据区的所有字节进行算术累加,抛弃高位,只保留最后单字节,将单字节取反;
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
uint8_t HY_CheckFunc(uint8_t *arr_buff, uint8_t len)
|
||||||
|
{
|
||||||
|
uint8_t temp = 0x00;
|
||||||
|
uint32_t sum = 0x00;
|
||||||
|
|
||||||
|
for(uint8_t i = 0; i < len; i++) {
|
||||||
|
sum += *arr_buff++;
|
||||||
|
}
|
||||||
|
|
||||||
|
temp = (~sum) & 0xff;
|
||||||
|
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 匹配设备地址
|
||||||
|
* @param address 地址
|
||||||
|
* @retval 1 匹配成功
|
||||||
|
* 0 匹配失败
|
||||||
|
*/
|
||||||
|
static int HY_matchhardwareID(u_int8_t hardwareID[6])
|
||||||
|
{
|
||||||
|
// if (!strcmp(address, g_slConfigInfo.address)) {
|
||||||
|
// log_info("Match_address fail \r\n");
|
||||||
|
// return 1;
|
||||||
|
// }
|
||||||
|
if ((hardwareID[0] == g_slConfigInfo.address[0]) && \
|
||||||
|
(hardwareID[1] == g_slConfigInfo.address[1]) && \
|
||||||
|
(hardwareID[2] == g_slConfigInfo.address[2]) && \
|
||||||
|
(hardwareID[3] == g_slConfigInfo.address[3]) && \
|
||||||
|
(hardwareID[4] == g_slConfigInfo.address[4]) && \
|
||||||
|
(hardwareID[5] == g_slConfigInfo.address[5]) && \
|
||||||
|
(hardwareID[6] == g_slConfigInfo.address[6])) {
|
||||||
|
log_info("Match_address success \r\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 匹配广播地址
|
||||||
|
* @param address 地址
|
||||||
|
* @retval 1 匹配成功
|
||||||
|
* 0 匹配失败
|
||||||
|
*/
|
||||||
|
static int Match_Broadcastaddress(u_int8_t address[6])
|
||||||
|
{
|
||||||
|
if (address[0] == 0xFF && \
|
||||||
|
address[1] == 0xFF && \
|
||||||
|
address[2] == 0xFF && \
|
||||||
|
address[3] == 0xFF && \
|
||||||
|
address[4] == 0xFF && \
|
||||||
|
address[5] == 0xFF && \
|
||||||
|
address[6] == 0xFF) {
|
||||||
|
log_info("Match_Broadcastaddress success\r\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读取串口数据
|
||||||
|
* @param uart_handle 串口句柄
|
||||||
|
* @param buff 缓冲区
|
||||||
|
* @param buff_size 缓冲区长度
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static int HY_uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, uint32_t buff_size)
|
||||||
|
{
|
||||||
|
uint32_t offset = 0;
|
||||||
|
uint32_t len = 0;
|
||||||
|
uint8_t flag_run = 0;
|
||||||
|
char c = 0;
|
||||||
|
|
||||||
|
HY_Recv_pack *pack = (HY_Recv_pack *)buff;
|
||||||
|
|
||||||
|
buff_size--; //预留一个'\0'位置
|
||||||
|
for (; offset < buff_size;){
|
||||||
|
if (ring_queue_length(uart_handle) == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
c = uart_dev_in_char(uart_handle);
|
||||||
|
|
||||||
|
buff[offset++] = c;
|
||||||
|
|
||||||
|
/* 匹配起始标志位 */
|
||||||
|
if (offset == HY_analyzeStartFlag || (flag_run > 0)) {
|
||||||
|
if (pack->start_Flag != HY_defaultValue.start_Flag) {
|
||||||
|
memcpy(buff, buff+1, offset-1);
|
||||||
|
offset--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 匹配硬件ID */
|
||||||
|
if (offset == HY_analyzeHardwareID || (flag_run > 1)) {
|
||||||
|
if (HY_matchhardwareID(pack->hardwareID) || Match_Broadcastaddress(pack->hardwareID)) {
|
||||||
|
if (flag_run < 1) {
|
||||||
|
flag_run = 1;
|
||||||
|
}
|
||||||
|
memcpy(buff, buff+1, offset-1);
|
||||||
|
offset--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 处理一条消息
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static void HY_FRT_MsgHandler(device_handle device, uint8_t *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
HY_Recv_pack *pack = (HY_Recv_pack *)pMsg;
|
||||||
|
|
||||||
|
for (u_int16_t i = 0; i < sizeof(g_hyMsgTbl) / sizeof(HY_FuncionMsgProcTable); i++){
|
||||||
|
if (pack->controlWord == g_hyMsgTbl[i].msgId){
|
||||||
|
g_hyMsgTbl[i].pMsgProc(device, pMsg, MsgLen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读取并解析串口数据
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
void HY_read_and_process_uart_data(device_handle device)
|
||||||
|
{
|
||||||
|
// printf("ring_queue_length = %d \n", ring_queue_length(device));
|
||||||
|
// if (ring_queue_length(device) > 10) {uart_dev_char_present(device_handle device)
|
||||||
|
if (uart_dev_char_present(device)) {
|
||||||
|
Delay_Ms(20);
|
||||||
|
// printf("ring_queue_length = %d \n", ring_queue_length(device));
|
||||||
|
memset(rs485_buff, 0, sizeof(rs485_buff));
|
||||||
|
int ret = HY_uart_read_climate_pack(device, rs485_buff, sizeof(rs485_buff));
|
||||||
|
if(ret > 0){
|
||||||
|
HY_FRT_MsgHandler(device, rs485_buff, ret);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 电池状态数据报 */
|
||||||
|
void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 电量统计数据报 */
|
||||||
|
void HY_MsgProcFunc_electricityStatistics(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 传感器号码配置 */
|
||||||
|
void HY_MsgProcFunc_sensorNumberConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 传感器号码查询 */
|
||||||
|
void HY_MsgProcFunc_sensorNumberInquiry(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 充电阈值电压配置 */
|
||||||
|
void HY_MsgProcFunc_chargingThresholdVoltageConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 充电域值电压查询 */
|
||||||
|
void HY_MsgProcFunc_chargingRangeVoltageQuery(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 复位指令 */
|
||||||
|
void HY_MsgProcFunc_resetInstruction(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 充电控制配置 */
|
||||||
|
void HY_MsgProcFunc_chargingControlConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 充电控制查询 */
|
||||||
|
static void HY_MsgProcFunc_chargingControlQuery(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 配置协议类型 */
|
||||||
|
void HY_MsgProcFunc_configureProtocolType(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
///* 响应配置协议类型 */
|
||||||
|
//static void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t MsgLen);
|
||||||
|
|
||||||
|
/* 查询电池控制盒当前配置 */
|
||||||
|
void HY_MsgProcFunc_queryControlBoxConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 查询电池控制盒软件版本 */
|
||||||
|
void HY_MsgProcFunc_querySoftwareVersion(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 进入配置模式 */
|
||||||
|
void HY_MsgProcFunc_enterConfigurationMode(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 配置控制盒硬件ID号 */
|
||||||
|
void HY_MsgProcFunc_configureHardwareID(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
|
||||||
|
void HY_MsgProcFunc_hardwareID_communicationIDQuery(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 修改通信ID号(原传感器号) */
|
||||||
|
void HY_MsgProcFunc_modifyCommunicationID(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 查询主板温度值 */
|
||||||
|
void HY_MsgProcFunc_checkMotherboardTemperature(device_handle device, void *pMsg, uint32_t MsgLen)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -834,7 +834,7 @@ static int uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, uint3
|
||||||
* @param
|
* @param
|
||||||
* @retval
|
* @retval
|
||||||
*/
|
*/
|
||||||
void FRT_MsgHandler(device_handle device, uint8_t *pMsg, uint32_t MsgLen)
|
static void FRT_MsgHandler(device_handle device, uint8_t *pMsg, uint32_t MsgLen)
|
||||||
{
|
{
|
||||||
SL_Mppt_Recv_pack *pack = (SL_Mppt_Recv_pack *)pMsg;
|
SL_Mppt_Recv_pack *pack = (SL_Mppt_Recv_pack *)pMsg;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
App/src/hy_protocol.o: ../App/src/hy_protocol.c \
|
||||||
|
D:\psx\MPPT\git\App\inc/hy_protocol.h D:\psx\MPPT\git\Debug/debug.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103.h \
|
||||||
|
D:\psx\MPPT\git\Core/core_riscv.h D:\psx\MPPT\git\User/system_ch32l103.h \
|
||||||
|
D:\psx\MPPT\git\User/ch32l103_conf.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_adc.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_bkp.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_can.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_crc.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_dbgmcu.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_dma.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_exti.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_flash.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_gpio.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_i2c.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_iwdg.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_pwr.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_rcc.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_rtc.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_spi.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_tim.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_usart.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_wwdg.h \
|
||||||
|
D:\psx\MPPT\git\User/ch32l103_it.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_misc.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_lptim.h \
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_opa.h \
|
||||||
|
D:\psx\MPPT\git\App\inc/uart_dev.h \
|
||||||
|
D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h \
|
||||||
|
D:\psx\MPPT\git\Hardware\inc/rs485.h D:\psx\MPPT\git\App\inc/inflash.h \
|
||||||
|
D:\psx\MPPT\git\App\inc/pdebug.h D:\psx\MPPT\git\App\inc/mppt_control.h \
|
||||||
|
D:\psx\MPPT\git\App\inc/task.h \
|
||||||
|
D:\psx\MPPT\git\Drivers\TimeSliceOffset/timeSliceOffset.h \
|
||||||
|
D:\psx\MPPT\git\App\inc/uart_dev.h D:\psx\MPPT\git\Hardware\inc/tim.h
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/hy_protocol.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Debug/debug.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Core/core_riscv.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\User/system_ch32l103.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\User/ch32l103_conf.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_adc.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_bkp.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_can.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_crc.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_dbgmcu.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_dma.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_exti.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_flash.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_gpio.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_i2c.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_iwdg.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_pwr.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_rcc.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_rtc.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_spi.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_tim.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_usart.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_wwdg.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\User/ch32l103_it.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_misc.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_lptim.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Peripheral\inc/ch32l103_opa.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/uart_dev.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Hardware\inc/rs485.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/inflash.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/pdebug.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/mppt_control.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/task.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Drivers\TimeSliceOffset/timeSliceOffset.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\App\inc/uart_dev.h:
|
||||||
|
|
||||||
|
D:\psx\MPPT\git\Hardware\inc/tim.h:
|
Binary file not shown.
Binary file not shown.
|
@ -6,6 +6,7 @@
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
# Add inputs and outputs from these tool invocations to the build variables
|
||||||
C_SRCS += \
|
C_SRCS += \
|
||||||
../App/src/collect_Conversion.c \
|
../App/src/collect_Conversion.c \
|
||||||
|
../App/src/hy_protocol.c \
|
||||||
../App/src/inflash.c \
|
../App/src/inflash.c \
|
||||||
../App/src/mppt_control.c \
|
../App/src/mppt_control.c \
|
||||||
../App/src/sl_protocol.c \
|
../App/src/sl_protocol.c \
|
||||||
|
@ -14,6 +15,7 @@ C_SRCS += \
|
||||||
|
|
||||||
OBJS += \
|
OBJS += \
|
||||||
./App/src/collect_Conversion.o \
|
./App/src/collect_Conversion.o \
|
||||||
|
./App/src/hy_protocol.o \
|
||||||
./App/src/inflash.o \
|
./App/src/inflash.o \
|
||||||
./App/src/mppt_control.o \
|
./App/src/mppt_control.o \
|
||||||
./App/src/sl_protocol.o \
|
./App/src/sl_protocol.o \
|
||||||
|
@ -22,6 +24,7 @@ OBJS += \
|
||||||
|
|
||||||
C_DEPS += \
|
C_DEPS += \
|
||||||
./App/src/collect_Conversion.d \
|
./App/src/collect_Conversion.d \
|
||||||
|
./App/src/hy_protocol.d \
|
||||||
./App/src/inflash.d \
|
./App/src/inflash.d \
|
||||||
./App/src/mppt_control.d \
|
./App/src/mppt_control.d \
|
||||||
./App/src/sl_protocol.d \
|
./App/src/sl_protocol.d \
|
||||||
|
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
16022
obj/mppt_Nos_V0.4.lst
16022
obj/mppt_Nos_V0.4.lst
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue