MIP_SDK  v3.0.0
MicroStrain Communications Library for embedded systems
commands_system.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
6 
8 
9 namespace mip::metadata
10 {
11 
12 
13 template<>
14 struct MetadataFor<commands_system::CommMode::Response>
15 {
17 
18  static constexpr inline ParameterInfo parameters[] = {
19  {
20  /* .name = */ "mode",
21  /* .docs = */ "",
22  /* .type = */ {Type::U8, nullptr},
23  /* .accessor = */ nullptr, //utils::access<type, uint8_t, &type::mode>,
24  /* .attributes = */ {true, false, false, false, false},
25  /* .count = */ 1,
26  /* .condition = */ {},
27  },
28  };
29 
30  static constexpr inline FieldInfo value = {
31  /* .name = */ "commands_system::CommMode::Response",
32  /* .title = */ "response",
33  /* .docs = */ "",
34  /* .parameters = */ parameters,
35  /* .descriptor = */ type::DESCRIPTOR,
36  /* .functions = */ NO_FUNCTIONS,
37  /* .proprietary = */ false,
38  /* .response = */ nullptr,
39  };
40 };
41 
42 template<>
43 struct MetadataFor<commands_system::CommMode>
44 {
46 
47  static constexpr inline ParameterInfo parameters[] = {
48  FUNCTION_SELECTOR_PARAM,
49  {
50  /* .name = */ "mode",
51  /* .docs = */ "",
52  /* .type = */ {Type::U8, nullptr},
53  /* .accessor = */ nullptr, //utils::access<type, uint8_t, &type::mode>,
54  /* .attributes = */ {true, false, false, false, false},
55  /* .count = */ 1,
56  /* .condition = */ {},
57  },
58  };
59 
60  static constexpr inline FieldInfo value = {
61  /* .name = */ "commands_system::CommMode",
62  /* .title = */ "comm_mode",
63  /* .docs = */ "Advanced specialized communication modes.\n\nThis command allows the user to communicate directly with various subsystems which may be present in MIP devices (i.e. IMU, GNSS, etc.)\nPlease see the specific device's user manual for possible modes.\n\nThis command responds with an ACK/NACK just prior to switching to the new protocol.\nFor all functions except 0x01 (use new settings), the new communications mode value is ignored.\n\n",
64  /* .parameters = */ parameters,
65  /* .descriptor = */ type::DESCRIPTOR,
66  /* .functions = */ {true, true, false, false, true},
67  /* .proprietary = */ false,
68  /* .response = */ &MetadataFor<type::Response>::value,
69  };
70 };
71 
72 
73 static constexpr inline std::initializer_list<const FieldInfo*> COMMANDS_SYSTEM = {
76 };
77 
78 
79 } // namespace mip::metadata
80 
mip::metadata::MetadataFor< commands_system::CommMode::Response >::value
static constexpr FieldInfo value
Definition: commands_system.hpp:30
mip::metadata
Definition: commands_3dm.hpp:9
commands_system.hpp
mip::metadata::MetadataFor
Definition: mip_metadata.hpp:15
mip::metadata::MetadataFor< commands_system::CommMode >::value
static constexpr FieldInfo value
Definition: commands_system.hpp:60
mip::metadata::ParameterInfo
Definition: mip_structures.hpp:127
mip_metadata.hpp
mip::commands_system::CommMode::Response
Definition: commands_system.hpp:105
mip::metadata::FieldInfo
Definition: mip_structures.hpp:182
mip::metadata::Type::U8
@ U8
mip::commands_system::CommMode
Definition: commands_system.hpp:70
common.hpp