加入了是否已经连接mqtt服务器的检测,只有当连接失败的时候,才会重连mqtt服务器,减少tcp请求,节省服务器资源
This commit is contained in:
parent
b6552b8b21
commit
05a9411a6c
|
@ -166,8 +166,8 @@ typedef enum
|
|||
//******报警级别******//
|
||||
typedef enum
|
||||
{
|
||||
kFaultLevel_Normal = 0,
|
||||
kFaultLevel_First,
|
||||
kFaultLevel_Normal = 0,
|
||||
kFaultLevel_First,
|
||||
kFaultLevel_Second,
|
||||
kFaultLevel_Third,
|
||||
kFaultLevel_End,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -363,7 +363,7 @@ void bcu_send_0x42500000(can_dev_e can)
|
|||
uint16_t tmp_16u;
|
||||
uint8_t tmp_8u, status;
|
||||
uint16_t temp_second;
|
||||
uint16_t temp_third;
|
||||
uint16_t temp_first;
|
||||
|
||||
/* 基本状态
|
||||
pylon bluesun
|
||||
|
@ -398,18 +398,18 @@ void bcu_send_0x42500000(can_dev_e can)
|
|||
//故障--无
|
||||
tmp_8u = 0;
|
||||
WRITE_LT_INT8U(buf, len, tmp_8u);
|
||||
//告警--二三级放入告警中
|
||||
//告警--一二级放入告警中
|
||||
//每个告警的位的位置需要测一下
|
||||
|
||||
temp_second = set_bit_based_on_source_pylon(status, kFaultLevel_Second);
|
||||
temp_third = set_bit_based_on_source_pylon(status, kFaultLevel_Third);
|
||||
temp_first = set_bit_based_on_source_pylon(status, kFaultLevel_First);
|
||||
|
||||
tmp_16u = temp_second | temp_third;
|
||||
tmp_16u = temp_second | temp_first;
|
||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||
//保护--一级放入保护中
|
||||
//保护--三级放入保护中
|
||||
//每个告警的位的位置需要测一下
|
||||
|
||||
tmp_16u = set_bit_based_on_source_pylon(status, kFaultLevel_First);
|
||||
tmp_16u = set_bit_based_on_source_pylon(status, kFaultLevel_Third);
|
||||
|
||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||
bsp_can_ext_data_sync_send(can, 0x00004250, buf, len);
|
||||
|
|
|
@ -126,7 +126,7 @@ uint16_t bcu_total_msg_fill(uint16_t start_addr, uint8_t reg_num, uint8_t *buf)
|
|||
READ_FC03_F04_ITEM(11, bms_get_bmu_num());
|
||||
//12 在线从机总数
|
||||
READ_FC03_F04_ITEM(12, bms_get_bmu_online_num());
|
||||
//13 电池总数
|
||||
//13 电池总数 电芯总数
|
||||
//READ_FC03_F04_ITEM(13, get_eeprom_data(kEep_CellNum, kEepromDataType_Full));
|
||||
READ_FC03_F04_ITEM(13, bms_get_cell_num());
|
||||
//14 在线电池总数
|
||||
|
|
|
@ -86,19 +86,19 @@ uint32_t bms_get_baseInfo(uint16_t input)
|
|||
tmp = (uint32_t)bms_get_soc() * get_eeprom_data(kEep_RatedCapacity, kEepromDataType_Full)/10000*get_eeprom_data(kEep_RatedTotalVolt, kEepromDataType_Full)/10000;
|
||||
return tmp;
|
||||
case 11:
|
||||
tmp = bms_get_bmu_num();
|
||||
tmp = bms_get_bmu_num();
|
||||
return tmp;
|
||||
case 12:
|
||||
tmp = bms_get_bmu_online_num();
|
||||
return tmp;
|
||||
case 13:
|
||||
tmp = get_eeprom_data(kEep_CellNum, kEepromDataType_Full);
|
||||
tmp = bms_get_cell_num();
|
||||
return tmp;
|
||||
case 14:
|
||||
tmp = bms_get_statistic_data(kStatisticData_OnlineCellNum);
|
||||
return tmp;
|
||||
case 15:
|
||||
tmp = get_eeprom_data(kEep_TempNum, kEepromDataType_Full);
|
||||
tmp = bms_get_temp_num();
|
||||
return tmp;
|
||||
case 16:
|
||||
tmp = bms_get_statistic_data(kStatisticData_OnlineTempNum);
|
||||
|
@ -346,6 +346,7 @@ uint32_t bms_get_fault_level_1(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 13:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(1, kFaultLevel_First), 12)) //1级极柱过温
|
||||
{
|
||||
|
@ -371,6 +372,7 @@ uint32_t bms_get_fault_level_1(uint16_t input)
|
|||
return tmp;
|
||||
case 16:
|
||||
tmp = bms_get_statistic_data(kStatisticData_OnlineTempNum);
|
||||
return tmp;
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
|
@ -501,6 +503,7 @@ uint32_t bms_get_fault_level_2(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 13:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(1, kFaultLevel_Second), 12)) //2级极柱过温
|
||||
{
|
||||
|
@ -640,7 +643,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 12:
|
||||
case 12:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(0, kFaultLevel_Third), 1)) //3级总压欠压--组端欠压
|
||||
{
|
||||
tmp = 1;
|
||||
|
@ -649,6 +652,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 13:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(1, kFaultLevel_Third), 12)) //3级极柱过温
|
||||
{
|
||||
|
@ -668,6 +672,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 15:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(2, kFaultLevel_Third), 9)) //极限故障
|
||||
{
|
||||
|
@ -677,6 +682,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 16:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(1, kFaultLevel_Third), 1)) //预充故障
|
||||
{
|
||||
|
@ -686,6 +692,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
case 17:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(2, kFaultLevel_Third), 10)) //开路故障
|
||||
{
|
||||
|
@ -695,6 +702,7 @@ uint32_t bms_get_fault_level_3(uint16_t input)
|
|||
{
|
||||
tmp = 0;
|
||||
}
|
||||
return tmp;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1089,7 +1097,17 @@ void mqtt_publish_bms_data(uint32_t basetime)
|
|||
// mqtt_init_flag = 0;
|
||||
// }
|
||||
// }
|
||||
drv_mqtt_connect();
|
||||
|
||||
if (!drv_at_send_cmd("AT+QMTCONN?", "0,3\0", WIFI_TIMEOUT))
|
||||
{
|
||||
drv_mqtt_connect();
|
||||
}
|
||||
// else //@wangk add 5-16,这段注释可以证明上述if起作用了,只有检测没有连接到mqtt的时候,才会执行连接函数,避免消耗资源
|
||||
// {
|
||||
// drv_mqtt_publish_no_respose("1", 1);
|
||||
// }
|
||||
|
||||
|
||||
// drv_wireless_send_string("AT+QMTPUB=0,1,2,0,\"BCU01\",17,\"Hello from FC41D!\"");
|
||||
mqtt_cycle_tick = 0;
|
||||
publish_all_bms_groups();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue