compact unused code

This commit is contained in:
Yunhorn 2024-01-03 17:36:33 +08:00
parent 512385a6d7
commit 829ac68f58
4 changed files with 60 additions and 116 deletions

View File

@ -546,10 +546,10 @@ typedef struct sts_cfg_nvm {
uint8_t mtmcode2; uint8_t mtmcode2;
uint8_t version; uint8_t version;
uint8_t hardware_ver; uint8_t hardware_ver;
uint8_t periodicity; //count of uplink duty cycle duration high {99} uint8_t periodicity; // uplink interval in following 'unit'
uint8_t unit; // uplink time unit of duty cycle duration, in 'S', 'M','H' seconds, minutes, hours uint8_t unit; // uplink time unit of duty cycle duration, in 'S', 'M','H' seconds, minutes, hours
uint8_t sampling; // heart-beat interval or count of sampling duty cycle duration high {99} uint8_t sampling; // heart-beat interval or sampling interval in following 'unit'
uint8_t s_unit; // Heart-beat interval or sampling time unit of duty cycle duration, in 'S', 'M','H' seconds, minutes, hours uint8_t s_unit; // Heart-beat interval or sampling time unit, in 'S', 'M','H' seconds, minutes, hours
uint8_t work_mode; uint8_t work_mode;
uint8_t sts_service_mask; uint8_t sts_service_mask;
uint8_t reseve01; uint8_t reseve01;

View File

@ -412,14 +412,6 @@ void STS_YunhornSTSEventP8_Process(void)
void STS_YunhornSTSEventP9_Process(void) void STS_YunhornSTSEventP9_Process(void)
{ {
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P9 Testing Process start\r\n"); APP_LOG(TS_OFF, VLEVEL_L, "\r\n P9 Testing Process start\r\n");
#if 0
BSP_LCD_Init();
BSP_LCD_Clear(LCD_COLOR_BLUE);
BSP_LCD_DisplayOn();
BSP_LCD_Test();
BSP_LCD_DisplayOff();
#endif
//MX_I2C2_Init(); //MX_I2C2_Init();
mlx90640_display_init(); mlx90640_display_init();
mlx90640_display_process(); mlx90640_display_process();

View File

@ -111,7 +111,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
0xFF, //reserve 0xFF, //reserve
0xFF, //reserve 0xFF, //reserve
0xFF, //reserve 0xFF, //reserve
0xF, //reserve 0xFF, //reserve
}, // ******************* above 28 bytes28 bytes }, // ******************* above 28 bytes28 bytes
// ******************* below 4 bytes // ******************* below 4 bytes
0x01, //fall_detection_acc_threshold = *10 acceleration measure 0x01, //fall_detection_acc_threshold = *10 acceleration measure
@ -147,9 +147,6 @@ typedef enum TxEventType_e
} TxEventType_t; } TxEventType_t;
/* USER CODE BEGIN PTD */ /* USER CODE BEGIN PTD */
//#define YUNHORN_STS_SAMPLING_CHECK_TIME SamplingPeriodicity
//#define YUNHORN_STS_UPLOADING_MESSAGE_TIME UploadingMessagePeriodicity
//#define YUNHORN_STS_HEART_BEAT_CHECK_TIME HeartBeatPeriodicity
#define YUNHORN_STS_RSS_WAKEUP_CHECK_TIME SamplingPeriodicity //3000 ms #define YUNHORN_STS_RSS_WAKEUP_CHECK_TIME SamplingPeriodicity //3000 ms
#define YUNHORN_STS_SAMPLING_CHECK_TIME SamplingPeriodicity #define YUNHORN_STS_SAMPLING_CHECK_TIME SamplingPeriodicity
/* USER CODE END PTD */ /* USER CODE END PTD */
@ -456,31 +453,11 @@ static UTIL_TIMER_Object_t RxLedTimer;
*/ */
static UTIL_TIMER_Object_t JoinLedTimer; static UTIL_TIMER_Object_t JoinLedTimer;
/**
* @brief Timer to handle the YunHorn STS RSS WakeUP Checking
*/
//static UTIL_TIMER_Object_t YunhornSTSRSSWakeUpTimer;
/**
* @brief Timer to handle the YunHorn STS Sensor Sampling Process
*/
//static UTIL_TIMER_Object_t YunhornSTSSamplingCheckTimer;
/**
* @brief Timer to handle the YunHorn STS Sensor Uploading Process
*/
//static UTIL_TIMER_Object_t YunhornSTSUploadingMessageTimer;
/** /**
* @brief Timer to handle the YunHorn STS Sensor Heart Beat Process * @brief Timer to handle the YunHorn STS Sensor Heart Beat Process
*/ */
static UTIL_TIMER_Object_t YunhornSTSHeartBeatTimer; static UTIL_TIMER_Object_t YunhornSTSHeartBeatTimer;
/**
* @brief Heart-Beat Timer period
*/
//static UTIL_TIMER_Time_t HeartBeatPeriodicity = 30*APP_TX_DUTYCYCLE; // 5 MIN initial
/* USER CODE END PV */ /* USER CODE END PV */
/* Exported functions ---------------------------------------------------------*/ /* Exported functions ---------------------------------------------------------*/
@ -599,22 +576,19 @@ void LoRaWAN_Init(void)
// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP12_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP12_Process);
// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventPIORS485), UTIL_SEQ_RFU, STS_YunhornSTSEventPIORS485_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventPIORS485), UTIL_SEQ_RFU, STS_YunhornSTSEventPIORS485_Process);
// Three (3) Types of Timer
// 1) wakeup timer or sampling timer --- work but may not upload or Tx anything up, shortest interval say 1s, 3s, 10s
// 2) Tx timer or upload timer --- for valid message upload at given interval, TX_ON_TIMER, medum interval say 30s, 10 min.
// 3) Heart-beat timer --- no matter wakeup or sampling or Tx or upload, upload a short keep-live message at longer interval, say 30 min. 1 hour
// type 1, wakerup timer
#ifdef YUNHORN_STS_O6_ENABLED #ifdef YUNHORN_STS_O6_ENABLED
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer,
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL); UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
#endif #endif
// type 1, sampling timer
// Uploading Message
// FOR Periodically upload message sensor, use this as Heart Beat interval
#if defined(YUNHORN_STS_MM_ENABLED)
UTIL_TIMER_Create(&YunhornSTSUploadingMessageTimer,
YUNHORN_STS_UPLOADING_MESSAGE_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSUploadingMessageEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSUploadingMessageTimer);
#endif
// for IAQ sensor, multiple sampling, result in one average result between upload interval // for IAQ sensor, multiple sampling, result in one average result between upload interval
#if (defined(YUNHORN_STS_E0_ENABLED)) #if (defined(YUNHORN_STS_E0_ENABLED))
// Samping sensor interval // Samping sensor interval
@ -624,19 +598,19 @@ void LoRaWAN_Init(void)
UTIL_TIMER_Start(&YunhornSTSSamplingCheckTimer); UTIL_TIMER_Start(&YunhornSTSSamplingCheckTimer);
#endif #endif
// Heart Beat Timer
// FOR Event trigger type sensor, use this as Heart Beat Timer, such as O1/O2/O3/M1
#if (defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED))
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity,
UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
#endif
#if defined(YUNHORN_STS_M1A_ENABLED)
// type 2. Tx timer or upload timer,
// covered by above TxTimer
// ****************************************************************************************
// Heart Beat Timer, no matter any other timer, there is always a heart-beat timer
// ****************************************************************************************
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity, UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity,
UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL); UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
#endif
/* USER CODE END LoRaWAN_Init_Last */ /* USER CODE END LoRaWAN_Init_Last */
@ -649,7 +623,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
switch (GPIO_Pin) switch (GPIO_Pin)
{ {
case BUT1_Pin: case BUT1_Pin:
#if (defined(STM32WL55xx)||defined(STM32WLE5xx))
#ifdef YUNHORN_STS_O5_ENABLED #ifdef YUNHORN_STS_O5_ENABLED
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
@ -671,16 +645,16 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
} }
#endif #endif
#endif
break; break;
case BUT2_Pin: case BUT2_Pin:
#if defined(STS_USE_STM32WLE5)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), CFG_SEQ_Prio_0);
#endif
break;
#if defined(STS_USE_STM32WL55)
case BUT3_Pin:
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), CFG_SEQ_Prio_0);
break;
case BUT3_Pin:
#if defined(STM32WL55xx)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), CFG_SEQ_Prio_0);
#endif #endif
break; break;
@ -710,9 +684,8 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
if (params != NULL) if (params != NULL)
{ {
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); /* LED_BLUE */ HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); /* LED_BLUE */
#endif
UTIL_TIMER_Start(&RxLedTimer); UTIL_TIMER_Start(&RxLedTimer);
@ -758,16 +731,12 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
if (AppLedStateOn == RESET) if (AppLedStateOn == RESET)
{ {
APP_LOG(TS_OFF, VLEVEL_M, "LED OFF\r\n"); APP_LOG(TS_OFF, VLEVEL_M, "LED OFF\r\n");
#if defined(STM32WL55xx)
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
} }
else else
{ {
APP_LOG(TS_OFF, VLEVEL_M, "LED ON\r\n"); APP_LOG(TS_OFF, VLEVEL_M, "LED ON\r\n");
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET); /* LED_RED */ HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET); /* LED_RED */
#endif
} }
} }
break; break;
@ -788,7 +757,7 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
} }
if (params->RxSlot < RX_SLOT_NONE) if (params->RxSlot < RX_SLOT_NONE)
{ {
APP_LOG(TS_OFF, VLEVEL_M, "###### D/L FRAME:%04d | PORT:%d | DR:%d | SLOT:%s | RSSI:%d | SNR:%d\r\n", APP_LOG(TS_OFF, VLEVEL_H, "###### D/L FRAME:%04d | PORT:%d | DR:%d | SLOT:%s | RSSI:%d | SNR:%d\r\n",
params->DownlinkCounter, RxPort, params->Datarate, slotStrings[params->RxSlot], params->DownlinkCounter, RxPort, params->Datarate, slotStrings[params->RxSlot],
params->Rssi, params->Snr); params->Rssi, params->Snr);
} }
@ -806,13 +775,13 @@ static void SendTxData(void)
#if defined(YUNHORN_STS_M1A_ENABLED) #if defined(YUNHORN_STS_M1A_ENABLED)
STS_M1A_SensorDataTypeDef m1a_data; STS_M1A_SensorDataTypeDef m1a_data;
#endif #endif
#if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) #if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED)
STS_R0_SensorDataTypeDef r0_data; STS_R0_SensorDataTypeDef r0_data;
#endif #endif
#if defined(STS_O5) #if defined(STS_O5)
STS_OO_SensorDataTypeDef oo_data; STS_OO_SensorDataTypeDef oo_data;
#endif #endif
UTIL_TIMER_Time_t nextTxIn = 0; UTIL_TIMER_Time_t nextTxIn = 0;
AppData.Port = LORAWAN_USER_APP_PORT; AppData.Port = LORAWAN_USER_APP_PORT;
@ -826,16 +795,15 @@ static void SendTxData(void)
#if defined(SOAP_LEVEL_SENSOR) #if defined(SOAP_LEVEL_SENSOR)
STS_YunhornSTSEventP6_Process(); STS_YunhornSTSEventP6_Process();
#endif #endif
#if defined(YUNHORN_STS_M1A_ENABLED) #if defined(YUNHORN_STS_M1A_ENABLED)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), CFG_SEQ_Prio_0); // UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), CFG_SEQ_Prio_0);
STS_M1A_SENSOR_Read(&m1a_data); STS_M1A_SENSOR_Read(&m1a_data);
m1a_data.battery_Pct = (uint8_t)(99*batteryLevel/254); m1a_data.battery_Pct = (uint8_t)(99*batteryLevel/254);
// STS_R0_SENSOR_Read(&r0_data); // STS_R0_SENSOR_Read(&r0_data);
//r0_data.battery_mV = batteryLevelmV;
// r0_data.battery_Pct = (uint8_t)(99*batteryLevel/254);
#endif #endif
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0); //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0);
@ -853,18 +821,15 @@ static void SendTxData(void)
// APP_LOG(TS_ON, VLEVEL_M, "\r\nVDDA: %d\r\n", batteryLevel); // APP_LOG(TS_ON, VLEVEL_M, "\r\nVDDA: %d\r\n", batteryLevel);
// APP_LOG(TS_ON, VLEVEL_M, "\r\ntemp: %d\r\n", (int16_t)(sensor_data.temperature)); // APP_LOG(TS_ON, VLEVEL_M, "\r\ntemp: %d\r\n", (int16_t)(sensor_data.temperature));
//APP_LOG(TS_ON, VLEVEL_L, "\r\nDistance = %d mm, VBAT=%d%%\r\n", r0_data.distance_mm, r0_data.battery_Pct);
//#ifdef ROCTEC_R5
i = 0; i = 0;
AppData.Buffer[i++] = AppLedStateOn; AppData.Buffer[i++] = AppLedStateOn;
AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode1); //mtmcode1; //#02 AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode1); //mtmcode1; //#02
AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode2); //mtmcode2; //#03 AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode2); //mtmcode2; //#03
AppData.Buffer[i++] = (uint8_t)(0xFF & sts_hardware_ver); //hardware_Ver; //#04 AppData.Buffer[i++] = (uint8_t)(0xFF & sts_hardware_ver); //hardware_Ver; //#04
AppData.Buffer[i++] = (uint8_t)(0xFF & (99*batteryLevel/254)); //#05 AppData.Buffer[i++] = (uint8_t)(0xFF & (99*batteryLevel/254)); //#05
//#endif
if (heart_beat_timer != 0U) if (heart_beat_timer != 0U)
{ {
@ -878,7 +843,7 @@ static void SendTxData(void)
AppData.Buffer[i++] = (uint8_t)(r0_data.battery_Pct); AppData.Buffer[i++] = (uint8_t)(r0_data.battery_Pct);
#endif #endif
} else if ((upload_message_timer !=0U)||(sensor_data_ready!=0U)) //sensor_data_ready for manual push button-1 trigger) } else if ((upload_message_timer != 0U)||(sensor_data_ready != 0U)) //sensor_data_ready for manual push button-1 trigger)
{ {
AppData.Port = LORAWAN_USER_APP_PORT; AppData.Port = LORAWAN_USER_APP_PORT;
sensor_data_ready =0; sensor_data_ready =0;
@ -938,9 +903,6 @@ static void SendTxData(void)
AppData.Buffer[i++] = (uint8_t)((int)m1a_data.centerTemp)&0xff; //#13 AppData.Buffer[i++] = (uint8_t)((int)m1a_data.centerTemp)&0xff; //#13
AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.centerTemp*100))%100)&0xff; //#14 AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.centerTemp*100))%100)&0xff; //#14
#endif #endif
} }
@ -950,21 +912,20 @@ static void SendTxData(void)
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET)) if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
{ {
UTIL_TIMER_Stop(&JoinLedTimer); UTIL_TIMER_Stop(&JoinLedTimer);
#if defined(STM32WL55xx)
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
} }
status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false); status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
if (LORAMAC_HANDLER_SUCCESS == status) if (LORAMAC_HANDLER_SUCCESS == status)
{ {
APP_LOG(TS_ON, VLEVEL_M, "SEND REQUEST\r\n"); APP_LOG(TS_ON, VLEVEL_L, "SEND REQUEST\r\n");
} }
else if (LORAMAC_HANDLER_DUTYCYCLE_RESTRICTED == status) else if (LORAMAC_HANDLER_DUTYCYCLE_RESTRICTED == status)
{ {
nextTxIn = LmHandlerGetDutyCycleWaitTime(); nextTxIn = LmHandlerGetDutyCycleWaitTime();
if (nextTxIn > 0) if (nextTxIn > 0)
{ {
APP_LOG(TS_ON, VLEVEL_M, "Next Tx in : ~%d second(s)\r\n", (nextTxIn / 1000)); APP_LOG(TS_ON, VLEVEL_L, "Next Tx in : ~%d second(s)\r\n", (nextTxIn / 1000));
} }
} }
} }
@ -984,7 +945,8 @@ static void OnTxTimerEvent(void *context)
/* USER CODE BEGIN OnTxTimerEvent_1 */ /* USER CODE BEGIN OnTxTimerEvent_1 */
/* USER CODE END OnTxTimerEvent_1 */ /* USER CODE END OnTxTimerEvent_1 */
//upload_message_timer =1U; upload_message_timer =1U;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), CFG_SEQ_Prio_0);
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
/*Wait for next tx slot*/ /*Wait for next tx slot*/
@ -997,23 +959,23 @@ static void OnTxTimerEvent(void *context)
/* USER CODE BEGIN PrFD_LedEvents */ /* USER CODE BEGIN PrFD_LedEvents */
static void OnTxTimerLedEvent(void *context) static void OnTxTimerLedEvent(void *context)
{ {
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET); /* LED_GREEN */ HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET); /* LED_GREEN */
#endif
} }
static void OnRxTimerLedEvent(void *context) static void OnRxTimerLedEvent(void *context)
{ {
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); /* LED_BLUE */ HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); /* LED_BLUE */
#endif
} }
static void OnJoinTimerLedEvent(void *context) static void OnJoinTimerLedEvent(void *context)
{ {
#if defined(STM32WL55xx)
HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); /* LED_RED */ HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); /* LED_RED */
#endif
} }
/* USER CODE END PrFD_LedEvents */ /* USER CODE END PrFD_LedEvents */
@ -1026,9 +988,9 @@ static void OnTxData(LmHandlerTxParams_t *params)
/* Process Tx event only if its a mcps response to prevent some internal events (mlme) */ /* Process Tx event only if its a mcps response to prevent some internal events (mlme) */
if (params->IsMcpsConfirm != 0) if (params->IsMcpsConfirm != 0)
{ {
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET); /* LED_GREEN */ HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET); /* LED_GREEN */
#endif
UTIL_TIMER_Start(&TxLedTimer); UTIL_TIMER_Start(&TxLedTimer);
APP_LOG(TS_OFF, VLEVEL_L, "\r\n###### ========== MCPS-Confirm =============\r\n"); //YUNHORN TODO was VLEVEL_M APP_LOG(TS_OFF, VLEVEL_L, "\r\n###### ========== MCPS-Confirm =============\r\n"); //YUNHORN TODO was VLEVEL_M
@ -1057,9 +1019,8 @@ 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);
#if defined(STM32WL55xx)
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
APP_LOG(TS_OFF, VLEVEL_M, "\r\n###### = JOINED = "); APP_LOG(TS_OFF, VLEVEL_M, "\r\n###### = JOINED = ");
if (joinParams->Mode == ACTIVATION_TYPE_ABP) if (joinParams->Mode == ACTIVATION_TYPE_ABP)
@ -1075,7 +1036,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
/*
uint32_t periodicity = (sts_cfg_nvm.periodicity); //TxPeriodicty interval uint32_t periodicity = (sts_cfg_nvm.periodicity); //TxPeriodicty interval
if ((char)sts_cfg_nvm.unit =='M') { if ((char)sts_cfg_nvm.unit =='M') {
periodicity *= 60; periodicity *= 60;
@ -1087,8 +1048,8 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
TxPeriodicity= periodicity*1000; // to ms TxPeriodicity= periodicity*1000; // to ms
OnTxPeriodicityChanged(TxPeriodicity); TO-DO XXXXX 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");
} }
@ -2046,9 +2007,9 @@ void STS_SENSOR_Upload_Message(uint8_t appDataPort, uint8_t appBufferSize, char
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET)) if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
{ {
UTIL_TIMER_Stop(&JoinLedTimer); UTIL_TIMER_Stop(&JoinLedTimer);
#if defined(STM32WL55xx)
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
} }
status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false); status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
@ -2081,8 +2042,6 @@ void OnStoreSTSCFGContextRequest(void)
{ {
/* USER CODE BEGIN OnStoreContextRequest_1 */ /* USER CODE BEGIN OnStoreContextRequest_1 */
uint8_t i=0,j=0,nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; uint8_t i=0,j=0,nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
#if (defined(YUNHORN_STS_O5_ENABLED) || defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED)) || defined(YUNHORN_STS_M1A_ENABLED)
sts_cfg_nvm.length = STS_NVM_CFG_SIZE; sts_cfg_nvm.length = STS_NVM_CFG_SIZE;
nvm_store_value[i++] = sts_cfg_nvm.mtmcode1; nvm_store_value[i++] = sts_cfg_nvm.mtmcode1;
nvm_store_value[i++] = sts_cfg_nvm.mtmcode2; nvm_store_value[i++] = sts_cfg_nvm.mtmcode2;
@ -2111,7 +2070,7 @@ void OnStoreSTSCFGContextRequest(void)
nvm_store_value[i++] = (sts_cfg_nvm.ac[j]); nvm_store_value[i++] = (sts_cfg_nvm.ac[j]);
} }
} }
#endif
/* USER CODE END OnStoreContextRequest_1 */ /* USER CODE END OnStoreContextRequest_1 */
/* store nvm in flash */ /* store nvm in flash */
@ -2148,7 +2107,6 @@ void STS_REBOOT_CONFIG_Init(void)
UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE); UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
/* USER CODE BEGIN OnRestoreContextRequest_Last */ /* USER CODE BEGIN OnRestoreContextRequest_Last */
#if defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED) || defined(YUNHORN_STS_M1A_ENABLED)
if ((nvm_stored_value[NVM_MTM1] != sts_mtmcode1) || (nvm_stored_value[NVM_MTM2] != sts_mtmcode2) || (nvm_stored_value[NVM_VER] != sts_version)) if ((nvm_stored_value[NVM_MTM1] != sts_mtmcode1) || (nvm_stored_value[NVM_MTM2] != sts_mtmcode2) || (nvm_stored_value[NVM_VER] != sts_version))
{ {
APP_LOG(TS_OFF, VLEVEL_H, "\r\nInitial Boot with Empty Config, Flash with default config....\r\n"); APP_LOG(TS_OFF, VLEVEL_H, "\r\nInitial Boot with Empty Config, Flash with default config....\r\n");
@ -2183,9 +2141,8 @@ void STS_REBOOT_CONFIG_Init(void)
sts_cfg_nvm.ac[j] = (uint8_t)nvm_stored_value[NVM_AC_CODE_START +j]; sts_cfg_nvm.ac[j] = (uint8_t)nvm_stored_value[NVM_AC_CODE_START +j];
} }
} }
#endif
OnRestoreSTSCFGContextProcess(); OnRestoreSTSCFGContextProcess();
/* USER CODE END OnRestoreContextRequest_Last */ /* USER CODE END OnRestoreContextRequest_Last */
} }
@ -2227,14 +2184,14 @@ void OnRestoreSTSCFGContextProcess(void)
//Heart-beat or Sampling interval //Heart-beat or Sampling interval
samplingperiodicity = (samplingperiodicity > 0)? samplingperiodicity : 1; // in seconds unit samplingperiodicity = (samplingperiodicity > 0)? samplingperiodicity : 1; // in seconds unit
HeartBeatPeriodicity = samplingperiodicity*1000; HeartBeatPeriodicity = samplingperiodicity*1000;
// For wakeup and sampling sensors
#if defined(YUNHORN_STS_O6_ENABLED) ||defined(YUNHORN_STS_O5_ENABLED) #if defined(YUNHORN_STS_O6_ENABLED) ||defined(YUNHORN_STS_O5_ENABLED)
OnYunhornSTSSamplingPeriodicityChanged(HeartBeatPeriodicity); // in m-sec unit OnYunhornSTSSamplingPeriodicityChanged(HeartBeatPeriodicity); // in m-sec unit
#endif #endif
#if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) ||defined(YUNHORN_STS_M1A_ENABLED) // For all NON- Tx-On-Event sensors
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
#endif
} }
sts_work_mode = sts_cfg_nvm.work_mode; sts_work_mode = sts_cfg_nvm.work_mode;

View File

@ -394,11 +394,6 @@ void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data)
m1a_data->h_water_cnt = h_water_cnt; m1a_data->h_water_cnt = h_water_cnt;
m1a_data->spot_cnt = spot_cnt; //max(v_water_cnt, h_water_cnt); m1a_data->spot_cnt = spot_cnt; //max(v_water_cnt, h_water_cnt);
// APP_LOG(TS_OFF, VLEVEL_L,"spill_cnt=%d, V_cnt=%d H_cnt=%d, Spot_cnt=%d \r\n", waterSpillCount, v_water_cnt, h_water_cnt, m1a_data->spot_cnt);
//memcpy((void *)m1a_data->waterSpillMatrix,(const void *) zoneMask,sizeof(zoneMask)); //memcpy((void *)m1a_data->waterSpillMatrix,(const void *) zoneMask,sizeof(zoneMask));
uint8_t i=0; uint8_t i=0;
if (spot_cnt != 0) { if (spot_cnt != 0) {