--- revised P cmd and decoder ---

This commit is contained in:
Yunhorn 2024-07-31 17:01:06 +08:00
parent ac5101e2ca
commit 45a4d6c75f
1 changed files with 30 additions and 39 deletions

View File

@ -694,7 +694,7 @@ void LoRaWAN_Init(void)
UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL); UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
UTIL_TIMER_Start(&STSDurationCheckTimer); //UTIL_TIMER_Start(&STSDurationCheckTimer);
#else #else
UTIL_TIMER_Create(&YunhornSTSSamplingCheckTimer, UTIL_TIMER_Create(&YunhornSTSSamplingCheckTimer,
@ -1397,9 +1397,9 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
if (joinParams->Status == LORAMAC_HANDLER_SUCCESS) if (joinParams->Status == LORAMAC_HANDLER_SUCCESS)
{ {
UTIL_TIMER_Stop(&JoinLedTimer); UTIL_TIMER_Stop(&JoinLedTimer);
//STS_Lamp_Bar_Set_Dark();
sts_lamp_bar_color = STS_GREEN; sts_lamp_bar_color = STS_GREEN;
STS_WS2812B_Refresh();
#ifndef STM32WLE5xx #ifndef STM32WLE5xx
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */ HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */
#endif #endif
@ -1414,9 +1414,6 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
} }
STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode; STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode;
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
//OnTxPeriodicityChanged(TxPeriodicity);
APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA"); APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA");
} }
else else
@ -1426,11 +1423,14 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower); APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
} }
heart_beat_timer = 1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
//HAL_Delay(3000);
UTIL_TIMER_Start(&STSLampBarColorTimer);
heart_beat_timer = 1;
SendTxData();
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
//OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
UTIL_TIMER_Start(&STSLampBarColorTimer);
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); //UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
/* USER CODE END OnJoinRequest_1 */ /* USER CODE END OnJoinRequest_1 */
} }
@ -1509,7 +1509,7 @@ static void OnTxPeriodicityChanged(uint32_t periodicity)
TxPeriodicity = APP_TX_DUTYCYCLE; TxPeriodicity = APP_TX_DUTYCYCLE;
} }
HeartBeatPeriodicity = TxPeriodicity; //HeartBeatPeriodicity = TxPeriodicity;
/* Update timer periodicity */ /* Update timer periodicity */
UTIL_TIMER_Stop(&TxTimer); UTIL_TIMER_Stop(&TxTimer);
@ -1709,7 +1709,7 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context)
{ {
heart_beat_timer = 1; heart_beat_timer = 1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); //UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
if ((STS_LoRa_WAN_Joined ) && (sts_ac_code[0]==0x0) && (sts_ac_code[19]==0x0)) if ((STS_LoRa_WAN_Joined ) && (sts_ac_code[0]==0x0) && (sts_ac_code[19]==0x0))
{ {
@ -2109,10 +2109,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
{ {
//STS_SENSOR_Power_ON((uint8_t)(tlv_buf[CFG_CMD3]-0x30)); //STS_SENSOR_Power_ON((uint8_t)(tlv_buf[CFG_CMD3]-0x30));
PME_ON; PME_ON;
i=0;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; // 2024-07-31
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3]; i = tlv_buf_size;
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
} else { } else {
STS_SENSOR_Upload_Config_Invalid_Message(); STS_SENSOR_Upload_Config_Invalid_Message();
@ -2123,11 +2123,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
// TODO # of modules // TODO # of modules
if (((uint8_t)(tlv_buf[CFG_CMD3]-0x30) >= 0) && ((uint8_t)tlv_buf[CFG_CMD3]-0x30) <=9) { if (((uint8_t)(tlv_buf[CFG_CMD3]-0x30) >= 0) && ((uint8_t)tlv_buf[CFG_CMD3]-0x30) <=9) {
//STS_SENSOR_Power_OFF((tlv_buf[CFG_CMD3]-0x30)); //STS_SENSOR_Power_OFF((tlv_buf[CFG_CMD3]-0x30));
PME_OFF; PME_OFF;
i=0; // 2024-07-31
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3];
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
} else { } else {
STS_SENSOR_Upload_Config_Invalid_Message(); STS_SENSOR_Upload_Config_Invalid_Message();
@ -2139,10 +2138,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
PME_ON; PME_ON;
PME_OFF; PME_OFF;
PME_ON; PME_ON;
i=0; // 2024-07-31
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3];
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
} else { } else {
STS_SENSOR_Upload_Config_Invalid_Message(); STS_SENSOR_Upload_Config_Invalid_Message();
@ -2162,19 +2160,15 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
periodicity_length *= 3600; periodicity_length *= 3600;
} }
TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s
HeartBeatPeriodicity = TxPeriodicity; //HeartBeatPeriodicity = TxPeriodicity;
//OnTxPeriodicityChanged(TxPeriodicity); //OnTxPeriodicityChanged(TxPeriodicity);
#if defined(STS_O6)||defined(STS_O7) #if defined(STS_O6)||defined(STS_O7)
OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity);
#endif #endif
// 2024-07-31
i = 0; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5];
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
// Save config to NVM // Save config to NVM
@ -2219,12 +2213,9 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
SamplingPeriodicity = heart_beat_or_sampling_periodicity_length*1000; //translate to 1000ms=1s SamplingPeriodicity = heart_beat_or_sampling_periodicity_length*1000; //translate to 1000ms=1s
OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity); OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity);
#endif #endif
i = 0; // 2024-07-31
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD1]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD2]; i = tlv_buf_size;
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD3];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD4];
outbuf[i++] = (uint8_t) tlv_buf[CFG_CMD5];
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
// Save config to NVM // Save config to NVM