/ aanderaa_data_msg.h
aanderaa_data_msg.h
 1  #pragma once
 2  #include "cbor.h"
 3  #include "sensor_header_msg.h"
 4  
 5  namespace AanderaaDataMsg {
 6  
 7  constexpr uint32_t VERSION = 1;
 8  constexpr size_t NUM_FIELDS = 14 + SensorHeaderMsg::NUM_FIELDS;
 9  
10  struct Data {
11    SensorHeaderMsg::Data header;
12    double abs_speed_cm_s;
13    double direction_deg_m;
14    double north_cm_s;
15    double east_cm_s;
16    double heading_deg_m;
17    double tilt_x_deg;
18    double tilt_y_deg;
19    double single_ping_std_cm_s;
20    double transducer_strength_db;
21    double ping_count;
22    double abs_tilt_deg;
23    double max_tilt_deg;
24    double std_tilt_deg;
25    double temperature_deg_c;
26  };
27  
28  CborError encode(Data &d, uint8_t *cbor_buffer, size_t size,
29                   size_t *encoded_len);
30  
31  CborError decode(Data &d, const uint8_t *cbor_buffer, size_t size);
32  
33  } // namespace AanderaaDataMsg