diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index 24dc4fc..f65b959 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -626,8 +626,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
#ifdef YUNHORN_STS_O5_ENABLED
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
+#endif
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
-#else
+#ifdef SOAP_LEVEL
uint8_t pinstate = HAL_GPIO_ReadPin(BUT1_GPIO_Port,BUT1_Pin);
APP_LOG(TS_OFF, VLEVEL_M, "## BUTTON-1 DETECTED: %2d \r\n", pinstate);
@@ -637,11 +638,11 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
} else
{
-#ifdef LED_ONBOARD
+ #ifdef LED_ONBOARD
LED_ON;
HAL_Delay(20);
LED_OFF;
-#endif
+ #endif
}
#endif
@@ -654,9 +655,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
break;
case BUT3_Pin:
-#if defined(STM32WL55xx)
+
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), CFG_SEQ_Prio_0);
-#endif
+
break;
#if (defined(STS_USE_TOF_VL53L1X) ||defined(STS_USE_TOF_VL53L0X))
case TOF_INT_EXTI_PIN:
@@ -797,12 +798,12 @@ static void SendTxData(void)
#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);
+
#endif
@@ -817,7 +818,6 @@ static void SendTxData(void)
//r0_data.battery_Pct = batteryLevel; //(uint8_t)(99*batteryLevel/254);
// EnvSensors_Read(&sensor_data);
-
// 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));
diff --git a/STM32CubeIDE/.project b/STM32CubeIDE/.project
index 304d6aa..89f7047 100644
--- a/STM32CubeIDE/.project
+++ b/STM32CubeIDE/.project
@@ -32,6 +32,11 @@
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+ Doc/decoder.js
+ 1
+ copy_PARENT/decoder.js
+
Doc/readme.txt
1
diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml
index cac1d19..7aa0e53 100644
--- a/STM32CubeIDE/.settings/language.settings.xml
+++ b/STM32CubeIDE/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/decoder.js b/decoder.js
index a26b65c..a753652 100644
--- a/decoder.js
+++ b/decoder.js
@@ -98,14 +98,24 @@ function Decode(fPort, data, variables) {
}
// 0x59,0x44 report configed heart-beat interval
if (bytes[0] === 0x59) {
- if (bytes[1] === 0x44) {
+ if (bytes[1] === 0x53) {
return [
{
+ Type: "Heart Beat Interval",
HB_interval: (bytes[2] - 0x30) * 10 + (bytes[3] - 0x30),
HB_interval_unit: String.fromCharCode(bytes[4]),
}
];
}
+ else if (bytes[1] === 0x44) {
+ return [
+ {
+ Type: "Periodic Upload Interval",
+ Upload_interval: (bytes[2] - 0x30) * 10 + (bytes[3] - 0x30),
+ Upload_interval_unit: String.fromCharCode(bytes[4]),
+ }
+ ];
+ }
}
}
diff --git a/mlx90640/mlx90640_lcd_display.c b/mlx90640/mlx90640_lcd_display.c
index d0336a7..dc6b562 100644
--- a/mlx90640/mlx90640_lcd_display.c
+++ b/mlx90640/mlx90640_lcd_display.c
@@ -323,15 +323,15 @@ static void readTempValues(void)
void blackOutFilter(void)
{
float temp1=0.0, temph1=0.0, tempv1=0.0;
-/*
- if (maxTemp < normalPeopleTemp)
+
+ if (maxTemp > humanTempThreshold)
{
- blackOutTag =0;
+ blackOutTag =1;
} else
{
- blackOutTag =1;
+ blackOutTag =0;
}
-*/
+
// ignore edge of FOV
waterSpillCount =0;
detectCycle = 0;
@@ -415,7 +415,7 @@ void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data)
//memset(order + m1a_data->spot_cnt, 0x0, sizeof(tempBuffer)-m1a_data->spot_cnt); // fill non-spot position to zero
- memset(tempBuffer,0,sizeof(tempBuffer));
+ memset(tempBuffer,0x0,sizeof(tempBuffer));
sprintf(tempBuffer,(char *)"\r\n## Read Sensor Spot CNT=%4d (areas) \r\n## V_cnt=%2d (lane) H_cnt=%2d (lane) \r\n## Spillage Level =%2.2f%% \r\n## averageTempInner=%2.2f C averageTemp=%2.2f C centerTemp=%2.2f C MinTemp=%2.2f C maxTemp=%2.2f C \r\n ######## Gap_Average= %2.2f Gap_Inner = %2.2f \r\n",
m1a_data->waterSpillCount, v_water_cnt, h_water_cnt, (float)(m1a_data->spillage_level), (float)averageTempInner, (float)averageTemp, (float)centerTemp, (float)minTemp, (float)maxTemp, (float)(averageTemp - minTemp),(float)(averageTempInner - minTemp));
@@ -425,8 +425,8 @@ void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data)
if (m1a_data->spot_cnt !=0 )
{
for (uint8_t i=0; i< 4; i++) {
- memset(tempBuffer,0,sizeof(tempBuffer));
- sprintf(tempBuffer, (char *) " Top {%1d} =order =%2u X=%2u : Y=%2u \r\n", i, order[i],
+ memset(tempBuffer,0x0,sizeof(tempBuffer));
+ sprintf(tempBuffer, (char *) " Top {%2u} : order =%2u X=%2u : Y=%2u \r\n", (uint8_t)i, (uint8_t)(order[i]),
(uint8_t)(order[i]%(10)), (uint8_t)(order[i]/10));
APP_LOG(TS_OFF, VLEVEL_H,(char *)tempBuffer);
}
@@ -446,7 +446,7 @@ void mlx90640_display_process(void)
blackOutFilter();
drawPicture();
-#if 1
+#if 0
if (blackOutTag == 0)
{
//BSP_LCD_DisplayOn();
@@ -463,7 +463,10 @@ void mlx90640_display_process(void)
//BSP_LCD_DisplayOff();
}
#endif
- APP_LOG(TS_OFF, VLEVEL_H, "Water Spill Detected Level = %d of 600 \r\n", waterSpillCount);
+ if (blackOutTag == 0)
+ {
+ APP_LOG(TS_OFF, VLEVEL_H, "Water Spill Detected Level = %u of 600 \r\n", waterSpillCount);
+ }
}
uint8_t mlx90640_bringup_test(void)