InertiaSDK

Loading...
Searching...
No Matches
IMAConfig.h
1#pragma once
2
3#include "data/config/SamplingConfig.h"
4
5 namespace inertia
6{
7
9 enum IMAConfigVersion {
10 IMA_V0 = 0,
11 IMA_V1,
12 IMA_V2,
13 IMA_V3
14};
15
16 struct INERTIA_API IMAConfig
17 : SamplingConfig
18{
19 bool adoptInterval;
20 bool adoptValuesPerMessage;
21 IMAConfigVersion imaVersion;
22 uint16_t interval;
23 uint8_t valuesPerMessage;
24 uint8_t samplingChannel;
25 uint8_t subscribedChannel;
26
27 IMAConfig();
28 IMAConfig(uint8_t const* in);
29 IMAConfig(std::wstring const& argString);
30
31#ifdef WITH_BOOST_PROGRAM_OPTIONS
32 static const po::options_description GetOptionDescription();
33#endif
34
35 ConfigType GetConfigType() const override;
36 static unsigned GetLength();
37 void GetBytes(std::vector<uint8_t>& out) const override;
38 const std::wstring ToString() const override;
39 const std::wstring ToSimpleString(uint16_t const globalRate) const;
40 const std::pair<unsigned, Channel> GetChannel() const;
41};
42
43}
inertia
Definition FlashCommands.h:6
inertia::ConfigType
ConfigType
Definition ConfigChannel.h:7
inertia::IMAConfigVersion
IMAConfigVersion
Definition IMAConfig.h:9