add more comments

This commit is contained in:
wmano
2025-11-18 00:40:02 +08:00
parent 9b3e035b75
commit 7e463e56ad
48 changed files with 2334 additions and 497 deletions
+68 -4
View File
@@ -1,3 +1,12 @@
/****************************************************************************
文件名称 : chrg_eload.c
完成日期 :
当前版本号 : V1.0
主要功能 : 源载命令数据解析,封装,读写请求。
版本历史 : 创建原始版本
说明 :
******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -8,6 +17,14 @@
#include "chrg_lcd.h"
#include "chrg_utils.h"
/*****************************************************************
函数名称: chrg_eload_read_regs
函数描述: 向南向发送读取寄存器
输入参数: addr:地址 reg:寄存器起始地址 len:寄存器个数
输出参数: -
返回说明: <0: 错误 >0:发送数据长度
其它说明: -
*****************************************************************/
int chrg_eload_read_regs (rt_uint8_t addr, rt_uint16_t reg, rt_uint16_t len)
{
rt_uint8_t buf[8] = {0};
@@ -23,6 +40,14 @@ int chrg_eload_read_regs (rt_uint8_t addr, rt_uint16_t reg, rt_uint16_t len)
return chrg_south_send(buf, 8);
}
/*****************************************************************
函数名称: chrg_eload_write_reg
函数描述: 向南向发送写单个寄存器
输入参数: addr:地址 reg:寄存器地址 value:写入值
输出参数: -
返回说明: <0: 错误 >0:发送数据长度
其它说明: -
*****************************************************************/
int chrg_eload_write_reg (rt_uint8_t addr, rt_uint16_t reg, rt_uint16_t value)
{
rt_uint8_t buf[8] = {0};
@@ -38,6 +63,14 @@ int chrg_eload_write_reg (rt_uint8_t addr, rt_uint16_t reg, rt_uint16_t value)
return chrg_south_send(buf, 8);
}
/*****************************************************************
函数名称: chrg_eload_refresh
函数描述: 分段请求读取寄存器表
输入参数: addr:地址 part:分段
输出参数: -
返回说明: <0: 错误 >0:发送数据长度
其它说明: 实际运行过程只需要读取前13个寄存器即可,即分段0
*****************************************************************/
int chrg_eload_refresh (rt_uint8_t addr, rt_uint8_t part)
{
int ret = 0;
@@ -51,6 +84,14 @@ int chrg_eload_refresh (rt_uint8_t addr, rt_uint8_t part)
return ret;
}
/*****************************************************************
函数名称: chrg_eload_parse
函数描述: 解析源载返回数据
输入参数: idx:通道 pt:分段0 *data:数据区 len:数据长度
输出参数: -
返回说明: <0: 错误 0:正确
其它说明: -
*****************************************************************/
int chrg_eload_parse (rt_uint8_t idx, rt_uint8_t pt, rt_uint8_t *data, rt_uint16_t len)
{
if (idx >= TOTAL_SOU_CHS) {
@@ -71,26 +112,49 @@ int chrg_eload_parse (rt_uint8_t idx, rt_uint8_t pt, rt_uint8_t *data, rt_uint16
pLOAD->status2 = pP1->status2;
pLOAD->fault1 = pP1->fault1;
pLOAD->fault2 = (rt_uint8_t)pP1->fault2;
pLOAD->eload = (rt_uint8_t)pP1->eload;
pLOAD->eload = swap_u16(pP1->eload);
pLOAD->work = (rt_uint8_t)pP1->work_cmd;
pLOAD->mode = (rt_uint8_t)pP1->work_mode;
pLOAD->voltage = pP1->voltage;
pLOAD->current = pP1->current;
pLOAD->voltage = swap_u32(pP1->voltage);
pLOAD->current = swap_u32(pP1->current);
pLOAD->temperatue = pP1->temperature;
pLOAD->version = pP1->version;
pLOAD->address = (rt_uint8_t)pP1->addr;
rt_kprintf("vol %d, cur %d\r\n", pLOAD->voltage, pLOAD->current);
char tmp[36] = {0};
snprintf(tmp, 36, "main.CH%d_Volt_Show.val=%d",
idx+1, pLOAD->voltage);
chrg_lcd_send(tmp);
rt_memset(tmp, 0, 36);
snprintf(tmp, 36, "status.CH%d_Volt_Sta.txt=\"%d.%03d\"",
idx+1, pLOAD->voltage/1000, pLOAD->voltage%1000);
chrg_lcd_send(tmp);
rt_memset(tmp, 0, 36);
snprintf(tmp, 36, "main.CH%d_Curr_Show.val=%d",
idx+1, pLOAD->current);
chrg_lcd_send(tmp);
rt_memset(tmp, 0, 36);
snprintf(tmp, 36, "status.CH%d_Curr_Sta.txt=\"%d.%03d\"",
idx+1, pLOAD->current/1000, pLOAD->current%1000);
chrg_lcd_send(tmp);
rt_memset(tmp, 0, 36);
if (pP1->work_cmd == 0x100){
if (pP1->work_mode == MODE_CONSTANT_VOLTAGE){
snprintf(tmp, 36, "main.CH%d_Status.txt=\"恒压\"", idx+1);
} else {
snprintf(tmp, 36, "main.CH%d_Status.txt=\"恒流\"", idx+1);
}
} else {
snprintf(tmp, 36, "main.CH%d_Status.txt=\"停止\"", idx+1);
}
chrg_lcd_send(tmp);
rt_memset(tmp, 0, 36);
}
break;