diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
index 9cd7e13..8234296 100644
--- a/Core/Src/gpio.c
+++ b/Core/Src/gpio.c
@@ -60,7 +60,7 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pin = BUT1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
#if 0
diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index fcc4c65..49697fb 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -448,6 +448,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
/* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */
//if (EventType == TX_ON_EVENT)
{
+ door_changed_flag =1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
}
break;
@@ -557,6 +558,22 @@ static void SendTxData(void)
sensor_t sensor_data;
UTIL_TIMER_Time_t nextTxIn = 0;
+ door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
+ door_changed_flag = 0;
+ if (door_status != door_previous_status)
+ {
+ door_previous_status = door_status;
+ }
+
+#if 0
+ if (door_changed_flag ==1 )
+ {
+ door_changed_flag = 0;
+ UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
+ UTIL_TIMER_Start(&TxTimer);
+ }
+#endif
+
if (LmHandlerIsBusy() == false)
{
#ifdef CAYENNE_LPP
@@ -611,7 +628,7 @@ static void SendTxData(void)
AppData.Buffer[i++] = 0;
AppData.Buffer[i++] = 0;
AppData.Buffer[i++] = (uint8_t)(99*GetBatteryLevel()/255); /* 1 (very low) to 254 (fully charged) */
- AppData.Buffer[i++] = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
+ AppData.Buffer[i++] = door_status;
}
else
{
@@ -666,6 +683,7 @@ static void SendTxData(void)
static void OnTxTimerEvent(void *context)
{
/* USER CODE BEGIN OnTxTimerEvent_1 */
+#if 0
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
if (door_status != door_previous_status)
{
@@ -681,6 +699,18 @@ static void OnTxTimerEvent(void *context)
/*Wait for next tx slot*/
UTIL_TIMER_Start(&TxTimer);
}
+#endif
+ door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
+ door_changed_flag = 0;
+ if (door_status != door_previous_status)
+ {
+ door_previous_status = door_status;
+
+
+ UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
+ UTIL_TIMER_Start(&TxTimer);
+
+ }
/* USER CODE BEGIN OnTxTimerEvent_2 */
/* USER CODE END OnTxTimerEvent_2 */
diff --git a/STM32CubeIDE/WL55JC_AS923.launch b/STM32CubeIDE/WL55JC_AS923.launch
index 9c1e726..4ffa9b7 100644
--- a/STM32CubeIDE/WL55JC_AS923.launch
+++ b/STM32CubeIDE/WL55JC_AS923.launch
@@ -78,5 +78,6 @@
+