bcu偶尔会丢失订阅的主题,导致远程配置失效,增加了订阅主题的定时检查
This commit is contained in:
parent
cf6d3bc00f
commit
833cfa6562
|
@ -10,14 +10,14 @@
|
|||
<TargetName>stm32f407</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pArmCC>5060750::V5.06 update 6 (build 750)::ARMCC</pArmCC>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
|
||||
<pArmCC>5050106::V5.05 update 1 (build 106)::ARMCC</pArmCC>
|
||||
<pCCUsed>5050106::V5.05 update 1 (build 106)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F407ZGTx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.14.0</PackID>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.16.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
|
@ -50,7 +50,7 @@
|
|||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||
<OutputName>BCU11</OutputName>
|
||||
<OutputName>BCU14</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
|
@ -81,9 +81,9 @@
|
|||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg1>1</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name>D:\CodeHvStack\BCU\app\stm32fxxx_app\hex2bin.exe D:\CodeHvStack\BCU\app\stm32fxxx_app\prj\Objects\BCU11.hex</UserProg1Name>
|
||||
<UserProg1Name>D:\CodeHvStack\BCU\app\stm32fxxx_app\hex2bin.exe D:\CodeHvStack\BCU\app\stm32fxxx_app\prj\Objects\BCU14.hex</UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
|
@ -186,6 +186,8 @@
|
|||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>2</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<nBranchProt>0</nBranchProt>
|
||||
<hadIRAM2>1</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
|
@ -352,7 +354,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<ClangAsOpt>4</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -471,7 +473,7 @@
|
|||
<NoWarn>2</NoWarn>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<useXO>2</useXO>
|
||||
<uClangAs>2</uClangAs>
|
||||
<ClangAsOpt>0</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -982,7 +984,7 @@
|
|||
<NoWarn>2</NoWarn>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<useXO>2</useXO>
|
||||
<uClangAs>2</uClangAs>
|
||||
<ClangAsOpt>0</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -1168,7 +1170,7 @@
|
|||
<TargetCommonOption>
|
||||
<Device>STM32F407VGTx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.14.0</PackID>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.16.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
|
@ -1337,6 +1339,8 @@
|
|||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>2</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<nBranchProt>0</nBranchProt>
|
||||
<hadIRAM2>1</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
|
@ -1503,7 +1507,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<ClangAsOpt>4</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -361,7 +361,7 @@ uint32_t bms_get_fault_level_1(uint16_t input)
|
|||
}
|
||||
return tmp;
|
||||
case 14:
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(0, kFaultLevel_First), 9)) //高压异常
|
||||
if (KIT_GET_BIT_32(bms_get_fault_single_bit(0, kFaultLevel_Third), 9)) //高压异常
|
||||
{
|
||||
tmp = 1;
|
||||
}
|
||||
|
@ -1172,6 +1172,17 @@ void mqtt_publish_bms_data(uint32_t basetime)
|
|||
// drv_mqtt_publish_no_respose("1", 1);
|
||||
// }
|
||||
|
||||
// 定期检测是否依然订阅主题
|
||||
if (!drv_at_send_cmd("AT+QMTSUB=?", "control\0", WIFI_TIMEOUT))
|
||||
{
|
||||
drv_at_send_cmd("AT+QMTSUB=0,1,\"bluesun/bms/control/11223344\",0,\"bluesun/bms/read/11223344\",0", "OK", WIFI_TIMEOUT);
|
||||
}
|
||||
if (!drv_at_send_cmd("AT+QMTSUB=?", "read\0", WIFI_TIMEOUT))
|
||||
{
|
||||
drv_at_send_cmd("AT+QMTSUB=0,1,\"bluesun/bms/control/11223344\",0,\"bluesun/bms/read/11223344\",0", "OK", WIFI_TIMEOUT);
|
||||
}
|
||||
|
||||
|
||||
// 定期检测是否蓝牙断连
|
||||
if (!drv_at_send_cmd("AT+QBLESTAT", "ADVERTISING\0", WIFI_TIMEOUT))
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -126,7 +126,7 @@ uint8_t drv_mqtt_connect()
|
|||
//2、建立 MQTT 客户端与服务器之间的会话连接
|
||||
char cmd[100] = {0};
|
||||
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTOPEN=1,\"%s\",%d",MQTT_BROKER,MQTT_PORT);
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTOPEN=0,\"%s\",%d",MQTT_BROKER,MQTT_PORT);
|
||||
if (!drv_at_send_cmd(cmd, "OK", WIFI_TIMEOUT))
|
||||
{
|
||||
// KIT_PRINTF("Failed to set MQTT server!\r\n");
|
||||
|
@ -136,20 +136,20 @@ uint8_t drv_mqtt_connect()
|
|||
|
||||
//2、MQTT 客户端与服务器之间建立 MQTT 连接 AT+QMTCONN=<clientID>,<client_identity>,<username>,<password>
|
||||
//snprintf(cmd, sizeof(cmd), "AT+QMTCONN=0,%s,%s,%s",MQTT_CLIENT_ID,MQTT_USER, MQTT_PASSWORD);
|
||||
if (!drv_at_send_cmd("AT+QMTCONN=1,\"clientBCUwifi11223344\"", "OK", WIFI_TIMEOUT))
|
||||
if (!drv_at_send_cmd("AT+QMTCONN=0,\"clientBCUwifi11223344\"", "OK", WIFI_TIMEOUT))
|
||||
{
|
||||
// KIT_PRINTF("Failed to set MQTT client credentials!\r\n");
|
||||
}
|
||||
|
||||
if (!drv_at_send_cmd("AT+QMTSUB=1,1,\"bluesun/bms/control/11223344\",0", "OK", WIFI_TIMEOUT))
|
||||
{
|
||||
// KIT_PRINTF("Failed to set MQTT client credentials!\r\n");
|
||||
}
|
||||
|
||||
if (!drv_at_send_cmd("AT+QMTSUB=1,1,\"bluesun/bms/read/11223344\",0", "OK", WIFI_TIMEOUT))
|
||||
if (!drv_at_send_cmd("AT+QMTSUB=0,1,\"bluesun/bms/control/11223344\",0,\"bluesun/bms/read/11223344\",0", "OK", WIFI_TIMEOUT))
|
||||
{
|
||||
// KIT_PRINTF("Failed to set MQTT client credentials!\r\n");
|
||||
}
|
||||
//
|
||||
// if (!drv_at_send_cmd("AT+QMTSUB=1,1,\"bluesun/bms/read/11223344\",0,\"bluesun/bms/control/11223344\",0", "OK", WIFI_TIMEOUT))
|
||||
// {
|
||||
//// KIT_PRINTF("Failed to set MQTT client credentials!\r\n");
|
||||
// }
|
||||
|
||||
// KIT_PRINTF("MQTT Connection Successful!\r\n");
|
||||
return 0;
|
||||
|
|
|
@ -418,7 +418,7 @@ uint8_t drv_mqtt_publish(char* str,uint16_t length)
|
|||
uint8_t drv_mqtt_publish_no_respose(char* str,uint16_t length)
|
||||
{
|
||||
// snprintf(cmd, sizeof(cmd), "AT+QMTPUB=0,1,2,0,%s,%d,%s",MQTT_TOPIC, length, str);
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=1,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC, length, str);
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=0,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC, length, str);
|
||||
// drv_wireless_send_string(cmd); // δʹÓÃDMA
|
||||
drv_wireless_send_string_dma(cmd); // ʹÓÃDMA
|
||||
return 0;
|
||||
|
@ -426,14 +426,14 @@ uint8_t drv_mqtt_publish_no_respose(char* str,uint16_t length)
|
|||
|
||||
uint8_t drv_mqtt_publish_control_no_respose(char* str,uint16_t length)
|
||||
{
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=1,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC_control, length, str);
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=0,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC_control, length, str);
|
||||
drv_wireless_send_string_dma_high_priority(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t drv_mqtt_publish_read_no_respose(char* str,uint16_t length)
|
||||
{
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=1,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC_read, length, str);
|
||||
snprintf(cmd, sizeof(cmd), "AT+QMTPUB=0,1,2,0,\"%s\",%d,\"%s\"", MQTT_TOPIC_read, length, str);
|
||||
drv_wireless_send_string_dma_high_priority(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue