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 version;
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 sampling; // heart-beat interval or count of sampling duty cycle duration high {99}
uint8_t s_unit; // Heart-beat interval or sampling time unit of duty cycle duration, in 'S', 'M','H' seconds, minutes, hours
uint8_t sampling; // heart-beat interval or sampling interval in following 'unit'
uint8_t s_unit; // Heart-beat interval or sampling time unit, in 'S', 'M','H' seconds, minutes, hours
uint8_t work_mode;
uint8_t sts_service_mask;
uint8_t reseve01;

View File

@ -412,14 +412,6 @@ void STS_YunhornSTSEventP8_Process(void)
void STS_YunhornSTSEventP9_Process(void)
{
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();
mlx90640_display_init();
mlx90640_display_process();

View File

@ -111,7 +111,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
0xFF, //reserve
0xFF, //reserve
0xFF, //reserve
0xF, //reserve
0xFF, //reserve
}, // ******************* above 28 bytes28 bytes
// ******************* below 4 bytes
0x01, //fall_detection_acc_threshold = *10 acceleration measure
@ -147,9 +147,6 @@ typedef enum TxEventType_e
} TxEventType_t;
/* 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_SAMPLING_CHECK_TIME SamplingPeriodicity
/* USER CODE END PTD */
@ -456,31 +453,11 @@ static UTIL_TIMER_Object_t RxLedTimer;
*/
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
*/
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 */
/* 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_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
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer,
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
#endif
// 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
// type 1, sampling timer
// for IAQ sensor, multiple sampling, result in one average result between upload interval
#if (defined(YUNHORN_STS_E0_ENABLED))
// Samping sensor interval
@ -624,19 +598,19 @@ void LoRaWAN_Init(void)
UTIL_TIMER_Start(&YunhornSTSSamplingCheckTimer);
#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_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
#endif
/* USER CODE END LoRaWAN_Init_Last */
@ -649,7 +623,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
switch (GPIO_Pin)
{
case BUT1_Pin:
#if (defined(STM32WL55xx)||defined(STM32WLE5xx))
#ifdef YUNHORN_STS_O5_ENABLED
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), 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
break;
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);
#endif
break;
@ -710,9 +684,8 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
if (params != NULL)
{
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); /* LED_BLUE */
#endif
UTIL_TIMER_Start(&RxLedTimer);
@ -758,16 +731,12 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
if (AppLedStateOn == RESET)
{
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 */
#endif
}
else
{
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 */
#endif
}
}
break;
@ -788,7 +757,7 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
}
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->Rssi, params->Snr);
}
@ -806,13 +775,13 @@ static void SendTxData(void)
#if defined(YUNHORN_STS_M1A_ENABLED)
STS_M1A_SensorDataTypeDef m1a_data;
#endif
#if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED)
STS_R0_SensorDataTypeDef r0_data;
#endif
#if defined(STS_O5)
STS_OO_SensorDataTypeDef oo_data;
#endif
UTIL_TIMER_Time_t nextTxIn = 0;
AppData.Port = LORAWAN_USER_APP_PORT;
@ -826,16 +795,15 @@ static void SendTxData(void)
#if defined(SOAP_LEVEL_SENSOR)
STS_YunhornSTSEventP6_Process();
#endif
#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);
m1a_data.battery_Pct = (uint8_t)(99*batteryLevel/254);
// STS_R0_SENSOR_Read(&r0_data);
//r0_data.battery_mV = batteryLevelmV;
// r0_data.battery_Pct = (uint8_t)(99*batteryLevel/254);
#endif
//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\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;
AppData.Buffer[i++] = AppLedStateOn;
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_hardware_ver); //hardware_Ver; //#04
AppData.Buffer[i++] = (uint8_t)(0xFF & (99*batteryLevel/254)); //#05
//#endif
if (heart_beat_timer != 0U)
{
@ -878,7 +843,7 @@ static void SendTxData(void)
AppData.Buffer[i++] = (uint8_t)(r0_data.battery_Pct);
#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;
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*100))%100)&0xff; //#14
#endif
}
@ -950,21 +912,20 @@ static void SendTxData(void)
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
{
UTIL_TIMER_Stop(&JoinLedTimer);
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */
#endif
}
status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
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)
{
nextTxIn = LmHandlerGetDutyCycleWaitTime();
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 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);
/*Wait for next tx slot*/
@ -997,23 +959,23 @@ static void OnTxTimerEvent(void *context)
/* USER CODE BEGIN PrFD_LedEvents */
static void OnTxTimerLedEvent(void *context)
{
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET); /* LED_GREEN */
#endif
}
static void OnRxTimerLedEvent(void *context)
{
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); /* LED_BLUE */
#endif
}
static void OnJoinTimerLedEvent(void *context)
{
#if defined(STM32WL55xx)
HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); /* LED_RED */
#endif
}
/* 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) */
if (params->IsMcpsConfirm != 0)
{
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET); /* LED_GREEN */
#endif
UTIL_TIMER_Start(&TxLedTimer);
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)
{
UTIL_TIMER_Stop(&JoinLedTimer);
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */
#endif
APP_LOG(TS_OFF, VLEVEL_M, "\r\n###### = JOINED = ");
if (joinParams->Mode == ACTIVATION_TYPE_ABP)
@ -1075,7 +1036,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
/*
uint32_t periodicity = (sts_cfg_nvm.periodicity); //TxPeriodicty interval
if ((char)sts_cfg_nvm.unit =='M') {
periodicity *= 60;
@ -1087,8 +1048,8 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
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");
}
@ -2046,9 +2007,9 @@ void STS_SENSOR_Upload_Message(uint8_t appDataPort, uint8_t appBufferSize, char
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
{
UTIL_TIMER_Stop(&JoinLedTimer);
#if defined(STM32WL55xx)
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */
#endif
}
status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
@ -2081,8 +2042,6 @@ void OnStoreSTSCFGContextRequest(void)
{
/* USER CODE BEGIN OnStoreContextRequest_1 */
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;
nvm_store_value[i++] = sts_cfg_nvm.mtmcode1;
nvm_store_value[i++] = sts_cfg_nvm.mtmcode2;
@ -2111,7 +2070,7 @@ void OnStoreSTSCFGContextRequest(void)
nvm_store_value[i++] = (sts_cfg_nvm.ac[j]);
}
}
#endif
/* USER CODE END OnStoreContextRequest_1 */
/* 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);
/* 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))
{
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];
}
}
#endif
OnRestoreSTSCFGContextProcess();
OnRestoreSTSCFGContextProcess();
/* USER CODE END OnRestoreContextRequest_Last */
}
@ -2227,14 +2184,14 @@ void OnRestoreSTSCFGContextProcess(void)
//Heart-beat or Sampling interval
samplingperiodicity = (samplingperiodicity > 0)? samplingperiodicity : 1; // in seconds unit
HeartBeatPeriodicity = samplingperiodicity*1000;
// For wakeup and sampling sensors
#if defined(YUNHORN_STS_O6_ENABLED) ||defined(YUNHORN_STS_O5_ENABLED)
OnYunhornSTSSamplingPeriodicityChanged(HeartBeatPeriodicity); // in m-sec unit
#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);
#endif
}
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->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));
uint8_t i=0;
if (spot_cnt != 0) {