mavlink_msg_hil_rc_inputs_raw.h 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624
  1. #pragma once
  2. // MESSAGE HIL_RC_INPUTS_RAW PACKING
  3. #define MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW 92
  4. typedef struct __mavlink_hil_rc_inputs_raw_t {
  5. uint64_t time_usec; /*< [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.*/
  6. uint16_t chan1_raw; /*< [us] RC channel 1 value*/
  7. uint16_t chan2_raw; /*< [us] RC channel 2 value*/
  8. uint16_t chan3_raw; /*< [us] RC channel 3 value*/
  9. uint16_t chan4_raw; /*< [us] RC channel 4 value*/
  10. uint16_t chan5_raw; /*< [us] RC channel 5 value*/
  11. uint16_t chan6_raw; /*< [us] RC channel 6 value*/
  12. uint16_t chan7_raw; /*< [us] RC channel 7 value*/
  13. uint16_t chan8_raw; /*< [us] RC channel 8 value*/
  14. uint16_t chan9_raw; /*< [us] RC channel 9 value*/
  15. uint16_t chan10_raw; /*< [us] RC channel 10 value*/
  16. uint16_t chan11_raw; /*< [us] RC channel 11 value*/
  17. uint16_t chan12_raw; /*< [us] RC channel 12 value*/
  18. uint8_t rssi; /*< Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.*/
  19. } mavlink_hil_rc_inputs_raw_t;
  20. #define MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN 33
  21. #define MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN 33
  22. #define MAVLINK_MSG_ID_92_LEN 33
  23. #define MAVLINK_MSG_ID_92_MIN_LEN 33
  24. #define MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC 54
  25. #define MAVLINK_MSG_ID_92_CRC 54
  26. #if MAVLINK_COMMAND_24BIT
  27. #define MAVLINK_MESSAGE_INFO_HIL_RC_INPUTS_RAW { \
  28. 92, \
  29. "HIL_RC_INPUTS_RAW", \
  30. 14, \
  31. { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_hil_rc_inputs_raw_t, time_usec) }, \
  32. { "chan1_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_hil_rc_inputs_raw_t, chan1_raw) }, \
  33. { "chan2_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_hil_rc_inputs_raw_t, chan2_raw) }, \
  34. { "chan3_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_hil_rc_inputs_raw_t, chan3_raw) }, \
  35. { "chan4_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_hil_rc_inputs_raw_t, chan4_raw) }, \
  36. { "chan5_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_hil_rc_inputs_raw_t, chan5_raw) }, \
  37. { "chan6_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_hil_rc_inputs_raw_t, chan6_raw) }, \
  38. { "chan7_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_hil_rc_inputs_raw_t, chan7_raw) }, \
  39. { "chan8_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_hil_rc_inputs_raw_t, chan8_raw) }, \
  40. { "chan9_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_hil_rc_inputs_raw_t, chan9_raw) }, \
  41. { "chan10_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_hil_rc_inputs_raw_t, chan10_raw) }, \
  42. { "chan11_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_hil_rc_inputs_raw_t, chan11_raw) }, \
  43. { "chan12_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 30, offsetof(mavlink_hil_rc_inputs_raw_t, chan12_raw) }, \
  44. { "rssi", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_hil_rc_inputs_raw_t, rssi) }, \
  45. } \
  46. }
  47. #else
  48. #define MAVLINK_MESSAGE_INFO_HIL_RC_INPUTS_RAW { \
  49. "HIL_RC_INPUTS_RAW", \
  50. 14, \
  51. { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_hil_rc_inputs_raw_t, time_usec) }, \
  52. { "chan1_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_hil_rc_inputs_raw_t, chan1_raw) }, \
  53. { "chan2_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_hil_rc_inputs_raw_t, chan2_raw) }, \
  54. { "chan3_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_hil_rc_inputs_raw_t, chan3_raw) }, \
  55. { "chan4_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_hil_rc_inputs_raw_t, chan4_raw) }, \
  56. { "chan5_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_hil_rc_inputs_raw_t, chan5_raw) }, \
  57. { "chan6_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_hil_rc_inputs_raw_t, chan6_raw) }, \
  58. { "chan7_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_hil_rc_inputs_raw_t, chan7_raw) }, \
  59. { "chan8_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_hil_rc_inputs_raw_t, chan8_raw) }, \
  60. { "chan9_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_hil_rc_inputs_raw_t, chan9_raw) }, \
  61. { "chan10_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_hil_rc_inputs_raw_t, chan10_raw) }, \
  62. { "chan11_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_hil_rc_inputs_raw_t, chan11_raw) }, \
  63. { "chan12_raw", NULL, MAVLINK_TYPE_UINT16_T, 0, 30, offsetof(mavlink_hil_rc_inputs_raw_t, chan12_raw) }, \
  64. { "rssi", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_hil_rc_inputs_raw_t, rssi) }, \
  65. } \
  66. }
  67. #endif
  68. /**
  69. * @brief Pack a hil_rc_inputs_raw message
  70. * @param system_id ID of this system
  71. * @param component_id ID of this component (e.g. 200 for IMU)
  72. * @param msg The MAVLink message to compress the data into
  73. *
  74. * @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
  75. * @param chan1_raw [us] RC channel 1 value
  76. * @param chan2_raw [us] RC channel 2 value
  77. * @param chan3_raw [us] RC channel 3 value
  78. * @param chan4_raw [us] RC channel 4 value
  79. * @param chan5_raw [us] RC channel 5 value
  80. * @param chan6_raw [us] RC channel 6 value
  81. * @param chan7_raw [us] RC channel 7 value
  82. * @param chan8_raw [us] RC channel 8 value
  83. * @param chan9_raw [us] RC channel 9 value
  84. * @param chan10_raw [us] RC channel 10 value
  85. * @param chan11_raw [us] RC channel 11 value
  86. * @param chan12_raw [us] RC channel 12 value
  87. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  88. * @return length of the message in bytes (excluding serial stream start sign)
  89. */
  90. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
  91. uint64_t time_usec, uint16_t chan1_raw, uint16_t chan2_raw, uint16_t chan3_raw, uint16_t chan4_raw, uint16_t chan5_raw, uint16_t chan6_raw, uint16_t chan7_raw, uint16_t chan8_raw, uint16_t chan9_raw, uint16_t chan10_raw, uint16_t chan11_raw, uint16_t chan12_raw, uint8_t rssi)
  92. {
  93. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  94. char buf[MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN];
  95. _mav_put_uint64_t(buf, 0, time_usec);
  96. _mav_put_uint16_t(buf, 8, chan1_raw);
  97. _mav_put_uint16_t(buf, 10, chan2_raw);
  98. _mav_put_uint16_t(buf, 12, chan3_raw);
  99. _mav_put_uint16_t(buf, 14, chan4_raw);
  100. _mav_put_uint16_t(buf, 16, chan5_raw);
  101. _mav_put_uint16_t(buf, 18, chan6_raw);
  102. _mav_put_uint16_t(buf, 20, chan7_raw);
  103. _mav_put_uint16_t(buf, 22, chan8_raw);
  104. _mav_put_uint16_t(buf, 24, chan9_raw);
  105. _mav_put_uint16_t(buf, 26, chan10_raw);
  106. _mav_put_uint16_t(buf, 28, chan11_raw);
  107. _mav_put_uint16_t(buf, 30, chan12_raw);
  108. _mav_put_uint8_t(buf, 32, rssi);
  109. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  110. #else
  111. mavlink_hil_rc_inputs_raw_t packet;
  112. packet.time_usec = time_usec;
  113. packet.chan1_raw = chan1_raw;
  114. packet.chan2_raw = chan2_raw;
  115. packet.chan3_raw = chan3_raw;
  116. packet.chan4_raw = chan4_raw;
  117. packet.chan5_raw = chan5_raw;
  118. packet.chan6_raw = chan6_raw;
  119. packet.chan7_raw = chan7_raw;
  120. packet.chan8_raw = chan8_raw;
  121. packet.chan9_raw = chan9_raw;
  122. packet.chan10_raw = chan10_raw;
  123. packet.chan11_raw = chan11_raw;
  124. packet.chan12_raw = chan12_raw;
  125. packet.rssi = rssi;
  126. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  127. #endif
  128. msg->msgid = MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW;
  129. return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  130. }
  131. /**
  132. * @brief Pack a hil_rc_inputs_raw message
  133. * @param system_id ID of this system
  134. * @param component_id ID of this component (e.g. 200 for IMU)
  135. * @param status MAVLink status structure
  136. * @param msg The MAVLink message to compress the data into
  137. *
  138. * @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
  139. * @param chan1_raw [us] RC channel 1 value
  140. * @param chan2_raw [us] RC channel 2 value
  141. * @param chan3_raw [us] RC channel 3 value
  142. * @param chan4_raw [us] RC channel 4 value
  143. * @param chan5_raw [us] RC channel 5 value
  144. * @param chan6_raw [us] RC channel 6 value
  145. * @param chan7_raw [us] RC channel 7 value
  146. * @param chan8_raw [us] RC channel 8 value
  147. * @param chan9_raw [us] RC channel 9 value
  148. * @param chan10_raw [us] RC channel 10 value
  149. * @param chan11_raw [us] RC channel 11 value
  150. * @param chan12_raw [us] RC channel 12 value
  151. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  152. * @return length of the message in bytes (excluding serial stream start sign)
  153. */
  154. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
  155. uint64_t time_usec, uint16_t chan1_raw, uint16_t chan2_raw, uint16_t chan3_raw, uint16_t chan4_raw, uint16_t chan5_raw, uint16_t chan6_raw, uint16_t chan7_raw, uint16_t chan8_raw, uint16_t chan9_raw, uint16_t chan10_raw, uint16_t chan11_raw, uint16_t chan12_raw, uint8_t rssi)
  156. {
  157. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  158. char buf[MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN];
  159. _mav_put_uint64_t(buf, 0, time_usec);
  160. _mav_put_uint16_t(buf, 8, chan1_raw);
  161. _mav_put_uint16_t(buf, 10, chan2_raw);
  162. _mav_put_uint16_t(buf, 12, chan3_raw);
  163. _mav_put_uint16_t(buf, 14, chan4_raw);
  164. _mav_put_uint16_t(buf, 16, chan5_raw);
  165. _mav_put_uint16_t(buf, 18, chan6_raw);
  166. _mav_put_uint16_t(buf, 20, chan7_raw);
  167. _mav_put_uint16_t(buf, 22, chan8_raw);
  168. _mav_put_uint16_t(buf, 24, chan9_raw);
  169. _mav_put_uint16_t(buf, 26, chan10_raw);
  170. _mav_put_uint16_t(buf, 28, chan11_raw);
  171. _mav_put_uint16_t(buf, 30, chan12_raw);
  172. _mav_put_uint8_t(buf, 32, rssi);
  173. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  174. #else
  175. mavlink_hil_rc_inputs_raw_t packet;
  176. packet.time_usec = time_usec;
  177. packet.chan1_raw = chan1_raw;
  178. packet.chan2_raw = chan2_raw;
  179. packet.chan3_raw = chan3_raw;
  180. packet.chan4_raw = chan4_raw;
  181. packet.chan5_raw = chan5_raw;
  182. packet.chan6_raw = chan6_raw;
  183. packet.chan7_raw = chan7_raw;
  184. packet.chan8_raw = chan8_raw;
  185. packet.chan9_raw = chan9_raw;
  186. packet.chan10_raw = chan10_raw;
  187. packet.chan11_raw = chan11_raw;
  188. packet.chan12_raw = chan12_raw;
  189. packet.rssi = rssi;
  190. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  191. #endif
  192. msg->msgid = MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW;
  193. #if MAVLINK_CRC_EXTRA
  194. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  195. #else
  196. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  197. #endif
  198. }
  199. /**
  200. * @brief Pack a hil_rc_inputs_raw message on a channel
  201. * @param system_id ID of this system
  202. * @param component_id ID of this component (e.g. 200 for IMU)
  203. * @param chan The MAVLink channel this message will be sent over
  204. * @param msg The MAVLink message to compress the data into
  205. * @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
  206. * @param chan1_raw [us] RC channel 1 value
  207. * @param chan2_raw [us] RC channel 2 value
  208. * @param chan3_raw [us] RC channel 3 value
  209. * @param chan4_raw [us] RC channel 4 value
  210. * @param chan5_raw [us] RC channel 5 value
  211. * @param chan6_raw [us] RC channel 6 value
  212. * @param chan7_raw [us] RC channel 7 value
  213. * @param chan8_raw [us] RC channel 8 value
  214. * @param chan9_raw [us] RC channel 9 value
  215. * @param chan10_raw [us] RC channel 10 value
  216. * @param chan11_raw [us] RC channel 11 value
  217. * @param chan12_raw [us] RC channel 12 value
  218. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  219. * @return length of the message in bytes (excluding serial stream start sign)
  220. */
  221. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
  222. mavlink_message_t* msg,
  223. uint64_t time_usec,uint16_t chan1_raw,uint16_t chan2_raw,uint16_t chan3_raw,uint16_t chan4_raw,uint16_t chan5_raw,uint16_t chan6_raw,uint16_t chan7_raw,uint16_t chan8_raw,uint16_t chan9_raw,uint16_t chan10_raw,uint16_t chan11_raw,uint16_t chan12_raw,uint8_t rssi)
  224. {
  225. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  226. char buf[MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN];
  227. _mav_put_uint64_t(buf, 0, time_usec);
  228. _mav_put_uint16_t(buf, 8, chan1_raw);
  229. _mav_put_uint16_t(buf, 10, chan2_raw);
  230. _mav_put_uint16_t(buf, 12, chan3_raw);
  231. _mav_put_uint16_t(buf, 14, chan4_raw);
  232. _mav_put_uint16_t(buf, 16, chan5_raw);
  233. _mav_put_uint16_t(buf, 18, chan6_raw);
  234. _mav_put_uint16_t(buf, 20, chan7_raw);
  235. _mav_put_uint16_t(buf, 22, chan8_raw);
  236. _mav_put_uint16_t(buf, 24, chan9_raw);
  237. _mav_put_uint16_t(buf, 26, chan10_raw);
  238. _mav_put_uint16_t(buf, 28, chan11_raw);
  239. _mav_put_uint16_t(buf, 30, chan12_raw);
  240. _mav_put_uint8_t(buf, 32, rssi);
  241. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  242. #else
  243. mavlink_hil_rc_inputs_raw_t packet;
  244. packet.time_usec = time_usec;
  245. packet.chan1_raw = chan1_raw;
  246. packet.chan2_raw = chan2_raw;
  247. packet.chan3_raw = chan3_raw;
  248. packet.chan4_raw = chan4_raw;
  249. packet.chan5_raw = chan5_raw;
  250. packet.chan6_raw = chan6_raw;
  251. packet.chan7_raw = chan7_raw;
  252. packet.chan8_raw = chan8_raw;
  253. packet.chan9_raw = chan9_raw;
  254. packet.chan10_raw = chan10_raw;
  255. packet.chan11_raw = chan11_raw;
  256. packet.chan12_raw = chan12_raw;
  257. packet.rssi = rssi;
  258. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  259. #endif
  260. msg->msgid = MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW;
  261. return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  262. }
  263. /**
  264. * @brief Encode a hil_rc_inputs_raw struct
  265. *
  266. * @param system_id ID of this system
  267. * @param component_id ID of this component (e.g. 200 for IMU)
  268. * @param msg The MAVLink message to compress the data into
  269. * @param hil_rc_inputs_raw C-struct to read the message contents from
  270. */
  271. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_hil_rc_inputs_raw_t* hil_rc_inputs_raw)
  272. {
  273. return mavlink_msg_hil_rc_inputs_raw_pack(system_id, component_id, msg, hil_rc_inputs_raw->time_usec, hil_rc_inputs_raw->chan1_raw, hil_rc_inputs_raw->chan2_raw, hil_rc_inputs_raw->chan3_raw, hil_rc_inputs_raw->chan4_raw, hil_rc_inputs_raw->chan5_raw, hil_rc_inputs_raw->chan6_raw, hil_rc_inputs_raw->chan7_raw, hil_rc_inputs_raw->chan8_raw, hil_rc_inputs_raw->chan9_raw, hil_rc_inputs_raw->chan10_raw, hil_rc_inputs_raw->chan11_raw, hil_rc_inputs_raw->chan12_raw, hil_rc_inputs_raw->rssi);
  274. }
  275. /**
  276. * @brief Encode a hil_rc_inputs_raw struct on a channel
  277. *
  278. * @param system_id ID of this system
  279. * @param component_id ID of this component (e.g. 200 for IMU)
  280. * @param chan The MAVLink channel this message will be sent over
  281. * @param msg The MAVLink message to compress the data into
  282. * @param hil_rc_inputs_raw C-struct to read the message contents from
  283. */
  284. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_hil_rc_inputs_raw_t* hil_rc_inputs_raw)
  285. {
  286. return mavlink_msg_hil_rc_inputs_raw_pack_chan(system_id, component_id, chan, msg, hil_rc_inputs_raw->time_usec, hil_rc_inputs_raw->chan1_raw, hil_rc_inputs_raw->chan2_raw, hil_rc_inputs_raw->chan3_raw, hil_rc_inputs_raw->chan4_raw, hil_rc_inputs_raw->chan5_raw, hil_rc_inputs_raw->chan6_raw, hil_rc_inputs_raw->chan7_raw, hil_rc_inputs_raw->chan8_raw, hil_rc_inputs_raw->chan9_raw, hil_rc_inputs_raw->chan10_raw, hil_rc_inputs_raw->chan11_raw, hil_rc_inputs_raw->chan12_raw, hil_rc_inputs_raw->rssi);
  287. }
  288. /**
  289. * @brief Encode a hil_rc_inputs_raw struct with provided status structure
  290. *
  291. * @param system_id ID of this system
  292. * @param component_id ID of this component (e.g. 200 for IMU)
  293. * @param status MAVLink status structure
  294. * @param msg The MAVLink message to compress the data into
  295. * @param hil_rc_inputs_raw C-struct to read the message contents from
  296. */
  297. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_hil_rc_inputs_raw_t* hil_rc_inputs_raw)
  298. {
  299. return mavlink_msg_hil_rc_inputs_raw_pack_status(system_id, component_id, _status, msg, hil_rc_inputs_raw->time_usec, hil_rc_inputs_raw->chan1_raw, hil_rc_inputs_raw->chan2_raw, hil_rc_inputs_raw->chan3_raw, hil_rc_inputs_raw->chan4_raw, hil_rc_inputs_raw->chan5_raw, hil_rc_inputs_raw->chan6_raw, hil_rc_inputs_raw->chan7_raw, hil_rc_inputs_raw->chan8_raw, hil_rc_inputs_raw->chan9_raw, hil_rc_inputs_raw->chan10_raw, hil_rc_inputs_raw->chan11_raw, hil_rc_inputs_raw->chan12_raw, hil_rc_inputs_raw->rssi);
  300. }
  301. /**
  302. * @brief Send a hil_rc_inputs_raw message
  303. * @param chan MAVLink channel to send the message
  304. *
  305. * @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
  306. * @param chan1_raw [us] RC channel 1 value
  307. * @param chan2_raw [us] RC channel 2 value
  308. * @param chan3_raw [us] RC channel 3 value
  309. * @param chan4_raw [us] RC channel 4 value
  310. * @param chan5_raw [us] RC channel 5 value
  311. * @param chan6_raw [us] RC channel 6 value
  312. * @param chan7_raw [us] RC channel 7 value
  313. * @param chan8_raw [us] RC channel 8 value
  314. * @param chan9_raw [us] RC channel 9 value
  315. * @param chan10_raw [us] RC channel 10 value
  316. * @param chan11_raw [us] RC channel 11 value
  317. * @param chan12_raw [us] RC channel 12 value
  318. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  319. */
  320. #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
  321. static inline void mavlink_msg_hil_rc_inputs_raw_send(mavlink_channel_t chan, uint64_t time_usec, uint16_t chan1_raw, uint16_t chan2_raw, uint16_t chan3_raw, uint16_t chan4_raw, uint16_t chan5_raw, uint16_t chan6_raw, uint16_t chan7_raw, uint16_t chan8_raw, uint16_t chan9_raw, uint16_t chan10_raw, uint16_t chan11_raw, uint16_t chan12_raw, uint8_t rssi)
  322. {
  323. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  324. char buf[MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN];
  325. _mav_put_uint64_t(buf, 0, time_usec);
  326. _mav_put_uint16_t(buf, 8, chan1_raw);
  327. _mav_put_uint16_t(buf, 10, chan2_raw);
  328. _mav_put_uint16_t(buf, 12, chan3_raw);
  329. _mav_put_uint16_t(buf, 14, chan4_raw);
  330. _mav_put_uint16_t(buf, 16, chan5_raw);
  331. _mav_put_uint16_t(buf, 18, chan6_raw);
  332. _mav_put_uint16_t(buf, 20, chan7_raw);
  333. _mav_put_uint16_t(buf, 22, chan8_raw);
  334. _mav_put_uint16_t(buf, 24, chan9_raw);
  335. _mav_put_uint16_t(buf, 26, chan10_raw);
  336. _mav_put_uint16_t(buf, 28, chan11_raw);
  337. _mav_put_uint16_t(buf, 30, chan12_raw);
  338. _mav_put_uint8_t(buf, 32, rssi);
  339. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW, buf, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  340. #else
  341. mavlink_hil_rc_inputs_raw_t packet;
  342. packet.time_usec = time_usec;
  343. packet.chan1_raw = chan1_raw;
  344. packet.chan2_raw = chan2_raw;
  345. packet.chan3_raw = chan3_raw;
  346. packet.chan4_raw = chan4_raw;
  347. packet.chan5_raw = chan5_raw;
  348. packet.chan6_raw = chan6_raw;
  349. packet.chan7_raw = chan7_raw;
  350. packet.chan8_raw = chan8_raw;
  351. packet.chan9_raw = chan9_raw;
  352. packet.chan10_raw = chan10_raw;
  353. packet.chan11_raw = chan11_raw;
  354. packet.chan12_raw = chan12_raw;
  355. packet.rssi = rssi;
  356. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW, (const char *)&packet, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  357. #endif
  358. }
  359. /**
  360. * @brief Send a hil_rc_inputs_raw message
  361. * @param chan MAVLink channel to send the message
  362. * @param struct The MAVLink struct to serialize
  363. */
  364. static inline void mavlink_msg_hil_rc_inputs_raw_send_struct(mavlink_channel_t chan, const mavlink_hil_rc_inputs_raw_t* hil_rc_inputs_raw)
  365. {
  366. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  367. mavlink_msg_hil_rc_inputs_raw_send(chan, hil_rc_inputs_raw->time_usec, hil_rc_inputs_raw->chan1_raw, hil_rc_inputs_raw->chan2_raw, hil_rc_inputs_raw->chan3_raw, hil_rc_inputs_raw->chan4_raw, hil_rc_inputs_raw->chan5_raw, hil_rc_inputs_raw->chan6_raw, hil_rc_inputs_raw->chan7_raw, hil_rc_inputs_raw->chan8_raw, hil_rc_inputs_raw->chan9_raw, hil_rc_inputs_raw->chan10_raw, hil_rc_inputs_raw->chan11_raw, hil_rc_inputs_raw->chan12_raw, hil_rc_inputs_raw->rssi);
  368. #else
  369. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW, (const char *)hil_rc_inputs_raw, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  370. #endif
  371. }
  372. #if MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN <= MAVLINK_MAX_PAYLOAD_LEN
  373. /*
  374. This variant of _send() can be used to save stack space by re-using
  375. memory from the receive buffer. The caller provides a
  376. mavlink_message_t which is the size of a full mavlink message. This
  377. is usually the receive buffer for the channel, and allows a reply to an
  378. incoming message with minimum stack space usage.
  379. */
  380. static inline void mavlink_msg_hil_rc_inputs_raw_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t time_usec, uint16_t chan1_raw, uint16_t chan2_raw, uint16_t chan3_raw, uint16_t chan4_raw, uint16_t chan5_raw, uint16_t chan6_raw, uint16_t chan7_raw, uint16_t chan8_raw, uint16_t chan9_raw, uint16_t chan10_raw, uint16_t chan11_raw, uint16_t chan12_raw, uint8_t rssi)
  381. {
  382. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  383. char *buf = (char *)msgbuf;
  384. _mav_put_uint64_t(buf, 0, time_usec);
  385. _mav_put_uint16_t(buf, 8, chan1_raw);
  386. _mav_put_uint16_t(buf, 10, chan2_raw);
  387. _mav_put_uint16_t(buf, 12, chan3_raw);
  388. _mav_put_uint16_t(buf, 14, chan4_raw);
  389. _mav_put_uint16_t(buf, 16, chan5_raw);
  390. _mav_put_uint16_t(buf, 18, chan6_raw);
  391. _mav_put_uint16_t(buf, 20, chan7_raw);
  392. _mav_put_uint16_t(buf, 22, chan8_raw);
  393. _mav_put_uint16_t(buf, 24, chan9_raw);
  394. _mav_put_uint16_t(buf, 26, chan10_raw);
  395. _mav_put_uint16_t(buf, 28, chan11_raw);
  396. _mav_put_uint16_t(buf, 30, chan12_raw);
  397. _mav_put_uint8_t(buf, 32, rssi);
  398. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW, buf, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  399. #else
  400. mavlink_hil_rc_inputs_raw_t *packet = (mavlink_hil_rc_inputs_raw_t *)msgbuf;
  401. packet->time_usec = time_usec;
  402. packet->chan1_raw = chan1_raw;
  403. packet->chan2_raw = chan2_raw;
  404. packet->chan3_raw = chan3_raw;
  405. packet->chan4_raw = chan4_raw;
  406. packet->chan5_raw = chan5_raw;
  407. packet->chan6_raw = chan6_raw;
  408. packet->chan7_raw = chan7_raw;
  409. packet->chan8_raw = chan8_raw;
  410. packet->chan9_raw = chan9_raw;
  411. packet->chan10_raw = chan10_raw;
  412. packet->chan11_raw = chan11_raw;
  413. packet->chan12_raw = chan12_raw;
  414. packet->rssi = rssi;
  415. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW, (const char *)packet, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_MIN_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_CRC);
  416. #endif
  417. }
  418. #endif
  419. #endif
  420. // MESSAGE HIL_RC_INPUTS_RAW UNPACKING
  421. /**
  422. * @brief Get field time_usec from hil_rc_inputs_raw message
  423. *
  424. * @return [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
  425. */
  426. static inline uint64_t mavlink_msg_hil_rc_inputs_raw_get_time_usec(const mavlink_message_t* msg)
  427. {
  428. return _MAV_RETURN_uint64_t(msg, 0);
  429. }
  430. /**
  431. * @brief Get field chan1_raw from hil_rc_inputs_raw message
  432. *
  433. * @return [us] RC channel 1 value
  434. */
  435. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan1_raw(const mavlink_message_t* msg)
  436. {
  437. return _MAV_RETURN_uint16_t(msg, 8);
  438. }
  439. /**
  440. * @brief Get field chan2_raw from hil_rc_inputs_raw message
  441. *
  442. * @return [us] RC channel 2 value
  443. */
  444. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan2_raw(const mavlink_message_t* msg)
  445. {
  446. return _MAV_RETURN_uint16_t(msg, 10);
  447. }
  448. /**
  449. * @brief Get field chan3_raw from hil_rc_inputs_raw message
  450. *
  451. * @return [us] RC channel 3 value
  452. */
  453. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan3_raw(const mavlink_message_t* msg)
  454. {
  455. return _MAV_RETURN_uint16_t(msg, 12);
  456. }
  457. /**
  458. * @brief Get field chan4_raw from hil_rc_inputs_raw message
  459. *
  460. * @return [us] RC channel 4 value
  461. */
  462. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan4_raw(const mavlink_message_t* msg)
  463. {
  464. return _MAV_RETURN_uint16_t(msg, 14);
  465. }
  466. /**
  467. * @brief Get field chan5_raw from hil_rc_inputs_raw message
  468. *
  469. * @return [us] RC channel 5 value
  470. */
  471. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan5_raw(const mavlink_message_t* msg)
  472. {
  473. return _MAV_RETURN_uint16_t(msg, 16);
  474. }
  475. /**
  476. * @brief Get field chan6_raw from hil_rc_inputs_raw message
  477. *
  478. * @return [us] RC channel 6 value
  479. */
  480. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan6_raw(const mavlink_message_t* msg)
  481. {
  482. return _MAV_RETURN_uint16_t(msg, 18);
  483. }
  484. /**
  485. * @brief Get field chan7_raw from hil_rc_inputs_raw message
  486. *
  487. * @return [us] RC channel 7 value
  488. */
  489. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan7_raw(const mavlink_message_t* msg)
  490. {
  491. return _MAV_RETURN_uint16_t(msg, 20);
  492. }
  493. /**
  494. * @brief Get field chan8_raw from hil_rc_inputs_raw message
  495. *
  496. * @return [us] RC channel 8 value
  497. */
  498. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan8_raw(const mavlink_message_t* msg)
  499. {
  500. return _MAV_RETURN_uint16_t(msg, 22);
  501. }
  502. /**
  503. * @brief Get field chan9_raw from hil_rc_inputs_raw message
  504. *
  505. * @return [us] RC channel 9 value
  506. */
  507. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan9_raw(const mavlink_message_t* msg)
  508. {
  509. return _MAV_RETURN_uint16_t(msg, 24);
  510. }
  511. /**
  512. * @brief Get field chan10_raw from hil_rc_inputs_raw message
  513. *
  514. * @return [us] RC channel 10 value
  515. */
  516. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan10_raw(const mavlink_message_t* msg)
  517. {
  518. return _MAV_RETURN_uint16_t(msg, 26);
  519. }
  520. /**
  521. * @brief Get field chan11_raw from hil_rc_inputs_raw message
  522. *
  523. * @return [us] RC channel 11 value
  524. */
  525. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan11_raw(const mavlink_message_t* msg)
  526. {
  527. return _MAV_RETURN_uint16_t(msg, 28);
  528. }
  529. /**
  530. * @brief Get field chan12_raw from hil_rc_inputs_raw message
  531. *
  532. * @return [us] RC channel 12 value
  533. */
  534. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan12_raw(const mavlink_message_t* msg)
  535. {
  536. return _MAV_RETURN_uint16_t(msg, 30);
  537. }
  538. /**
  539. * @brief Get field rssi from hil_rc_inputs_raw message
  540. *
  541. * @return Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  542. */
  543. static inline uint8_t mavlink_msg_hil_rc_inputs_raw_get_rssi(const mavlink_message_t* msg)
  544. {
  545. return _MAV_RETURN_uint8_t(msg, 32);
  546. }
  547. /**
  548. * @brief Decode a hil_rc_inputs_raw message into a struct
  549. *
  550. * @param msg The message to decode
  551. * @param hil_rc_inputs_raw C-struct to decode the message contents into
  552. */
  553. static inline void mavlink_msg_hil_rc_inputs_raw_decode(const mavlink_message_t* msg, mavlink_hil_rc_inputs_raw_t* hil_rc_inputs_raw)
  554. {
  555. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  556. hil_rc_inputs_raw->time_usec = mavlink_msg_hil_rc_inputs_raw_get_time_usec(msg);
  557. hil_rc_inputs_raw->chan1_raw = mavlink_msg_hil_rc_inputs_raw_get_chan1_raw(msg);
  558. hil_rc_inputs_raw->chan2_raw = mavlink_msg_hil_rc_inputs_raw_get_chan2_raw(msg);
  559. hil_rc_inputs_raw->chan3_raw = mavlink_msg_hil_rc_inputs_raw_get_chan3_raw(msg);
  560. hil_rc_inputs_raw->chan4_raw = mavlink_msg_hil_rc_inputs_raw_get_chan4_raw(msg);
  561. hil_rc_inputs_raw->chan5_raw = mavlink_msg_hil_rc_inputs_raw_get_chan5_raw(msg);
  562. hil_rc_inputs_raw->chan6_raw = mavlink_msg_hil_rc_inputs_raw_get_chan6_raw(msg);
  563. hil_rc_inputs_raw->chan7_raw = mavlink_msg_hil_rc_inputs_raw_get_chan7_raw(msg);
  564. hil_rc_inputs_raw->chan8_raw = mavlink_msg_hil_rc_inputs_raw_get_chan8_raw(msg);
  565. hil_rc_inputs_raw->chan9_raw = mavlink_msg_hil_rc_inputs_raw_get_chan9_raw(msg);
  566. hil_rc_inputs_raw->chan10_raw = mavlink_msg_hil_rc_inputs_raw_get_chan10_raw(msg);
  567. hil_rc_inputs_raw->chan11_raw = mavlink_msg_hil_rc_inputs_raw_get_chan11_raw(msg);
  568. hil_rc_inputs_raw->chan12_raw = mavlink_msg_hil_rc_inputs_raw_get_chan12_raw(msg);
  569. hil_rc_inputs_raw->rssi = mavlink_msg_hil_rc_inputs_raw_get_rssi(msg);
  570. #else
  571. uint8_t len = msg->len < MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN? msg->len : MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN;
  572. memset(hil_rc_inputs_raw, 0, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  573. memcpy(hil_rc_inputs_raw, _MAV_PAYLOAD(msg), len);
  574. #endif
  575. }