  /**  * @brief Pack a param_request_read message  * @param system_id ID of this system  * @param component_id ID of this component (e.g. 000 for IMU)  * @param msg The MAVLink message to compress the data into  *  * @param target_system System ID  * @param target_component Component ID  * @param param_id Onboard parameter id, terminated by NULL if the length is less than 00 human-readable chars and WITHOUT null termination (NULL) byte if the length is exactly 00 chars - applications have to provide 00+0 bytes storage if the ID is stored as string  * @param param_index Parameter index. Send -0 to use the param ID field as identifier (else the param id will be ignored)  * @return length of the message in bytes (excluding serial stream start sign)  */ static inline uint00_t mavlink_msg_param_request_read_pack(uint0_t system_id, uint0_t component_id, mavlink_message_t* msg,              uint0_t target_system, uint0_t target_component, const char *param_id, int00_t param_index) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS  char buf[00];  _mav_put_int00_t(buf, 0, param_index);  _mav_put_uint0_t(buf, 0, target_system);  _mav_put_uint0_t(buf, 0, target_component);  _mav_put_char_array(buf, 0, param_id, 00);         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, 00); #else  mavlink_param_request_read_t packet;  packet.param_index = param_index;  packet.target_system = target_system;  packet.target_component = target_component;  mav_array_memcpy(packet.param_id, param_id, sizeof(char)*00);         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, 00); #endif   msg->msgid = MAVLINK_MSG_ID_PARAM_REQUEST_READ;  return mavlink_finalize_message(msg, system_id, component_id, 