STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
BarometerMessage.hpp
Go to the documentation of this file.
1#ifndef BAROMETER_MESSAGE_HPP
2#define BAROMETER_MESSAGE_HPP
3
4#include <array>
5#include <cstdint>
6
7#include "CommsMessage.hpp"
8
9/**
10 * @brief Barometer sensor message
11 * Measures atmospheric pressure and derived altitude
12 */
14 comms::CommsMessage<double, // (0) time_bar (s) - timestamp
15 double, // (1) pressure (Pa) - atmospheric pressure
16 double, // (2) altitude (m) - derived altitude
17 double, // (3) temperature (C) - temperature reading
18 uint64_t>; // (4) time_monotonic (ns) - monotonic timestamp
19
20// Function to set barometer measurements
21static void set_barometer_measurement(BarometerMessage& message, double time_bar, double pressure,
22 double altitude, double temperature,
23 uint64_t time_monotonic) {
24 message.setField<0>(time_bar);
25 message.setField<1>(pressure);
26 message.setField<2>(altitude);
27 message.setField<3>(temperature);
28 message.setField<4>(time_monotonic);
29}
30
32 BarometerMessage message;
33 set_barometer_measurement(message, 0.0, 101325.0, 0.0, 25.0, 0);
34 return message;
35}
36
37#endif // BAROMETER_MESSAGE_HPP
comms::CommsMessage< double, double, double, double, uint64_t > BarometerMessage
Barometer sensor message Measures atmospheric pressure and derived altitude.
static void set_barometer_measurement(BarometerMessage &message, double time_bar, double pressure, double altitude, double temperature, uint64_t time_monotonic)
static BarometerMessage generateTestMessageBarometer()
CommsMessage - Template-based message serialization.