mavlink_msg_hil_rc_inputs_raw.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  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 on a channel
  133. * @param system_id ID of this system
  134. * @param component_id ID of this component (e.g. 200 for IMU)
  135. * @param chan The MAVLink channel this message will be sent over
  136. * @param msg The MAVLink message to compress the data into
  137. * @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.
  138. * @param chan1_raw [us] RC channel 1 value
  139. * @param chan2_raw [us] RC channel 2 value
  140. * @param chan3_raw [us] RC channel 3 value
  141. * @param chan4_raw [us] RC channel 4 value
  142. * @param chan5_raw [us] RC channel 5 value
  143. * @param chan6_raw [us] RC channel 6 value
  144. * @param chan7_raw [us] RC channel 7 value
  145. * @param chan8_raw [us] RC channel 8 value
  146. * @param chan9_raw [us] RC channel 9 value
  147. * @param chan10_raw [us] RC channel 10 value
  148. * @param chan11_raw [us] RC channel 11 value
  149. * @param chan12_raw [us] RC channel 12 value
  150. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  151. * @return length of the message in bytes (excluding serial stream start sign)
  152. */
  153. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
  154. 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. 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);
  194. }
  195. /**
  196. * @brief Encode a hil_rc_inputs_raw struct
  197. *
  198. * @param system_id ID of this system
  199. * @param component_id ID of this component (e.g. 200 for IMU)
  200. * @param msg The MAVLink message to compress the data into
  201. * @param hil_rc_inputs_raw C-struct to read the message contents from
  202. */
  203. 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)
  204. {
  205. 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);
  206. }
  207. /**
  208. * @brief Encode a hil_rc_inputs_raw struct on a channel
  209. *
  210. * @param system_id ID of this system
  211. * @param component_id ID of this component (e.g. 200 for IMU)
  212. * @param chan The MAVLink channel this message will be sent over
  213. * @param msg The MAVLink message to compress the data into
  214. * @param hil_rc_inputs_raw C-struct to read the message contents from
  215. */
  216. 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)
  217. {
  218. 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);
  219. }
  220. /**
  221. * @brief Send a hil_rc_inputs_raw message
  222. * @param chan MAVLink channel to send the message
  223. *
  224. * @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.
  225. * @param chan1_raw [us] RC channel 1 value
  226. * @param chan2_raw [us] RC channel 2 value
  227. * @param chan3_raw [us] RC channel 3 value
  228. * @param chan4_raw [us] RC channel 4 value
  229. * @param chan5_raw [us] RC channel 5 value
  230. * @param chan6_raw [us] RC channel 6 value
  231. * @param chan7_raw [us] RC channel 7 value
  232. * @param chan8_raw [us] RC channel 8 value
  233. * @param chan9_raw [us] RC channel 9 value
  234. * @param chan10_raw [us] RC channel 10 value
  235. * @param chan11_raw [us] RC channel 11 value
  236. * @param chan12_raw [us] RC channel 12 value
  237. * @param rssi Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  238. */
  239. #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
  240. 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)
  241. {
  242. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  243. char buf[MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN];
  244. _mav_put_uint64_t(buf, 0, time_usec);
  245. _mav_put_uint16_t(buf, 8, chan1_raw);
  246. _mav_put_uint16_t(buf, 10, chan2_raw);
  247. _mav_put_uint16_t(buf, 12, chan3_raw);
  248. _mav_put_uint16_t(buf, 14, chan4_raw);
  249. _mav_put_uint16_t(buf, 16, chan5_raw);
  250. _mav_put_uint16_t(buf, 18, chan6_raw);
  251. _mav_put_uint16_t(buf, 20, chan7_raw);
  252. _mav_put_uint16_t(buf, 22, chan8_raw);
  253. _mav_put_uint16_t(buf, 24, chan9_raw);
  254. _mav_put_uint16_t(buf, 26, chan10_raw);
  255. _mav_put_uint16_t(buf, 28, chan11_raw);
  256. _mav_put_uint16_t(buf, 30, chan12_raw);
  257. _mav_put_uint8_t(buf, 32, rssi);
  258. _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);
  259. #else
  260. mavlink_hil_rc_inputs_raw_t packet;
  261. packet.time_usec = time_usec;
  262. packet.chan1_raw = chan1_raw;
  263. packet.chan2_raw = chan2_raw;
  264. packet.chan3_raw = chan3_raw;
  265. packet.chan4_raw = chan4_raw;
  266. packet.chan5_raw = chan5_raw;
  267. packet.chan6_raw = chan6_raw;
  268. packet.chan7_raw = chan7_raw;
  269. packet.chan8_raw = chan8_raw;
  270. packet.chan9_raw = chan9_raw;
  271. packet.chan10_raw = chan10_raw;
  272. packet.chan11_raw = chan11_raw;
  273. packet.chan12_raw = chan12_raw;
  274. packet.rssi = rssi;
  275. _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);
  276. #endif
  277. }
  278. /**
  279. * @brief Send a hil_rc_inputs_raw message
  280. * @param chan MAVLink channel to send the message
  281. * @param struct The MAVLink struct to serialize
  282. */
  283. 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)
  284. {
  285. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  286. 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);
  287. #else
  288. _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);
  289. #endif
  290. }
  291. #if MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN <= MAVLINK_MAX_PAYLOAD_LEN
  292. /*
  293. This variant of _send() can be used to save stack space by re-using
  294. memory from the receive buffer. The caller provides a
  295. mavlink_message_t which is the size of a full mavlink message. This
  296. is usually the receive buffer for the channel, and allows a reply to an
  297. incoming message with minimum stack space usage.
  298. */
  299. 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)
  300. {
  301. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  302. char *buf = (char *)msgbuf;
  303. _mav_put_uint64_t(buf, 0, time_usec);
  304. _mav_put_uint16_t(buf, 8, chan1_raw);
  305. _mav_put_uint16_t(buf, 10, chan2_raw);
  306. _mav_put_uint16_t(buf, 12, chan3_raw);
  307. _mav_put_uint16_t(buf, 14, chan4_raw);
  308. _mav_put_uint16_t(buf, 16, chan5_raw);
  309. _mav_put_uint16_t(buf, 18, chan6_raw);
  310. _mav_put_uint16_t(buf, 20, chan7_raw);
  311. _mav_put_uint16_t(buf, 22, chan8_raw);
  312. _mav_put_uint16_t(buf, 24, chan9_raw);
  313. _mav_put_uint16_t(buf, 26, chan10_raw);
  314. _mav_put_uint16_t(buf, 28, chan11_raw);
  315. _mav_put_uint16_t(buf, 30, chan12_raw);
  316. _mav_put_uint8_t(buf, 32, rssi);
  317. _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);
  318. #else
  319. mavlink_hil_rc_inputs_raw_t *packet = (mavlink_hil_rc_inputs_raw_t *)msgbuf;
  320. packet->time_usec = time_usec;
  321. packet->chan1_raw = chan1_raw;
  322. packet->chan2_raw = chan2_raw;
  323. packet->chan3_raw = chan3_raw;
  324. packet->chan4_raw = chan4_raw;
  325. packet->chan5_raw = chan5_raw;
  326. packet->chan6_raw = chan6_raw;
  327. packet->chan7_raw = chan7_raw;
  328. packet->chan8_raw = chan8_raw;
  329. packet->chan9_raw = chan9_raw;
  330. packet->chan10_raw = chan10_raw;
  331. packet->chan11_raw = chan11_raw;
  332. packet->chan12_raw = chan12_raw;
  333. packet->rssi = rssi;
  334. _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);
  335. #endif
  336. }
  337. #endif
  338. #endif
  339. // MESSAGE HIL_RC_INPUTS_RAW UNPACKING
  340. /**
  341. * @brief Get field time_usec from hil_rc_inputs_raw message
  342. *
  343. * @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.
  344. */
  345. static inline uint64_t mavlink_msg_hil_rc_inputs_raw_get_time_usec(const mavlink_message_t* msg)
  346. {
  347. return _MAV_RETURN_uint64_t(msg, 0);
  348. }
  349. /**
  350. * @brief Get field chan1_raw from hil_rc_inputs_raw message
  351. *
  352. * @return [us] RC channel 1 value
  353. */
  354. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan1_raw(const mavlink_message_t* msg)
  355. {
  356. return _MAV_RETURN_uint16_t(msg, 8);
  357. }
  358. /**
  359. * @brief Get field chan2_raw from hil_rc_inputs_raw message
  360. *
  361. * @return [us] RC channel 2 value
  362. */
  363. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan2_raw(const mavlink_message_t* msg)
  364. {
  365. return _MAV_RETURN_uint16_t(msg, 10);
  366. }
  367. /**
  368. * @brief Get field chan3_raw from hil_rc_inputs_raw message
  369. *
  370. * @return [us] RC channel 3 value
  371. */
  372. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan3_raw(const mavlink_message_t* msg)
  373. {
  374. return _MAV_RETURN_uint16_t(msg, 12);
  375. }
  376. /**
  377. * @brief Get field chan4_raw from hil_rc_inputs_raw message
  378. *
  379. * @return [us] RC channel 4 value
  380. */
  381. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan4_raw(const mavlink_message_t* msg)
  382. {
  383. return _MAV_RETURN_uint16_t(msg, 14);
  384. }
  385. /**
  386. * @brief Get field chan5_raw from hil_rc_inputs_raw message
  387. *
  388. * @return [us] RC channel 5 value
  389. */
  390. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan5_raw(const mavlink_message_t* msg)
  391. {
  392. return _MAV_RETURN_uint16_t(msg, 16);
  393. }
  394. /**
  395. * @brief Get field chan6_raw from hil_rc_inputs_raw message
  396. *
  397. * @return [us] RC channel 6 value
  398. */
  399. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan6_raw(const mavlink_message_t* msg)
  400. {
  401. return _MAV_RETURN_uint16_t(msg, 18);
  402. }
  403. /**
  404. * @brief Get field chan7_raw from hil_rc_inputs_raw message
  405. *
  406. * @return [us] RC channel 7 value
  407. */
  408. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan7_raw(const mavlink_message_t* msg)
  409. {
  410. return _MAV_RETURN_uint16_t(msg, 20);
  411. }
  412. /**
  413. * @brief Get field chan8_raw from hil_rc_inputs_raw message
  414. *
  415. * @return [us] RC channel 8 value
  416. */
  417. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan8_raw(const mavlink_message_t* msg)
  418. {
  419. return _MAV_RETURN_uint16_t(msg, 22);
  420. }
  421. /**
  422. * @brief Get field chan9_raw from hil_rc_inputs_raw message
  423. *
  424. * @return [us] RC channel 9 value
  425. */
  426. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan9_raw(const mavlink_message_t* msg)
  427. {
  428. return _MAV_RETURN_uint16_t(msg, 24);
  429. }
  430. /**
  431. * @brief Get field chan10_raw from hil_rc_inputs_raw message
  432. *
  433. * @return [us] RC channel 10 value
  434. */
  435. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan10_raw(const mavlink_message_t* msg)
  436. {
  437. return _MAV_RETURN_uint16_t(msg, 26);
  438. }
  439. /**
  440. * @brief Get field chan11_raw from hil_rc_inputs_raw message
  441. *
  442. * @return [us] RC channel 11 value
  443. */
  444. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan11_raw(const mavlink_message_t* msg)
  445. {
  446. return _MAV_RETURN_uint16_t(msg, 28);
  447. }
  448. /**
  449. * @brief Get field chan12_raw from hil_rc_inputs_raw message
  450. *
  451. * @return [us] RC channel 12 value
  452. */
  453. static inline uint16_t mavlink_msg_hil_rc_inputs_raw_get_chan12_raw(const mavlink_message_t* msg)
  454. {
  455. return _MAV_RETURN_uint16_t(msg, 30);
  456. }
  457. /**
  458. * @brief Get field rssi from hil_rc_inputs_raw message
  459. *
  460. * @return Receive signal strength indicator in device-dependent units/scale. Values: [0-254], UINT8_MAX: invalid/unknown.
  461. */
  462. static inline uint8_t mavlink_msg_hil_rc_inputs_raw_get_rssi(const mavlink_message_t* msg)
  463. {
  464. return _MAV_RETURN_uint8_t(msg, 32);
  465. }
  466. /**
  467. * @brief Decode a hil_rc_inputs_raw message into a struct
  468. *
  469. * @param msg The message to decode
  470. * @param hil_rc_inputs_raw C-struct to decode the message contents into
  471. */
  472. 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)
  473. {
  474. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  475. hil_rc_inputs_raw->time_usec = mavlink_msg_hil_rc_inputs_raw_get_time_usec(msg);
  476. hil_rc_inputs_raw->chan1_raw = mavlink_msg_hil_rc_inputs_raw_get_chan1_raw(msg);
  477. hil_rc_inputs_raw->chan2_raw = mavlink_msg_hil_rc_inputs_raw_get_chan2_raw(msg);
  478. hil_rc_inputs_raw->chan3_raw = mavlink_msg_hil_rc_inputs_raw_get_chan3_raw(msg);
  479. hil_rc_inputs_raw->chan4_raw = mavlink_msg_hil_rc_inputs_raw_get_chan4_raw(msg);
  480. hil_rc_inputs_raw->chan5_raw = mavlink_msg_hil_rc_inputs_raw_get_chan5_raw(msg);
  481. hil_rc_inputs_raw->chan6_raw = mavlink_msg_hil_rc_inputs_raw_get_chan6_raw(msg);
  482. hil_rc_inputs_raw->chan7_raw = mavlink_msg_hil_rc_inputs_raw_get_chan7_raw(msg);
  483. hil_rc_inputs_raw->chan8_raw = mavlink_msg_hil_rc_inputs_raw_get_chan8_raw(msg);
  484. hil_rc_inputs_raw->chan9_raw = mavlink_msg_hil_rc_inputs_raw_get_chan9_raw(msg);
  485. hil_rc_inputs_raw->chan10_raw = mavlink_msg_hil_rc_inputs_raw_get_chan10_raw(msg);
  486. hil_rc_inputs_raw->chan11_raw = mavlink_msg_hil_rc_inputs_raw_get_chan11_raw(msg);
  487. hil_rc_inputs_raw->chan12_raw = mavlink_msg_hil_rc_inputs_raw_get_chan12_raw(msg);
  488. hil_rc_inputs_raw->rssi = mavlink_msg_hil_rc_inputs_raw_get_rssi(msg);
  489. #else
  490. uint8_t len = msg->len < MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN? msg->len : MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN;
  491. memset(hil_rc_inputs_raw, 0, MAVLINK_MSG_ID_HIL_RC_INPUTS_RAW_LEN);
  492. memcpy(hil_rc_inputs_raw, _MAV_PAYLOAD(msg), len);
  493. #endif
  494. }