[nps] add forgotten temp sensor files

This commit is contained in:
Felix Ruess
2016-03-09 15:13:31 +01:00
parent ae2e9fa524
commit 625d7558a5
2 changed files with 61 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
#include "nps_sensor_temperature.h"
#include "generated/airframe.h"
#include "std.h"
#include "nps_fdm.h"
#include "nps_random.h"
#include NPS_SENSORS_PARAMS
/// 10Hz default
#ifndef NPS_TEMPERATURE_DT
#define NPS_TEMPERATURE_DT 0.01
#endif
#ifndef NPS_TEMPERATURE_NOISE_STD_DEV
#define NPS_TEMPERATURE_NOISE_STD_DEV 0.1
#endif
void nps_sensor_temperature_init(struct NpsSensorTemperature *temperature, double time)
{
temperature->value = 0.;
temperature->noise_std_dev = NPS_TEMPERATURE_NOISE_STD_DEV;
temperature->next_update = time;
temperature->data_available = FALSE;
}
void nps_sensor_temperature_run_step(struct NpsSensorTemperature *temperature, double time)
{
if (time < temperature->next_update) {
return;
}
/* termperature in degrees Celcius */
temperature->value = fdm.temperature;
/* add noise with std dev */
temperature->value += get_gaussian_noise() * temperature->noise_std_dev;
temperature->next_update += NPS_TEMPERATURE_DT;
temperature->data_available = TRUE;
}
+20
View File
@@ -0,0 +1,20 @@
#ifndef NPS_SENSOR_TEMPERATURE_H
#define NPS_SENSOR_TEMPERATURE_H
#include "math/pprz_algebra.h"
#include "math/pprz_algebra_double.h"
#include "math/pprz_algebra_float.h"
#include "std.h"
struct NpsSensorTemperature {
double value; ///< temperature in degrees Celcius
double noise_std_dev; ///< noise standard deviation
double next_update;
bool_t data_available;
};
extern void nps_sensor_temperature_init(struct NpsSensorTemperature *temperature, double time);
extern void nps_sensor_temperature_run_step(struct NpsSensorTemperature *temperature, double time);
#endif /* NPS_SENSOR_TEMPERATURE_H */