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 int16_t rte_wx_temperature_average_modbus;
|
||||||
extern uint16_t rte_wx_pressure_average;
|
extern uint16_t rte_wx_pressure_average;
|
||||||
|
|
||||||
|
#endif
|
||||||
extern uint16_t rte_wx_pm10; // 2.5um
|
extern uint16_t rte_wx_pm10; // 2.5um
|
||||||
extern uint16_t rte_wx_pm2_5; // 1um
|
extern uint16_t rte_wx_pm2_5; // 1um
|
||||||
#endif
|
|
||||||
|
|
||||||
extern uint16_t rte_wx_windspeed_pulses;
|
extern uint16_t rte_wx_windspeed_pulses;
|
||||||
extern uint16_t rte_wx_windspeed[WIND_AVERAGE_LEN];
|
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_modbus = 0;
|
||||||
int16_t rte_wx_temperature_average_internal = 0;
|
int16_t rte_wx_temperature_average_internal = 0;
|
||||||
uint16_t rte_wx_pressure_average = 0;
|
uint16_t rte_wx_pressure_average = 0;
|
||||||
|
#endif
|
||||||
uint16_t rte_wx_pm10 = 0; // 2.5um
|
uint16_t rte_wx_pm10 = 0; // 2.5um
|
||||||
uint16_t rte_wx_pm2_5 = 0; // 1um
|
uint16_t rte_wx_pm2_5 = 0; // 1um
|
||||||
#endif
|
|
||||||
int16_t rte_wx_average_winddirection = 0;
|
int16_t rte_wx_average_winddirection = 0;
|
||||||
uint16_t rte_wx_average_windspeed = 0;
|
uint16_t rte_wx_average_windspeed = 0;
|
||||||
uint16_t rte_wx_max_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
|
// BME280 measures all three things at one call to the driver
|
||||||
output |= WX_HANDLER_PARAMETER_RESULT_PRESSURE;
|
output |= WX_HANDLER_PARAMETER_RESULT_PRESSURE;
|
||||||
|
|
||||||
// get internal temperature
|
// // get internal temperature
|
||||||
if (config_mode->wx_ms5611_or_bme == 1) {
|
// if (config_mode->wx_ms5611_or_bme == 1) {
|
||||||
measurement_retval = wx_get_temperature_bme280(&rte_wx_temperature_internal);
|
// measurement_retval = wx_get_temperature_bme280(&rte_wx_temperature_internal);
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
measurement_retval = wx_get_temperature_ms5611(&rte_wx_temperature_internal);
|
// measurement_retval = wx_get_temperature_ms5611(&rte_wx_temperature_internal);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// add the current pressure into buffer for average calculation
|
// incrementing iterator over pressure history
|
||||||
rte_wx_pressure_history[rte_wx_pressure_it++] = rte_wx_pressure;
|
rte_wx_pressure_it++;
|
||||||
|
|
||||||
// reseting the average length iterator
|
|
||||||
j = 0;
|
|
||||||
|
|
||||||
// check if and end of the buffer was reached
|
// check if and end of the buffer was reached
|
||||||
if (rte_wx_pressure_it >= PRESSURE_AVERAGE_LN) {
|
if (rte_wx_pressure_it >= PRESSURE_AVERAGE_LN) {
|
||||||
rte_wx_pressure_it = 0;
|
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
|
// calculating the average of pressure measuremenets
|
||||||
for (i = 0; i < PRESSURE_AVERAGE_LN; i++) {
|
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
|
// check if temperature from pressure sensor has been retrieved w/o errors
|
||||||
if (measurement_result == BME280_OK || measurement_result == MS5611_OK) {
|
if (measurement_result == BME280_OK || measurement_result == MS5611_OK) {
|
||||||
|
|
||||||
|
rte_wx_temperature_internal_valid = rte_wx_temperature_internal;
|
||||||
|
|
||||||
// set the flag for internal temperature
|
// set the flag for internal temperature
|
||||||
parameter_result = parameter_result | WX_HANDLER_PARAMETER_RESULT_TEMP_INTERNAL;
|
parameter_result = parameter_result | WX_HANDLER_PARAMETER_RESULT_TEMP_INTERNAL;
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue