kopia lustrzana https://github.com/SP8EBC/ParaTNC
daily
rodzic
5dae491c2b
commit
827c797554
|
@ -46,9 +46,9 @@ extern int16_t rte_wx_temperature_average_internal;
|
|||
extern int16_t rte_wx_temperature_average_modbus;
|
||||
extern uint16_t rte_wx_pressure_average;
|
||||
|
||||
#endif
|
||||
extern uint16_t rte_wx_pm10; // 2.5um
|
||||
extern uint16_t rte_wx_pm2_5; // 1um
|
||||
#endif
|
||||
|
||||
extern uint16_t rte_wx_windspeed_pulses;
|
||||
extern uint16_t rte_wx_windspeed[WIND_AVERAGE_LEN];
|
||||
|
|
|
@ -46,10 +46,10 @@ int16_t rte_wx_temperature_average_pt = 0;
|
|||
int16_t rte_wx_temperature_average_modbus = 0;
|
||||
int16_t rte_wx_temperature_average_internal = 0;
|
||||
uint16_t rte_wx_pressure_average = 0;
|
||||
|
||||
#endif
|
||||
uint16_t rte_wx_pm10 = 0; // 2.5um
|
||||
uint16_t rte_wx_pm2_5 = 0; // 1um
|
||||
#endif
|
||||
|
||||
int16_t rte_wx_average_winddirection = 0;
|
||||
uint16_t rte_wx_average_windspeed = 0;
|
||||
uint16_t rte_wx_max_windspeed = 0;
|
||||
|
|
|
@ -42,25 +42,28 @@ int32_t wx_get_pressure_measurement(const config_data_wx_sources_t * const confi
|
|||
// BME280 measures all three things at one call to the driver
|
||||
output |= WX_HANDLER_PARAMETER_RESULT_PRESSURE;
|
||||
|
||||
// get internal temperature
|
||||
if (config_mode->wx_ms5611_or_bme == 1) {
|
||||
measurement_retval = wx_get_temperature_bme280(&rte_wx_temperature_internal);
|
||||
}
|
||||
else {
|
||||
measurement_retval = wx_get_temperature_ms5611(&rte_wx_temperature_internal);
|
||||
}
|
||||
// // get internal temperature
|
||||
// if (config_mode->wx_ms5611_or_bme == 1) {
|
||||
// measurement_retval = wx_get_temperature_bme280(&rte_wx_temperature_internal);
|
||||
// }
|
||||
// else {
|
||||
// measurement_retval = wx_get_temperature_ms5611(&rte_wx_temperature_internal);
|
||||
// }
|
||||
|
||||
// add the current pressure into buffer for average calculation
|
||||
rte_wx_pressure_history[rte_wx_pressure_it++] = rte_wx_pressure;
|
||||
|
||||
// reseting the average length iterator
|
||||
j = 0;
|
||||
// incrementing iterator over pressure history
|
||||
rte_wx_pressure_it++;
|
||||
|
||||
// check if and end of the buffer was reached
|
||||
if (rte_wx_pressure_it >= PRESSURE_AVERAGE_LN) {
|
||||
rte_wx_pressure_it = 0;
|
||||
}
|
||||
|
||||
// add the current pressure into buffer for average calculation
|
||||
rte_wx_pressure_history[rte_wx_pressure_it] = rte_wx_pressure;
|
||||
|
||||
// reseting the average length iterator
|
||||
j = 0;
|
||||
|
||||
// calculating the average of pressure measuremenets
|
||||
for (i = 0; i < PRESSURE_AVERAGE_LN; i++) {
|
||||
|
||||
|
|
|
@ -55,6 +55,8 @@ int32_t wx_get_temperature_measurement(const config_data_wx_sources_t * const co
|
|||
// check if temperature from pressure sensor has been retrieved w/o errors
|
||||
if (measurement_result == BME280_OK || measurement_result == MS5611_OK) {
|
||||
|
||||
rte_wx_temperature_internal_valid = rte_wx_temperature_internal;
|
||||
|
||||
// set the flag for internal temperature
|
||||
parameter_result = parameter_result | WX_HANDLER_PARAMETER_RESULT_TEMP_INTERNAL;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue