revised with env temperature
This commit is contained in:
parent
e98af7458f
commit
22aed14aa1
|
@ -59,6 +59,7 @@ volatile uint8_t sts_reed_hall_result =0;
|
|||
volatile uint8_t sts_water_leakage_result=0;
|
||||
volatile uint8_t sts_water_leakage_changed_flag=0;
|
||||
extern volatile uint8_t sensor_data_ready;
|
||||
extern volatile float env_temperature;
|
||||
#ifdef YUNHORN_STS_O5_ENABLED
|
||||
|
||||
#endif
|
||||
|
@ -413,6 +414,8 @@ void STS_YunhornSTSEventP9_Process(void)
|
|||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P9 Testing Process start\r\n");
|
||||
//MX_I2C2_Init();
|
||||
env_temperature = (SYS_GetTemperatureLevel() >> 8);
|
||||
|
||||
mlx90640_display_init();
|
||||
mlx90640_display_process();
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@ volatile uint32_t HeartBeatPeriodicity = 120000; //unit ms
|
|||
volatile uint8_t STS_LoRa_WAN_Joined = 0;
|
||||
|
||||
#ifdef STS_TMG
|
||||
volatile float env_temperature= 25.0;
|
||||
extern volatile uint8_t waterTempThreshold;
|
||||
extern volatile uint8_t humanTempThreshold;
|
||||
extern volatile uint8_t averageTempThreshold;
|
||||
|
@ -818,6 +819,7 @@ static void SendTxData(void)
|
|||
//r0_data.battery_Pct = batteryLevel; //(uint8_t)(99*batteryLevel/254);
|
||||
|
||||
// EnvSensors_Read(&sensor_data);
|
||||
//env_temperature = (SYS_GetTemperatureLevel() >> 8);
|
||||
// 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));
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ volatile float averageTemp=0.0f;
|
|||
volatile float averageTempInner=0.0f;
|
||||
volatile uint16_t waterSpillCount=0;
|
||||
extern volatile uint8_t sensor_data_ready;
|
||||
extern volatile float env_temperature;
|
||||
char tempBuffer[256];
|
||||
// variables for interpolated colors
|
||||
uint8_t red, green, blue;
|
||||
|
@ -209,7 +210,7 @@ static void sortFocusAreas(void)
|
|||
{
|
||||
temp1 = (float)tempValues[(x) + (y*COL)];
|
||||
|
||||
if ((temp1 + (float)(waterTempThreshold / 10.0)) < averageTemp ) // was max(averageTemp, normalWaterTemp))
|
||||
if ((temp1 + (float)(waterTempThreshold / 10.0)) < (float)env_temperature ) // was max(averageTemp, env_temperature))
|
||||
{
|
||||
if (blackOutTag == 0) {
|
||||
zoneMask[y*COL+x] ++;
|
||||
|
@ -221,7 +222,6 @@ static void sortFocusAreas(void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -229,7 +229,7 @@ void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data)
|
|||
{
|
||||
|
||||
m1a_data->waterSpillCount = blackOutTag==0?waterSpillCount:0;
|
||||
m1a_data->spillage_level = (uint8_t)((m1a_data->waterSpillCount)*99/560.0); //((ROW-2)*(COL-2))); // (24-4) * (32 -4) minus edge dots
|
||||
m1a_data->spillage_level = (uint8_t)((m1a_data->waterSpillCount)*99/768.0); //((ROW-2)*(COL-2))); // (24-4) * (32 -4) minus edge dots
|
||||
m1a_data->averageTemp = averageTemp;
|
||||
m1a_data->averageTempInner = averageTempInner;
|
||||
m1a_data->centerTemp = centerTemp;
|
||||
|
@ -257,8 +257,8 @@ void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data)
|
|||
memcpy((void *)m1a_data->order, (const void *)order, sizeof(order));
|
||||
memset(tempBuffer,0x0,sizeof(tempBuffer));
|
||||
|
||||
sprintf(tempBuffer,(char *)"\r\n## Blackout=%u ######\n##Read Sensor Spot CNT=%4d (areas) \r\n## V_cnt=%2d (lane) H_cnt=%2d (lane) \r\n## Spillage Level =%02.2f%% \r\n## averageTempInner=%02.2f C averageTemp=%02.2f C centerTemp=%.2f C MinTemp=%02.2f C maxTemp=%02.2f C \r\n ######## Gap_Average= %02.2f Gap_Inner = %02.2f \r\n",
|
||||
(uint8_t)blackOutTag, (int)m1a_data->waterSpillCount, (int)v_water_cnt, (int)h_water_cnt, (float)(m1a_data->spillage_level), (float)averageTempInner, (float)averageTemp, (float)centerTemp, (float)minTemp, (float)maxTemp, (float)(averageTemp - minTemp),(float)(averageTempInner - minTemp));
|
||||
sprintf(tempBuffer,(char *)"\r\n## Blackout=%u ######\n##Read Sensor Spot CNT=%4d (areas), \r\n Env_Temp =%02.2f C,\r\n## V_cnt=%2d (lane), H_cnt=%2d (lane), \r\n## Spillage Level =%u %, \r\n## averageTempInner=%02.2f C, averageTemp=%02.2f C, centerTemp=%.2f C, MinTemp=%02.2f C, maxTemp=%02.2f C, \r\n ######## Gap_Average= %02.2fC, Gap_Inner = %02.2fC \r\n",
|
||||
(uint8_t)blackOutTag, (uint16_t)(m1a_data->waterSpillCount), (float)env_temperature, (int)v_water_cnt, (int)h_water_cnt, (uint8_t)(m1a_data->spillage_level), (float)averageTempInner, (float)averageTemp, (float)centerTemp, (float)minTemp, (float)maxTemp, (float)(averageTemp - minTemp),(float)(averageTempInner - minTemp));
|
||||
APP_LOG(TS_OFF, VLEVEL_H,(char *)tempBuffer);
|
||||
|
||||
if ((m1a_data->spot_cnt !=0 ) && (blackOutTag == 0))
|
||||
|
@ -284,24 +284,23 @@ void mlx90640_display_process(void)
|
|||
uint16_t spillcountTemp =0, spot_cntTemp=0;
|
||||
|
||||
do {
|
||||
//APP_LOG(TS_OFF, VLEVEL_H, "Detection Cycle = %u \r\n", detectCycle);
|
||||
readTempValues();
|
||||
setTempScale();
|
||||
sortFocusAreas();
|
||||
findFocusArea();
|
||||
|
||||
spillcountTemp +=waterSpillCount;
|
||||
spillcountTemp += waterSpillCount;
|
||||
spot_cntTemp += spot_cnt;
|
||||
|
||||
} while (detectCycle++ < DetectCycleCount);
|
||||
} while (++detectCycle < DetectCycleCount);
|
||||
|
||||
waterSpillCount = spillcountTemp/DetectCycleCount;
|
||||
waterSpillCount = (uint16_t) (spillcountTemp/DetectCycleCount);
|
||||
spot_cnt /= DetectCycleCount ; //max(v_water_cnt, h_water_cnt);
|
||||
|
||||
|
||||
if (blackOutTag == 0)
|
||||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_H, "Water Spill Detected Level = %u of 600 \r\n", waterSpillCount);
|
||||
APP_LOG(TS_OFF, VLEVEL_H, "Water Spill Detected Level = %u of 768 \r\n", (uint16_t)waterSpillCount);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue