16 #ifndef SENSORS__SENSOR_HPP_
17 #define SENSORS__SENSOR_HPP_
22 #include "ekf/ekf.hpp"
23 #include "infrastructure/debug_logger.hpp"
24 #include "sensors/sensor_message.hpp"
45 std::shared_ptr<EKF>
ekf;
80 static unsigned int m_sensor_count;
84 bool MessageCompare(std::shared_ptr<SensorMessage> a, std::shared_ptr<SensorMessage> b);
Sensor message base class.
Definition: sensor_message.hpp:26
Pure base sensor class.
Definition: sensor.hpp:32
struct Sensor::Parameters Parameters
Sensor parameter structure.
std::string m_name
Sensor name.
Definition: sensor.hpp:75
double m_rate
Sensor measurement rate.
Definition: sensor.hpp:73
Sensor(Parameters params)
Sensor class constructor.
Definition: sensor.cpp:26
std::shared_ptr< DebugLogger > m_logger
Debug logger.
Definition: sensor.hpp:76
unsigned int GetId()
Sensor ID getter method.
Definition: sensor.cpp:33
void Callback(SensorMessage sensor_message)
Sensor callback function.
Definition: sensor.cpp:48
std::string GetName()
Sensor name getter method.
Definition: sensor.cpp:38
bool m_is_initialized
Sensor initialization flag.
Definition: sensor.hpp:77
unsigned int m_id
Sensor id.
Definition: sensor.hpp:74
Sensor parameter structure.
Definition: sensor.hpp:38
double rate
Update rate.
Definition: sensor.hpp:41
std::string topic
Topic.
Definition: sensor.hpp:40
double data_log_rate
Data logging rate.
Definition: sensor.hpp:42
std::shared_ptr< DebugLogger > logger
Debug logger.
Definition: sensor.hpp:44
std::string log_directory
Data logging directory.
Definition: sensor.hpp:43
std::shared_ptr< EKF > ekf
EKF to update.
Definition: sensor.hpp:45
std::string name
Name.
Definition: sensor.hpp:39