ex lcd & south
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <rtthread.h>
|
||||
|
||||
#include "chrg_south.h"
|
||||
#include "chrg_eload.h"
|
||||
#include "chrg_lcd.h"
|
||||
#include "chrg_utils.h"
|
||||
|
||||
int chrg_eload_read_regs (rt_uint8_t addr, rt_uint16_t reg, rt_uint16_t len)
|
||||
@@ -40,7 +43,7 @@ int chrg_eload_refresh (rt_uint8_t addr, rt_uint8_t part)
|
||||
int ret = 0;
|
||||
|
||||
if (0 == part) {
|
||||
chrg_eload_read_regs(addr, REG_TEMPERATUE, SIZE_P1_RD); // reg 0~13
|
||||
chrg_eload_read_regs(addr, REG_STA1, SIZE_P1_RD); // reg 0~13
|
||||
} else if (1 == part) {
|
||||
chrg_eload_read_regs(addr, REG_POWER, SIZE_P2_RD); // reg 20~39
|
||||
}
|
||||
@@ -71,12 +74,23 @@ int chrg_eload_parse (rt_uint8_t idx, rt_uint8_t pt, rt_uint8_t *data, rt_uint16
|
||||
pLOAD->eload = (rt_uint8_t)pP1->eload;
|
||||
pLOAD->work = (rt_uint8_t)pP1->work_cmd;
|
||||
pLOAD->mode = (rt_uint8_t)pP1->work_mode;
|
||||
rt_memcpy((rt_uint8_t *)&pLOAD->voltage, (rt_uint8_t *)&pP1->voltage, sizeof(float));
|
||||
rt_memcpy((rt_uint8_t *)&pLOAD->current, (rt_uint8_t *)&pP1->current, sizeof(float));
|
||||
pLOAD->voltage = pP1->voltage;
|
||||
pLOAD->current = pP1->current;
|
||||
pLOAD->temperatue = pP1->temperature;
|
||||
pLOAD->version = pP1->version;
|
||||
pLOAD->address = (rt_uint8_t)pP1->addr;
|
||||
rt_kprintf("vol %f, cur %f\r\n", pLOAD->voltage, pLOAD->current);
|
||||
rt_kprintf("vol %d, cur %d\r\n", pLOAD->voltage, pLOAD->current);
|
||||
|
||||
char tmp[36] = {0};
|
||||
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, "status.CH%d_Curr_Sta.txt=\"%d.%03d\"",
|
||||
idx+1, pLOAD->current/1000, pLOAD->current%1000);
|
||||
chrg_lcd_send(tmp);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user