|
|
@@ -376,7 +376,8 @@ int main(void)
|
|
|
} else {
|
|
|
if (IsTimeElapsed(&hrtc, &IDLE_struct, 20*60)) {
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
+ printf("心跳发送1\r\n");
|
|
|
+ // E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -397,23 +398,25 @@ int main(void)
|
|
|
|
|
|
case REQUEST_BLUETOOTH_DATA_SEND:
|
|
|
uint8_t sentData_Temp[25] = {0};
|
|
|
- if (TRUE) { // 5 5
|
|
|
- if (RingBuffer_Dequeue(&deviceInfo.queueBLData, sentData_Temp) == 0 && deviceInfo.forwardBLAndLoraDataCount < deviceInfo.forwardBLAndLoraDataCountMax) {
|
|
|
- //不为空的情况下
|
|
|
- E52_Send_Bl_Data_Fun(sentData_Temp,0x00);
|
|
|
- deviceInfo.forwardBLAndLoraDataCount++;
|
|
|
- } else {
|
|
|
- //为空的情况下
|
|
|
- // printf("发送最后一位,开始发送蓝牙数据给Lora\r\n");
|
|
|
- uint8_t endFrame[25] = {0};
|
|
|
- E52_Send_Bl_Data_Fun(endFrame,0x01);
|
|
|
- deviceInfo.BlDataFlag = BL_START;
|
|
|
- deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
|
- printf("发送完成\r\n");
|
|
|
+ if (RingBuffer_Dequeue(&deviceInfo.queueBLData, sentData_Temp) == 0 && deviceInfo.forwardBLAndLoraDataCount <
|
|
|
+ deviceInfo.forwardBLAndLoraDataCountMax) {
|
|
|
+ //不为空的情况下
|
|
|
+ E52_Send_Bl_Data_Fun(sentData_Temp, 0x00);
|
|
|
+ deviceInfo.forwardBLAndLoraDataCount++;
|
|
|
+ } else {
|
|
|
+ //擦除缓存
|
|
|
+ if (RingBuffer_Dequeue(&deviceInfo.queueBLData, sentData_Temp) == 0) {
|
|
|
+ continue;
|
|
|
}
|
|
|
- HAL_Delay(deviceInfo.forwardBLAndLoraDataDuration);//后台配置间隔时间
|
|
|
+ // printf("发送最后一位,开始发送蓝牙数据给Lora\r\n");
|
|
|
+ uint8_t endFrame[25] = {0};
|
|
|
+ E52_Send_Bl_Data_Fun(endFrame, 0x01);
|
|
|
+ deviceInfo.BlDataFlag = BL_START;
|
|
|
+ deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
|
+ printf("发送完成\r\n");
|
|
|
}
|
|
|
- break; //发送数据阶段
|
|
|
+ HAL_Delay(deviceInfo.forwardBLAndLoraDataDuration); //后台配置间隔时间
|
|
|
+ break; //发送数据阶段
|
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.forwardBLAndLoraDataDuration = 0;
|
|
|
// i = 0;
|
|
|
@@ -434,10 +437,9 @@ int main(void)
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == E52_HEARTBEAT && deviceInfo.isOnline) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case HEARTBEAT_SEND:
|
|
|
- if (TRUE) {
|
|
|
+ printf("心跳发送2\r\n");
|
|
|
E52_Heartbeat_Fun();
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
|
- }
|
|
|
break;
|
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
@@ -470,9 +472,8 @@ int main(void)
|
|
|
break; //如果是单波,多播,配置目标地址
|
|
|
|
|
|
case STEP_COMPLETE:
|
|
|
- if (TRUE) {
|
|
|
- E52_Heartbeat_Fun();
|
|
|
- }
|
|
|
+ printf("心跳发送3\r\n");
|
|
|
+ E52_Heartbeat_Fun();
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
break;
|
|
|
|