修复电量显示问题 zsxfly20250116
This commit is contained in:
parent
967e983df7
commit
d354e097e4
|
@ -48,7 +48,7 @@
|
||||||
<InvalidFlash>1</InvalidFlash>
|
<InvalidFlash>1</InvalidFlash>
|
||||||
</TargetStatus>
|
</TargetStatus>
|
||||||
<OutputDirectory>.\output\</OutputDirectory>
|
<OutputDirectory>.\output\</OutputDirectory>
|
||||||
<OutputName>OTA_V2_5</OutputName>
|
<OutputName>OTA_V2_7</OutputName>
|
||||||
<CreateExecutable>1</CreateExecutable>
|
<CreateExecutable>1</CreateExecutable>
|
||||||
<CreateLib>0</CreateLib>
|
<CreateLib>0</CreateLib>
|
||||||
<CreateHexFile>1</CreateHexFile>
|
<CreateHexFile>1</CreateHexFile>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#define DEBUG(format, ...) debug("[TR_ET]" format "\r\n", ##__VA_ARGS__)
|
#define DEBUG(format, ...) debug("[TR_ET]" format "\r\n", ##__VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#define DEBUG(format, ...)
|
#define DEBUG(format, ...)
|
||||||
#define debugHex(dat, len)
|
//#define debugHex(dat, len)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static Time_Events_t Time_Events[Time_Event_MAX];
|
static Time_Events_t Time_Events[Time_Event_MAX];
|
||||||
|
|
|
@ -5,19 +5,142 @@
|
||||||
#include "app_bat.h"
|
#include "app_bat.h"
|
||||||
#include "sys_config.h"
|
#include "sys_config.h"
|
||||||
|
|
||||||
#define BAT_Message_interval 1000
|
#define DBG_EN 0
|
||||||
|
|
||||||
|
#if (DBG_EN)
|
||||||
|
#include "dbg.h"
|
||||||
|
#define DEBUG(format, ...) debug("[Bat]" format, ##__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define DEBUG(format, ...)
|
||||||
|
//#define debugHex(dat, len)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BAT_Message_interval 100
|
||||||
|
|
||||||
tmr_id_t BAT_Message_tmr_id;
|
tmr_id_t BAT_Message_tmr_id;
|
||||||
BAT_Message_t BAT_Message;
|
BAT_Message_t BAT_Message;
|
||||||
uint16_t Bat_Voltage_Last;
|
|
||||||
uint16_t Voltage_lag_count;
|
|
||||||
|
|
||||||
uint8_t Bat_STA_Last;
|
|
||||||
|
|
||||||
// 门锁状态更新标志
|
// 门锁状态更新标志
|
||||||
bool GRB_Door_lock_updata=0;
|
bool GRB_Door_lock_updata=0;
|
||||||
|
uint8_t Bat_STA_Last;
|
||||||
|
uint16_t Voltage_lag_count;
|
||||||
|
uint16_t Voltage_update_count;
|
||||||
|
float temp_bat_voltage=0;
|
||||||
|
// uint16_t Bat_Voltage_Last;
|
||||||
|
|
||||||
// uint8_t bat_str[50]={0,0},bat_str_len=0;
|
// uint8_t bat_str[50]={0,0},bat_str_len=0;
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t coulomp_voltage_table[11] = {
|
||||||
|
BAT_LEVEL_0PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_10PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_20PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_30PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_40PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_50PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_60PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_70PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_80PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_90PERCENT_VOLT,
|
||||||
|
BAT_LEVEL_100PERCENT_VOLT,
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t pmu_voltage_to_percent(uint32_t volt){//电压转百分比
|
||||||
|
uint8_t i, percent;
|
||||||
|
float step, base;
|
||||||
|
if((volt < coulomp_voltage_table[0])){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if((volt >= coulomp_voltage_table[10])){
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < 10; i++) {
|
||||||
|
if((volt < coulomp_voltage_table[i+1]) && (volt >= coulomp_voltage_table[i])){
|
||||||
|
step = (coulomp_voltage_table[i+1] - coulomp_voltage_table[i]) / 10.0;
|
||||||
|
base = coulomp_voltage_table[i];
|
||||||
|
percent = (10 * i) + (volt - base) / step;
|
||||||
|
DEBUG("\n\ni:%d,volt:%d,step:%02.2f,base:%02.2f,percent:%d\n\n",i,volt,step,base,percent);
|
||||||
|
return (uint8_t)percent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static tmr_tk_t BAT_Message_Handle(tmr_id_t id) {
|
||||||
|
uint16_t in_acc_percent= get_in_acc_percent();
|
||||||
|
|
||||||
|
if(BAT_Message.Runing_Time < 0xFFFF){
|
||||||
|
BAT_Message.Runing_Time++;
|
||||||
|
}
|
||||||
|
|
||||||
|
temp_bat_voltage += get_bat_voltage() * 10;
|
||||||
|
|
||||||
|
Voltage_update_count++;
|
||||||
|
if(Voltage_update_count >= (1000/BAT_Message_interval)){//1s
|
||||||
|
BAT_Message.Bat_Voltage = temp_bat_voltage / Voltage_update_count;
|
||||||
|
Voltage_update_count=0;
|
||||||
|
temp_bat_voltage = 0;
|
||||||
|
}
|
||||||
|
// in_acc_percent =80;
|
||||||
|
if(in_acc_percent >= 80){ // 油门大于80%时,
|
||||||
|
if(BAT_Message.Deep_ACC_Time < 0xFFFF){
|
||||||
|
BAT_Message.Deep_ACC_Time++;
|
||||||
|
}
|
||||||
|
Voltage_lag_count++;
|
||||||
|
if(Voltage_lag_count >= (2000/BAT_Message_interval)){//2s
|
||||||
|
Voltage_lag_count=0;
|
||||||
|
BAT_Message.Bat_Percent = pmu_voltage_to_percent(BAT_Message.Bat_Voltage);
|
||||||
|
}
|
||||||
|
if(BAT_Message.Bat_Percent < 12){
|
||||||
|
BAT_Message.Bat_Low_Volt_count++;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Voltage_lag_count=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(BAT_Message.Bat_Percent < 7){
|
||||||
|
BAT_Message.Bat_STA =(BAT_Message.Bat_STA & 0xE0)|Bat_Low_STA;
|
||||||
|
WS2812_GRBs.GRBs=GRB_RED;
|
||||||
|
}else if(BAT_Message.Bat_Percent < 30){ // 7~30%
|
||||||
|
BAT_Message.Bat_STA =(BAT_Message.Bat_STA & 0xE0)|Bat_30_STA;
|
||||||
|
WS2812_GRBs.GRBs=GRB_RED;
|
||||||
|
}else if(BAT_Message.Bat_Percent < 60){ // 30~60%
|
||||||
|
BAT_Message.Bat_STA =(BAT_Message.Bat_STA & 0xE0)|Bat_60_STA;
|
||||||
|
WS2812_GRBs.GRBs=GRB_BLUE;
|
||||||
|
}else if(BAT_Message.Bat_Percent < 80){ // 60~80%
|
||||||
|
BAT_Message.Bat_STA =(BAT_Message.Bat_STA & 0xE0)|Bat_80_STA;
|
||||||
|
WS2812_GRBs.GRBs=GRB_WHITE;
|
||||||
|
}else{
|
||||||
|
BAT_Message.Bat_STA =(BAT_Message.Bat_STA & 0xE0)|Bat_100_STA;
|
||||||
|
WS2812_GRBs.GRBs=GRB_WHITE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((Bat_STA_Last != BAT_Message.Bat_STA) || GRB_Door_lock_updata != Get_Status(OUT_Door_lock)){
|
||||||
|
GRB_Door_lock_updata=Get_Status(OUT_Door_lock);
|
||||||
|
|
||||||
|
Bat_STA_Last =BAT_Message.Bat_STA;
|
||||||
|
if( Get_Status(OUT_Door_lock)){
|
||||||
|
if(BAT_Message.Bat_STA & Bat_Charge_STA){
|
||||||
|
Time_Event_Blink(GRB_WS2812_Event,500,500,0xffff,NULL);
|
||||||
|
}else{
|
||||||
|
if(BAT_Message.Bat_STA & Bat_Low_STA){
|
||||||
|
Time_Event_Blink(GRB_WS2812_Event,200,200,0xffff,NULL);
|
||||||
|
}else{
|
||||||
|
Time_Event_Blink(GRB_WS2812_Event,500,500,0xffff,NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Time_Event_Off(GRB_WS2812_Event,NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DEBUG("\n\nSTA:0x%#X,V:%d,%d %%,Run:%d,D_A:%d\n\n",BAT_Message.Bat_STA,BAT_Message.Bat_Voltage,BAT_Message.Bat_Percent,BAT_Message.Runing_Time,BAT_Message.Deep_ACC_Time);
|
||||||
|
return (BAT_Message_interval / 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
static tmr_tk_t BAT_Message_Handle(tmr_id_t id) {
|
static tmr_tk_t BAT_Message_Handle(tmr_id_t id) {
|
||||||
uint16_t Bat_Voltage = get_bat_voltage() * 10;
|
uint16_t Bat_Voltage = get_bat_voltage() * 10;
|
||||||
|
|
||||||
|
@ -90,8 +213,13 @@ static tmr_tk_t BAT_Message_Handle(tmr_id_t id) {
|
||||||
|
|
||||||
return (BAT_Message_interval / 10);
|
return (BAT_Message_interval / 10);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
void BAT_Message_Init(void) {
|
void BAT_Message_Init(void) {
|
||||||
BAT_Message_tmr_id = sftmr_start(10, BAT_Message_Handle);
|
BAT_Message_tmr_id = sftmr_start(10, BAT_Message_Handle);
|
||||||
Bat_Voltage_Last =get_bat_voltage() * 10;
|
BAT_Message.Bat_Voltage = get_bat_voltage() * 10;
|
||||||
|
BAT_Message.Bat_Percent = pmu_voltage_to_percent(BAT_Message.Bat_Voltage);
|
||||||
|
BAT_Message.Runing_Time = 0;
|
||||||
|
BAT_Message.Deep_ACC_Time = 0;
|
||||||
|
BAT_Message.Bat_STA = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +1,61 @@
|
||||||
#ifndef _APP_BAT_H_
|
#ifndef _APP_BAT_H_
|
||||||
#define _APP_BAT_H_
|
#define _APP_BAT_H_
|
||||||
|
|
||||||
|
|
||||||
|
#define BAT_SxP1 4 // 电池四串一并
|
||||||
|
#define BAT_VOLT(_Volt) (_Volt * BAT_SxP1) //电压单位转换
|
||||||
|
#define BAT_Low_VOLT BAT_VOLT(105) //10.5V x 4 = 42V
|
||||||
|
#define BAT_Full_VOLT BAT_VOLT(144) //14.4V x 4 = 57.6V
|
||||||
|
|
||||||
|
// #define BAT_LEVEL_0PERCENT_VOLT BAT_VOLT(105) // 0%:(105~110]=(42.0V~44.0V]
|
||||||
|
// #define BAT_LEVEL_10PERCENT_VOLT BAT_VOLT(113) // 10%:(110~113]=(44.0V~45.2V]
|
||||||
|
// #define BAT_LEVEL_20PERCENT_VOLT BAT_VOLT(116) // 20%:(113~116]=(45.2V~46.4V]
|
||||||
|
// #define BAT_LEVEL_30PERCENT_VOLT BAT_VOLT(119) // 30%:(116~119]=(46.4V~47.6V]
|
||||||
|
// #define BAT_LEVEL_40PERCENT_VOLT BAT_VOLT(122) // 40%:(119~122]=(47.6V~48.8V]
|
||||||
|
// #define BAT_LEVEL_50PERCENT_VOLT BAT_VOLT(125) // 50%:(122~125]=(48.8V~50.0V]
|
||||||
|
// #define BAT_LEVEL_60PERCENT_VOLT BAT_VOLT(128) // 60%:(125~128]=(50.0V~51.2V]
|
||||||
|
// #define BAT_LEVEL_70PERCENT_VOLT BAT_VOLT(131) // 70%:(128~131]=(51.2V~52.4V]
|
||||||
|
// #define BAT_LEVEL_80PERCENT_VOLT BAT_VOLT(134) // 80%:(131~134]=(52.4V~53.6V]
|
||||||
|
// #define BAT_LEVEL_90PERCENT_VOLT BAT_VOLT(137) // 90%:(134~137]=(53.6V~54.8V]
|
||||||
|
// #define BAT_LEVEL_100PERCENT_VOLT BAT_VOLT(144) //100%:(137~144]=(54.8V~57.6V]
|
||||||
|
|
||||||
|
// 内阻 20mΩ * 4 =80mΩ // 线损 10A 0.1V
|
||||||
|
|
||||||
|
#define BAT_LEVEL_0PERCENT_VOLT BAT_VOLT(105) // 0%
|
||||||
|
#define BAT_LEVEL_10PERCENT_VOLT BAT_VOLT(107) // 10%
|
||||||
|
#define BAT_LEVEL_20PERCENT_VOLT BAT_VOLT(109) // 20%
|
||||||
|
#define BAT_LEVEL_30PERCENT_VOLT BAT_VOLT(111) // 30%
|
||||||
|
#define BAT_LEVEL_40PERCENT_VOLT BAT_VOLT(113) // 40%
|
||||||
|
#define BAT_LEVEL_50PERCENT_VOLT BAT_VOLT(115) // 50%
|
||||||
|
#define BAT_LEVEL_60PERCENT_VOLT BAT_VOLT(117) // 60%
|
||||||
|
#define BAT_LEVEL_70PERCENT_VOLT BAT_VOLT(119) // 70%
|
||||||
|
#define BAT_LEVEL_80PERCENT_VOLT BAT_VOLT(121) // 80%
|
||||||
|
#define BAT_LEVEL_90PERCENT_VOLT BAT_VOLT(123) // 90%
|
||||||
|
#define BAT_LEVEL_100PERCENT_VOLT BAT_VOLT(144) //100%
|
||||||
|
|
||||||
|
|
||||||
// 充电状态
|
// 充电状态
|
||||||
typedef enum {
|
typedef enum {
|
||||||
Bat_NotCharge_STA=0x01,
|
Bat_Low_STA=(1<<0),
|
||||||
Bat_Charge_STA=0x02,
|
Bat_30_STA=(1<<1),
|
||||||
Bat_Full_STA=0x04,
|
Bat_60_STA=(1<<2),
|
||||||
Bat_Low_STA=0x08,
|
Bat_80_STA=(1<<3),
|
||||||
Bat_30_STA=0x10,
|
Bat_100_STA=(1<<4),
|
||||||
Bat_60_STA=0x20,
|
Bat_NotCharge_STA=(1<<5),
|
||||||
Bat_100_STA=0x40,
|
Bat_Charge_STA=(1<<6),
|
||||||
} BAT_STA_t;
|
} BAT_STA_t;
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
Bat_Percent_Low =420,
|
|
||||||
Bat_Percent_30 =454,
|
|
||||||
Bat_Percent_60 =489,
|
|
||||||
Bat_Percent_100 =535,
|
|
||||||
} BAT_Percent_t;
|
|
||||||
|
|
||||||
// typedef enum {
|
|
||||||
// Bat_Percent_Low =240,
|
|
||||||
// Bat_Percent_30 =260,
|
|
||||||
// Bat_Percent_60 =300,
|
|
||||||
// Bat_Percent_100 =350,
|
|
||||||
// } BAT_Percent_t;
|
|
||||||
|
|
||||||
typedef struct BAT_Message{
|
typedef struct BAT_Message{
|
||||||
uint8_t Bat_STA;
|
uint8_t Bat_STA;
|
||||||
uint8_t Bat_Remain_Time; // 剩余充电时间
|
uint8_t Bat_Percent; // 42=42%
|
||||||
|
uint8_t Bat_Low_Volt_count; // 低压计数
|
||||||
uint16_t Bat_Voltage; // 480=48.0V
|
uint16_t Bat_Voltage; // 480=48.0V
|
||||||
uint16_t Bat_Percent; // 420=42.0%
|
uint16_t Runing_Time; // 系统运行时间
|
||||||
|
uint16_t Deep_ACC_Time; // 深踩油门时间
|
||||||
} BAT_Message_t;
|
} BAT_Message_t;
|
||||||
|
|
||||||
|
uint8_t pmu_voltage_to_percent(uint32_t volt); // 电压转百分比
|
||||||
void BAT_Message_Init(void);
|
void BAT_Message_Init(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -245,7 +245,7 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}else if(CMDCode == 0x06){
|
}else if(CMDCode == 0x06){
|
||||||
uint8_t Pmode_Timeout =((reg_val_num >> 8) & 0xff);
|
// uint8_t Pmode_Timeout =((reg_val_num >> 8) & 0xff);
|
||||||
// if(0 == Pmode_Timeout){
|
// if(0 == Pmode_Timeout){
|
||||||
// Time_Event_Cancel_DelayOff(Pmode_Timeout_Event);
|
// Time_Event_Cancel_DelayOff(Pmode_Timeout_Event);
|
||||||
// }else{
|
// }else{
|
||||||
|
@ -333,16 +333,19 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{ // 0x0201-0x0203
|
{ // 0x0201-0x0203
|
||||||
case 0x0301: // 电池状态
|
case 0x0301: // 电池状态及电量信息
|
||||||
if(CMDCode == 0x03){
|
if(CMDCode == 0x03){
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_STA >> 8;
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_STA;
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_STA & 0xff;
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Percent;
|
||||||
MODBUS_Sent_BUF[2] +=2;
|
MODBUS_Sent_BUF[2] +=2;
|
||||||
if(0 == --reg_val_num){
|
if(0 == --reg_val_num){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}else if(CMDCode == 0x06){
|
}else if(CMDCode == 0x06){
|
||||||
len_count =0;
|
BAT_Message.Bat_Voltage = get_bat_voltage() * 10;
|
||||||
|
BAT_Message.Bat_Percent = pmu_voltage_to_percent(BAT_Message.Bat_Voltage);
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_STA;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Percent;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x0302: // 电池电压
|
case 0x0302: // 电池电压
|
||||||
|
@ -357,10 +360,38 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
|
||||||
len_count =0;
|
len_count =0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x0303: // 电池电量
|
case 0x0303: // 系统运行时间
|
||||||
if(CMDCode == 0x03){
|
if(CMDCode == 0x03){
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Percent >> 8;
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Runing_Time >> 8;
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Percent & 0xff;
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Runing_Time & 0xff;
|
||||||
|
MODBUS_Sent_BUF[2] +=2;
|
||||||
|
if(0 == --reg_val_num){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(CMDCode == 0x06){
|
||||||
|
BAT_Message.Runing_Time =0;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Runing_Time >> 8;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Runing_Time & 0xff;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0304: // 深踩油门时间
|
||||||
|
if(CMDCode == 0x03){
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Deep_ACC_Time >> 8;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Deep_ACC_Time & 0xff;
|
||||||
|
MODBUS_Sent_BUF[2] +=2;
|
||||||
|
if(0 == --reg_val_num){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(CMDCode == 0x06){
|
||||||
|
BAT_Message.Deep_ACC_Time =0;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Deep_ACC_Time >> 8;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Deep_ACC_Time & 0xff;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0305: // 低压计数
|
||||||
|
if(CMDCode == 0x03){
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Low_Volt_count >> 8;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Low_Volt_count & 0xff;
|
||||||
MODBUS_Sent_BUF[2] +=2;
|
MODBUS_Sent_BUF[2] +=2;
|
||||||
if(0 == --reg_val_num){
|
if(0 == --reg_val_num){
|
||||||
break;
|
break;
|
||||||
|
@ -369,10 +400,11 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
|
||||||
len_count =0;
|
len_count =0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x0304: // 剩余充电时间
|
case 0x0306: // 当前油门百分比
|
||||||
if(CMDCode == 0x03){
|
if(CMDCode == 0x03){
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Remain_Time >> 8;
|
uint16_t in_acc_percent= get_in_acc_percent();
|
||||||
MODBUS_Sent_BUF[len_count++] =BAT_Message.Bat_Remain_Time & 0xff;
|
MODBUS_Sent_BUF[len_count++] =in_acc_percent >> 8;
|
||||||
|
MODBUS_Sent_BUF[len_count++] =in_acc_percent & 0xff;
|
||||||
MODBUS_Sent_BUF[2] +=2;
|
MODBUS_Sent_BUF[2] +=2;
|
||||||
if(0 == --reg_val_num){
|
if(0 == --reg_val_num){
|
||||||
break;
|
break;
|
||||||
|
@ -381,7 +413,7 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
|
||||||
len_count =0;
|
len_count =0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x0305: // 雷达距离信息
|
case 0x0307: // 雷达距离信息
|
||||||
if(CMDCode == 0x03){
|
if(CMDCode == 0x03){
|
||||||
MODBUS_Sent_BUF[len_count++] =radar_data.distance >> 8;
|
MODBUS_Sent_BUF[len_count++] =radar_data.distance >> 8;
|
||||||
MODBUS_Sent_BUF[len_count++] =radar_data.distance & 0xff;
|
MODBUS_Sent_BUF[len_count++] =radar_data.distance & 0xff;
|
||||||
|
|
|
@ -57,7 +57,7 @@ void conf_init(void);
|
||||||
|
|
||||||
/**************************系统版本**************************/
|
/**************************系统版本**************************/
|
||||||
// 软件本号
|
// 软件本号
|
||||||
#define SW_VERSION (5)
|
#define SW_VERSION (7)
|
||||||
// 硬件本号
|
// 硬件本号
|
||||||
#define HW_VERSION (2)
|
#define HW_VERSION (2)
|
||||||
// 版本类型:0:0x04000;1:0x20000//不可修改
|
// 版本类型:0:0x04000;1:0x20000//不可修改
|
||||||
|
|
Loading…
Reference in New Issue