enhanced for tx and heart-beat manage

This commit is contained in:
Yunhorn 2024-01-04 14:06:21 +08:00
parent f83e63a31a
commit 4b7e0d51a5
5 changed files with 39 additions and 21 deletions

View File

@ -626,8 +626,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
#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);
#endif
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); 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); uint8_t pinstate = HAL_GPIO_ReadPin(BUT1_GPIO_Port,BUT1_Pin);
APP_LOG(TS_OFF, VLEVEL_M, "## BUTTON-1 DETECTED: %2d \r\n", pinstate); 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); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
} else } else
{ {
#ifdef LED_ONBOARD #ifdef LED_ONBOARD
LED_ON; LED_ON;
HAL_Delay(20); HAL_Delay(20);
LED_OFF; LED_OFF;
#endif #endif
} }
#endif #endif
@ -654,9 +655,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
break; break;
case BUT3_Pin: 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
break; break;
#if (defined(STS_USE_TOF_VL53L1X) ||defined(STS_USE_TOF_VL53L0X)) #if (defined(STS_USE_TOF_VL53L1X) ||defined(STS_USE_TOF_VL53L0X))
case TOF_INT_EXTI_PIN: case TOF_INT_EXTI_PIN:
@ -797,12 +798,12 @@ static void SendTxData(void)
#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);
#endif #endif
@ -817,7 +818,6 @@ static void SendTxData(void)
//r0_data.battery_Pct = batteryLevel; //(uint8_t)(99*batteryLevel/254); //r0_data.battery_Pct = batteryLevel; //(uint8_t)(99*batteryLevel/254);
// EnvSensors_Read(&sensor_data); // EnvSensors_Read(&sensor_data);
// 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));

View File

@ -32,6 +32,11 @@
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures> </natures>
<linkedResources> <linkedResources>
<link>
<name>Doc/decoder.js</name>
<type>1</type>
<locationURI>copy_PARENT/decoder.js</locationURI>
</link>
<link> <link>
<name>Doc/readme.txt</name> <name>Doc/readme.txt</name>
<type>1</type> <type>1</type>

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-269652060479141546" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1435577628396038727" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-269652060479141546" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1435577628396038727" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

View File

@ -98,14 +98,24 @@ function Decode(fPort, data, variables) {
} }
// 0x59,0x44 report configed heart-beat interval // 0x59,0x44 report configed heart-beat interval
if (bytes[0] === 0x59) { if (bytes[0] === 0x59) {
if (bytes[1] === 0x44) { if (bytes[1] === 0x53) {
return [ return [
{ {
Type: "Heart Beat Interval",
HB_interval: (bytes[2] - 0x30) * 10 + (bytes[3] - 0x30), HB_interval: (bytes[2] - 0x30) * 10 + (bytes[3] - 0x30),
HB_interval_unit: String.fromCharCode(bytes[4]), 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]),
}
];
}
} }
} }

View File

@ -323,15 +323,15 @@ static void readTempValues(void)
void blackOutFilter(void) void blackOutFilter(void)
{ {
float temp1=0.0, temph1=0.0, tempv1=0.0; float temp1=0.0, temph1=0.0, tempv1=0.0;
/*
if (maxTemp < normalPeopleTemp) if (maxTemp > humanTempThreshold)
{ {
blackOutTag =0; blackOutTag =1;
} else } else
{ {
blackOutTag =1; blackOutTag =0;
} }
*/
// ignore edge of FOV // ignore edge of FOV
waterSpillCount =0; waterSpillCount =0;
detectCycle = 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(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", 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)); 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 ) if (m1a_data->spot_cnt !=0 )
{ {
for (uint8_t i=0; i< 4; i++) { for (uint8_t i=0; i< 4; i++) {
memset(tempBuffer,0,sizeof(tempBuffer)); memset(tempBuffer,0x0,sizeof(tempBuffer));
sprintf(tempBuffer, (char *) " Top {%1d} =order =%2u X=%2u : Y=%2u \r\n", i, order[i], 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)); (uint8_t)(order[i]%(10)), (uint8_t)(order[i]/10));
APP_LOG(TS_OFF, VLEVEL_H,(char *)tempBuffer); APP_LOG(TS_OFF, VLEVEL_H,(char *)tempBuffer);
} }
@ -446,7 +446,7 @@ void mlx90640_display_process(void)
blackOutFilter(); blackOutFilter();
drawPicture(); drawPicture();
#if 1 #if 0
if (blackOutTag == 0) if (blackOutTag == 0)
{ {
//BSP_LCD_DisplayOn(); //BSP_LCD_DisplayOn();
@ -463,7 +463,10 @@ void mlx90640_display_process(void)
//BSP_LCD_DisplayOff(); //BSP_LCD_DisplayOff();
} }
#endif #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) uint8_t mlx90640_bringup_test(void)