diff --git a/Core/Inc/utilities_def.h b/Core/Inc/utilities_def.h
index 16c631e..22653b4 100644
--- a/Core/Inc/utilities_def.h
+++ b/Core/Inc/utilities_def.h
@@ -82,7 +82,7 @@ typedef enum
/* USER CODE BEGIN CFG_SEQ_Task_Id_t */
CFG_SEQ_Task_YunhornSTSEventRFAC, /* RFAC */
-#if defined(STS_M1)||defined(STS_O6)
+#if defined(STS_M1)||defined(STS_O6)||defined(STS_O5)
CFG_SEQ_Task_YunhornSTSEventP1, /* REEDSWITCH, IO */
#endif
#if defined(STS_O6)
diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index 63c3b8c..89eaf63 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -514,7 +514,7 @@ void LoRaWAN_Init(void)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), UTIL_SEQ_RFU, STS_YunhornSTSEventRFAC_Process);
-#ifdef STS_M1
+#if defined(STS_M1)||defined(STS_O5)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), UTIL_SEQ_RFU, STS_YunhornSTSEventP1_Process);
@@ -555,8 +555,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
case BUT1_Pin:
/* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */
- if (EventType == TX_ON_EVENT)
+ //if (EventType == TX_ON_EVENT)
{
+ APP_LOG(TS_OFF, VLEVEL_M, "\r\n Button 0 pressed \r\n");
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
}
break;
@@ -764,6 +765,8 @@ static void SendTxData(void)
sts_r_sensor_data_t sts_r4_sensor_data={0};
#elif defined(STS_M1)
sts_r_sensor_data_t sts_m1_sensor_data={0};
+#elif defined(STS_O5)
+ STS_OO_SensorDataTypeDef oo_data;
#endif
if (LmHandlerIsBusy() == false)
@@ -785,6 +788,10 @@ static void SendTxData(void)
EnvSensors_Read(&sensor_data);
+#ifdef STS_O5
+ STS_O5_SENSOR_Read(&oo_data);
+#endif
+
#ifdef STS_R4
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0);
//STS_YunhornSTSEventP6_Process();
@@ -829,6 +836,9 @@ static void SendTxData(void)
#ifdef STS_M1 // WATER LEAKAGE SENSOR
AppData.Port = YUNHORN_STS_M1_LORA_APP_DATA_PORT; /* STS-M1 Data Port */
#endif
+#ifdef STS_O5
+ AppData.Port = YUNHORN_STS_O5_LORA_APP_DATA_PORT; /* STS-O5 Data Port */
+#endif
AppData.Buffer[i++] = (uint8_t) (AppLedStateOn|0x80); // for first byte, cannot be 0x0
AppData.Buffer[i++] = (uint8_t) sts_mtmcode1;
@@ -909,6 +919,11 @@ static void SendTxData(void)
#endif /* CAYENNE_LPP */
+#ifdef STS_O5
+ AppData.Buffer[i++] = 1;
+ AppData.Buffer[i++] = (uint8_t)(oo_data.state_sensor1_on_off)&0xff;
+#endif
+
#ifdef VL53L0 //VL53L0
#if (defined(STS_R1)||defined(STS_R5))
diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject
index f6d209d..5bf6f2e 100644
--- a/STM32CubeIDE/.cproject
+++ b/STM32CubeIDE/.cproject
@@ -133,9 +133,7 @@