PullupDev/lib/mavlink/ardupilotmega/mavlink_msg_efi_status.h
tk 1dff1bfd33 【类 型】:fix 更新mavlink库
【原  因】:更全更新
【过  程】:
【影  响】:

# 类型 包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
2024-08-19 16:16:39 +08:00

614 lines
28 KiB
C

#pragma once
// MESSAGE EFI_STATUS PACKING
#define MAVLINK_MSG_ID_EFI_STATUS 225
MAVPACKED(
typedef struct __mavlink_efi_status_t {
float ecu_index; /*< ECU index*/
float rpm; /*< RPM*/
float fuel_consumed; /*< [g] Fuel consumed*/
float fuel_flow; /*< [g/min] Fuel flow rate*/
float engine_load; /*< [%] Engine load*/
float throttle_position; /*< [%] Throttle position*/
float spark_dwell_time; /*< [ms] Spark dwell time*/
float barometric_pressure; /*< [kPa] Barometric pressure*/
float intake_manifold_pressure; /*< [kPa] Intake manifold pressure(*/
float intake_manifold_temperature; /*< [degC] Intake manifold temperature*/
float cylinder_head_temperature; /*< [degC] Cylinder head temperature*/
float ignition_timing; /*< [deg] Ignition timing (Crank angle degrees)*/
float injection_time; /*< [ms] Injection time*/
float exhaust_gas_temperature; /*< [degC] Exhaust gas temperature*/
float throttle_out; /*< [%] Output throttle*/
float pt_compensation; /*< Pressure/temperature compensation*/
uint8_t health; /*< EFI health status*/
}) mavlink_efi_status_t;
#define MAVLINK_MSG_ID_EFI_STATUS_LEN 65
#define MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN 65
#define MAVLINK_MSG_ID_225_LEN 65
#define MAVLINK_MSG_ID_225_MIN_LEN 65
#define MAVLINK_MSG_ID_EFI_STATUS_CRC 208
#define MAVLINK_MSG_ID_225_CRC 208
#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_EFI_STATUS { \
225, \
"EFI_STATUS", \
17, \
{ { "health", NULL, MAVLINK_TYPE_UINT8_T, 0, 64, offsetof(mavlink_efi_status_t, health) }, \
{ "ecu_index", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_efi_status_t, ecu_index) }, \
{ "rpm", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_efi_status_t, rpm) }, \
{ "fuel_consumed", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_efi_status_t, fuel_consumed) }, \
{ "fuel_flow", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_efi_status_t, fuel_flow) }, \
{ "engine_load", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_efi_status_t, engine_load) }, \
{ "throttle_position", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_efi_status_t, throttle_position) }, \
{ "spark_dwell_time", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_efi_status_t, spark_dwell_time) }, \
{ "barometric_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_efi_status_t, barometric_pressure) }, \
{ "intake_manifold_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_efi_status_t, intake_manifold_pressure) }, \
{ "intake_manifold_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_efi_status_t, intake_manifold_temperature) }, \
{ "cylinder_head_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 40, offsetof(mavlink_efi_status_t, cylinder_head_temperature) }, \
{ "ignition_timing", NULL, MAVLINK_TYPE_FLOAT, 0, 44, offsetof(mavlink_efi_status_t, ignition_timing) }, \
{ "injection_time", NULL, MAVLINK_TYPE_FLOAT, 0, 48, offsetof(mavlink_efi_status_t, injection_time) }, \
{ "exhaust_gas_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 52, offsetof(mavlink_efi_status_t, exhaust_gas_temperature) }, \
{ "throttle_out", NULL, MAVLINK_TYPE_FLOAT, 0, 56, offsetof(mavlink_efi_status_t, throttle_out) }, \
{ "pt_compensation", NULL, MAVLINK_TYPE_FLOAT, 0, 60, offsetof(mavlink_efi_status_t, pt_compensation) }, \
} \
}
#else
#define MAVLINK_MESSAGE_INFO_EFI_STATUS { \
"EFI_STATUS", \
17, \
{ { "health", NULL, MAVLINK_TYPE_UINT8_T, 0, 64, offsetof(mavlink_efi_status_t, health) }, \
{ "ecu_index", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_efi_status_t, ecu_index) }, \
{ "rpm", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_efi_status_t, rpm) }, \
{ "fuel_consumed", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_efi_status_t, fuel_consumed) }, \
{ "fuel_flow", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_efi_status_t, fuel_flow) }, \
{ "engine_load", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_efi_status_t, engine_load) }, \
{ "throttle_position", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_efi_status_t, throttle_position) }, \
{ "spark_dwell_time", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_efi_status_t, spark_dwell_time) }, \
{ "barometric_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_efi_status_t, barometric_pressure) }, \
{ "intake_manifold_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_efi_status_t, intake_manifold_pressure) }, \
{ "intake_manifold_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_efi_status_t, intake_manifold_temperature) }, \
{ "cylinder_head_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 40, offsetof(mavlink_efi_status_t, cylinder_head_temperature) }, \
{ "ignition_timing", NULL, MAVLINK_TYPE_FLOAT, 0, 44, offsetof(mavlink_efi_status_t, ignition_timing) }, \
{ "injection_time", NULL, MAVLINK_TYPE_FLOAT, 0, 48, offsetof(mavlink_efi_status_t, injection_time) }, \
{ "exhaust_gas_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 52, offsetof(mavlink_efi_status_t, exhaust_gas_temperature) }, \
{ "throttle_out", NULL, MAVLINK_TYPE_FLOAT, 0, 56, offsetof(mavlink_efi_status_t, throttle_out) }, \
{ "pt_compensation", NULL, MAVLINK_TYPE_FLOAT, 0, 60, offsetof(mavlink_efi_status_t, pt_compensation) }, \
} \
}
#endif
/**
* @brief Pack a efi_status message
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param msg The MAVLink message to compress the data into
*
* @param health EFI health status
* @param ecu_index ECU index
* @param rpm RPM
* @param fuel_consumed [g] Fuel consumed
* @param fuel_flow [g/min] Fuel flow rate
* @param engine_load [%] Engine load
* @param throttle_position [%] Throttle position
* @param spark_dwell_time [ms] Spark dwell time
* @param barometric_pressure [kPa] Barometric pressure
* @param intake_manifold_pressure [kPa] Intake manifold pressure(
* @param intake_manifold_temperature [degC] Intake manifold temperature
* @param cylinder_head_temperature [degC] Cylinder head temperature
* @param ignition_timing [deg] Ignition timing (Crank angle degrees)
* @param injection_time [ms] Injection time
* @param exhaust_gas_temperature [degC] Exhaust gas temperature
* @param throttle_out [%] Output throttle
* @param pt_compensation Pressure/temperature compensation
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_efi_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
uint8_t health, float ecu_index, float rpm, float fuel_consumed, float fuel_flow, float engine_load, float throttle_position, float spark_dwell_time, float barometric_pressure, float intake_manifold_pressure, float intake_manifold_temperature, float cylinder_head_temperature, float ignition_timing, float injection_time, float exhaust_gas_temperature, float throttle_out, float pt_compensation)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_EFI_STATUS_LEN];
_mav_put_float(buf, 0, ecu_index);
_mav_put_float(buf, 4, rpm);
_mav_put_float(buf, 8, fuel_consumed);
_mav_put_float(buf, 12, fuel_flow);
_mav_put_float(buf, 16, engine_load);
_mav_put_float(buf, 20, throttle_position);
_mav_put_float(buf, 24, spark_dwell_time);
_mav_put_float(buf, 28, barometric_pressure);
_mav_put_float(buf, 32, intake_manifold_pressure);
_mav_put_float(buf, 36, intake_manifold_temperature);
_mav_put_float(buf, 40, cylinder_head_temperature);
_mav_put_float(buf, 44, ignition_timing);
_mav_put_float(buf, 48, injection_time);
_mav_put_float(buf, 52, exhaust_gas_temperature);
_mav_put_float(buf, 56, throttle_out);
_mav_put_float(buf, 60, pt_compensation);
_mav_put_uint8_t(buf, 64, health);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_EFI_STATUS_LEN);
#else
mavlink_efi_status_t packet;
packet.ecu_index = ecu_index;
packet.rpm = rpm;
packet.fuel_consumed = fuel_consumed;
packet.fuel_flow = fuel_flow;
packet.engine_load = engine_load;
packet.throttle_position = throttle_position;
packet.spark_dwell_time = spark_dwell_time;
packet.barometric_pressure = barometric_pressure;
packet.intake_manifold_pressure = intake_manifold_pressure;
packet.intake_manifold_temperature = intake_manifold_temperature;
packet.cylinder_head_temperature = cylinder_head_temperature;
packet.ignition_timing = ignition_timing;
packet.injection_time = injection_time;
packet.exhaust_gas_temperature = exhaust_gas_temperature;
packet.throttle_out = throttle_out;
packet.pt_compensation = pt_compensation;
packet.health = health;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_EFI_STATUS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_EFI_STATUS;
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
}
/**
* @brief Pack a efi_status message on a channel
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param chan The MAVLink channel this message will be sent over
* @param msg The MAVLink message to compress the data into
* @param health EFI health status
* @param ecu_index ECU index
* @param rpm RPM
* @param fuel_consumed [g] Fuel consumed
* @param fuel_flow [g/min] Fuel flow rate
* @param engine_load [%] Engine load
* @param throttle_position [%] Throttle position
* @param spark_dwell_time [ms] Spark dwell time
* @param barometric_pressure [kPa] Barometric pressure
* @param intake_manifold_pressure [kPa] Intake manifold pressure(
* @param intake_manifold_temperature [degC] Intake manifold temperature
* @param cylinder_head_temperature [degC] Cylinder head temperature
* @param ignition_timing [deg] Ignition timing (Crank angle degrees)
* @param injection_time [ms] Injection time
* @param exhaust_gas_temperature [degC] Exhaust gas temperature
* @param throttle_out [%] Output throttle
* @param pt_compensation Pressure/temperature compensation
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_efi_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
mavlink_message_t* msg,
uint8_t health,float ecu_index,float rpm,float fuel_consumed,float fuel_flow,float engine_load,float throttle_position,float spark_dwell_time,float barometric_pressure,float intake_manifold_pressure,float intake_manifold_temperature,float cylinder_head_temperature,float ignition_timing,float injection_time,float exhaust_gas_temperature,float throttle_out,float pt_compensation)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_EFI_STATUS_LEN];
_mav_put_float(buf, 0, ecu_index);
_mav_put_float(buf, 4, rpm);
_mav_put_float(buf, 8, fuel_consumed);
_mav_put_float(buf, 12, fuel_flow);
_mav_put_float(buf, 16, engine_load);
_mav_put_float(buf, 20, throttle_position);
_mav_put_float(buf, 24, spark_dwell_time);
_mav_put_float(buf, 28, barometric_pressure);
_mav_put_float(buf, 32, intake_manifold_pressure);
_mav_put_float(buf, 36, intake_manifold_temperature);
_mav_put_float(buf, 40, cylinder_head_temperature);
_mav_put_float(buf, 44, ignition_timing);
_mav_put_float(buf, 48, injection_time);
_mav_put_float(buf, 52, exhaust_gas_temperature);
_mav_put_float(buf, 56, throttle_out);
_mav_put_float(buf, 60, pt_compensation);
_mav_put_uint8_t(buf, 64, health);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_EFI_STATUS_LEN);
#else
mavlink_efi_status_t packet;
packet.ecu_index = ecu_index;
packet.rpm = rpm;
packet.fuel_consumed = fuel_consumed;
packet.fuel_flow = fuel_flow;
packet.engine_load = engine_load;
packet.throttle_position = throttle_position;
packet.spark_dwell_time = spark_dwell_time;
packet.barometric_pressure = barometric_pressure;
packet.intake_manifold_pressure = intake_manifold_pressure;
packet.intake_manifold_temperature = intake_manifold_temperature;
packet.cylinder_head_temperature = cylinder_head_temperature;
packet.ignition_timing = ignition_timing;
packet.injection_time = injection_time;
packet.exhaust_gas_temperature = exhaust_gas_temperature;
packet.throttle_out = throttle_out;
packet.pt_compensation = pt_compensation;
packet.health = health;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_EFI_STATUS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_EFI_STATUS;
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
}
/**
* @brief Encode a efi_status struct
*
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param msg The MAVLink message to compress the data into
* @param efi_status C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_efi_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_efi_status_t* efi_status)
{
return mavlink_msg_efi_status_pack(system_id, component_id, msg, efi_status->health, efi_status->ecu_index, efi_status->rpm, efi_status->fuel_consumed, efi_status->fuel_flow, efi_status->engine_load, efi_status->throttle_position, efi_status->spark_dwell_time, efi_status->barometric_pressure, efi_status->intake_manifold_pressure, efi_status->intake_manifold_temperature, efi_status->cylinder_head_temperature, efi_status->ignition_timing, efi_status->injection_time, efi_status->exhaust_gas_temperature, efi_status->throttle_out, efi_status->pt_compensation);
}
/**
* @brief Encode a efi_status struct on a channel
*
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param chan The MAVLink channel this message will be sent over
* @param msg The MAVLink message to compress the data into
* @param efi_status C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_efi_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_efi_status_t* efi_status)
{
return mavlink_msg_efi_status_pack_chan(system_id, component_id, chan, msg, efi_status->health, efi_status->ecu_index, efi_status->rpm, efi_status->fuel_consumed, efi_status->fuel_flow, efi_status->engine_load, efi_status->throttle_position, efi_status->spark_dwell_time, efi_status->barometric_pressure, efi_status->intake_manifold_pressure, efi_status->intake_manifold_temperature, efi_status->cylinder_head_temperature, efi_status->ignition_timing, efi_status->injection_time, efi_status->exhaust_gas_temperature, efi_status->throttle_out, efi_status->pt_compensation);
}
/**
* @brief Send a efi_status message
* @param chan MAVLink channel to send the message
*
* @param health EFI health status
* @param ecu_index ECU index
* @param rpm RPM
* @param fuel_consumed [g] Fuel consumed
* @param fuel_flow [g/min] Fuel flow rate
* @param engine_load [%] Engine load
* @param throttle_position [%] Throttle position
* @param spark_dwell_time [ms] Spark dwell time
* @param barometric_pressure [kPa] Barometric pressure
* @param intake_manifold_pressure [kPa] Intake manifold pressure(
* @param intake_manifold_temperature [degC] Intake manifold temperature
* @param cylinder_head_temperature [degC] Cylinder head temperature
* @param ignition_timing [deg] Ignition timing (Crank angle degrees)
* @param injection_time [ms] Injection time
* @param exhaust_gas_temperature [degC] Exhaust gas temperature
* @param throttle_out [%] Output throttle
* @param pt_compensation Pressure/temperature compensation
*/
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
static inline void mavlink_msg_efi_status_send(mavlink_channel_t chan, uint8_t health, float ecu_index, float rpm, float fuel_consumed, float fuel_flow, float engine_load, float throttle_position, float spark_dwell_time, float barometric_pressure, float intake_manifold_pressure, float intake_manifold_temperature, float cylinder_head_temperature, float ignition_timing, float injection_time, float exhaust_gas_temperature, float throttle_out, float pt_compensation)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_EFI_STATUS_LEN];
_mav_put_float(buf, 0, ecu_index);
_mav_put_float(buf, 4, rpm);
_mav_put_float(buf, 8, fuel_consumed);
_mav_put_float(buf, 12, fuel_flow);
_mav_put_float(buf, 16, engine_load);
_mav_put_float(buf, 20, throttle_position);
_mav_put_float(buf, 24, spark_dwell_time);
_mav_put_float(buf, 28, barometric_pressure);
_mav_put_float(buf, 32, intake_manifold_pressure);
_mav_put_float(buf, 36, intake_manifold_temperature);
_mav_put_float(buf, 40, cylinder_head_temperature);
_mav_put_float(buf, 44, ignition_timing);
_mav_put_float(buf, 48, injection_time);
_mav_put_float(buf, 52, exhaust_gas_temperature);
_mav_put_float(buf, 56, throttle_out);
_mav_put_float(buf, 60, pt_compensation);
_mav_put_uint8_t(buf, 64, health);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EFI_STATUS, buf, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
#else
mavlink_efi_status_t packet;
packet.ecu_index = ecu_index;
packet.rpm = rpm;
packet.fuel_consumed = fuel_consumed;
packet.fuel_flow = fuel_flow;
packet.engine_load = engine_load;
packet.throttle_position = throttle_position;
packet.spark_dwell_time = spark_dwell_time;
packet.barometric_pressure = barometric_pressure;
packet.intake_manifold_pressure = intake_manifold_pressure;
packet.intake_manifold_temperature = intake_manifold_temperature;
packet.cylinder_head_temperature = cylinder_head_temperature;
packet.ignition_timing = ignition_timing;
packet.injection_time = injection_time;
packet.exhaust_gas_temperature = exhaust_gas_temperature;
packet.throttle_out = throttle_out;
packet.pt_compensation = pt_compensation;
packet.health = health;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EFI_STATUS, (const char *)&packet, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
#endif
}
/**
* @brief Send a efi_status message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_efi_status_send_struct(mavlink_channel_t chan, const mavlink_efi_status_t* efi_status)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_efi_status_send(chan, efi_status->health, efi_status->ecu_index, efi_status->rpm, efi_status->fuel_consumed, efi_status->fuel_flow, efi_status->engine_load, efi_status->throttle_position, efi_status->spark_dwell_time, efi_status->barometric_pressure, efi_status->intake_manifold_pressure, efi_status->intake_manifold_temperature, efi_status->cylinder_head_temperature, efi_status->ignition_timing, efi_status->injection_time, efi_status->exhaust_gas_temperature, efi_status->throttle_out, efi_status->pt_compensation);
#else
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EFI_STATUS, (const char *)efi_status, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
#endif
}
#if MAVLINK_MSG_ID_EFI_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
This varient of _send() can be used to save stack space by re-using
memory from the receive buffer. The caller provides a
mavlink_message_t which is the size of a full mavlink message. This
is usually the receive buffer for the channel, and allows a reply to an
incoming message with minimum stack space usage.
*/
static inline void mavlink_msg_efi_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t health, float ecu_index, float rpm, float fuel_consumed, float fuel_flow, float engine_load, float throttle_position, float spark_dwell_time, float barometric_pressure, float intake_manifold_pressure, float intake_manifold_temperature, float cylinder_head_temperature, float ignition_timing, float injection_time, float exhaust_gas_temperature, float throttle_out, float pt_compensation)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char *buf = (char *)msgbuf;
_mav_put_float(buf, 0, ecu_index);
_mav_put_float(buf, 4, rpm);
_mav_put_float(buf, 8, fuel_consumed);
_mav_put_float(buf, 12, fuel_flow);
_mav_put_float(buf, 16, engine_load);
_mav_put_float(buf, 20, throttle_position);
_mav_put_float(buf, 24, spark_dwell_time);
_mav_put_float(buf, 28, barometric_pressure);
_mav_put_float(buf, 32, intake_manifold_pressure);
_mav_put_float(buf, 36, intake_manifold_temperature);
_mav_put_float(buf, 40, cylinder_head_temperature);
_mav_put_float(buf, 44, ignition_timing);
_mav_put_float(buf, 48, injection_time);
_mav_put_float(buf, 52, exhaust_gas_temperature);
_mav_put_float(buf, 56, throttle_out);
_mav_put_float(buf, 60, pt_compensation);
_mav_put_uint8_t(buf, 64, health);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EFI_STATUS, buf, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
#else
mavlink_efi_status_t *packet = (mavlink_efi_status_t *)msgbuf;
packet->ecu_index = ecu_index;
packet->rpm = rpm;
packet->fuel_consumed = fuel_consumed;
packet->fuel_flow = fuel_flow;
packet->engine_load = engine_load;
packet->throttle_position = throttle_position;
packet->spark_dwell_time = spark_dwell_time;
packet->barometric_pressure = barometric_pressure;
packet->intake_manifold_pressure = intake_manifold_pressure;
packet->intake_manifold_temperature = intake_manifold_temperature;
packet->cylinder_head_temperature = cylinder_head_temperature;
packet->ignition_timing = ignition_timing;
packet->injection_time = injection_time;
packet->exhaust_gas_temperature = exhaust_gas_temperature;
packet->throttle_out = throttle_out;
packet->pt_compensation = pt_compensation;
packet->health = health;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EFI_STATUS, (const char *)packet, MAVLINK_MSG_ID_EFI_STATUS_MIN_LEN, MAVLINK_MSG_ID_EFI_STATUS_LEN, MAVLINK_MSG_ID_EFI_STATUS_CRC);
#endif
}
#endif
#endif
// MESSAGE EFI_STATUS UNPACKING
/**
* @brief Get field health from efi_status message
*
* @return EFI health status
*/
static inline uint8_t mavlink_msg_efi_status_get_health(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 64);
}
/**
* @brief Get field ecu_index from efi_status message
*
* @return ECU index
*/
static inline float mavlink_msg_efi_status_get_ecu_index(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 0);
}
/**
* @brief Get field rpm from efi_status message
*
* @return RPM
*/
static inline float mavlink_msg_efi_status_get_rpm(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 4);
}
/**
* @brief Get field fuel_consumed from efi_status message
*
* @return [g] Fuel consumed
*/
static inline float mavlink_msg_efi_status_get_fuel_consumed(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 8);
}
/**
* @brief Get field fuel_flow from efi_status message
*
* @return [g/min] Fuel flow rate
*/
static inline float mavlink_msg_efi_status_get_fuel_flow(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 12);
}
/**
* @brief Get field engine_load from efi_status message
*
* @return [%] Engine load
*/
static inline float mavlink_msg_efi_status_get_engine_load(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 16);
}
/**
* @brief Get field throttle_position from efi_status message
*
* @return [%] Throttle position
*/
static inline float mavlink_msg_efi_status_get_throttle_position(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 20);
}
/**
* @brief Get field spark_dwell_time from efi_status message
*
* @return [ms] Spark dwell time
*/
static inline float mavlink_msg_efi_status_get_spark_dwell_time(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 24);
}
/**
* @brief Get field barometric_pressure from efi_status message
*
* @return [kPa] Barometric pressure
*/
static inline float mavlink_msg_efi_status_get_barometric_pressure(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 28);
}
/**
* @brief Get field intake_manifold_pressure from efi_status message
*
* @return [kPa] Intake manifold pressure(
*/
static inline float mavlink_msg_efi_status_get_intake_manifold_pressure(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 32);
}
/**
* @brief Get field intake_manifold_temperature from efi_status message
*
* @return [degC] Intake manifold temperature
*/
static inline float mavlink_msg_efi_status_get_intake_manifold_temperature(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 36);
}
/**
* @brief Get field cylinder_head_temperature from efi_status message
*
* @return [degC] Cylinder head temperature
*/
static inline float mavlink_msg_efi_status_get_cylinder_head_temperature(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 40);
}
/**
* @brief Get field ignition_timing from efi_status message
*
* @return [deg] Ignition timing (Crank angle degrees)
*/
static inline float mavlink_msg_efi_status_get_ignition_timing(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 44);
}
/**
* @brief Get field injection_time from efi_status message
*
* @return [ms] Injection time
*/
static inline float mavlink_msg_efi_status_get_injection_time(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 48);
}
/**
* @brief Get field exhaust_gas_temperature from efi_status message
*
* @return [degC] Exhaust gas temperature
*/
static inline float mavlink_msg_efi_status_get_exhaust_gas_temperature(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 52);
}
/**
* @brief Get field throttle_out from efi_status message
*
* @return [%] Output throttle
*/
static inline float mavlink_msg_efi_status_get_throttle_out(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 56);
}
/**
* @brief Get field pt_compensation from efi_status message
*
* @return Pressure/temperature compensation
*/
static inline float mavlink_msg_efi_status_get_pt_compensation(const mavlink_message_t* msg)
{
return _MAV_RETURN_float(msg, 60);
}
/**
* @brief Decode a efi_status message into a struct
*
* @param msg The message to decode
* @param efi_status C-struct to decode the message contents into
*/
static inline void mavlink_msg_efi_status_decode(const mavlink_message_t* msg, mavlink_efi_status_t* efi_status)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
efi_status->ecu_index = mavlink_msg_efi_status_get_ecu_index(msg);
efi_status->rpm = mavlink_msg_efi_status_get_rpm(msg);
efi_status->fuel_consumed = mavlink_msg_efi_status_get_fuel_consumed(msg);
efi_status->fuel_flow = mavlink_msg_efi_status_get_fuel_flow(msg);
efi_status->engine_load = mavlink_msg_efi_status_get_engine_load(msg);
efi_status->throttle_position = mavlink_msg_efi_status_get_throttle_position(msg);
efi_status->spark_dwell_time = mavlink_msg_efi_status_get_spark_dwell_time(msg);
efi_status->barometric_pressure = mavlink_msg_efi_status_get_barometric_pressure(msg);
efi_status->intake_manifold_pressure = mavlink_msg_efi_status_get_intake_manifold_pressure(msg);
efi_status->intake_manifold_temperature = mavlink_msg_efi_status_get_intake_manifold_temperature(msg);
efi_status->cylinder_head_temperature = mavlink_msg_efi_status_get_cylinder_head_temperature(msg);
efi_status->ignition_timing = mavlink_msg_efi_status_get_ignition_timing(msg);
efi_status->injection_time = mavlink_msg_efi_status_get_injection_time(msg);
efi_status->exhaust_gas_temperature = mavlink_msg_efi_status_get_exhaust_gas_temperature(msg);
efi_status->throttle_out = mavlink_msg_efi_status_get_throttle_out(msg);
efi_status->pt_compensation = mavlink_msg_efi_status_get_pt_compensation(msg);
efi_status->health = mavlink_msg_efi_status_get_health(msg);
#else
uint8_t len = msg->len < MAVLINK_MSG_ID_EFI_STATUS_LEN? msg->len : MAVLINK_MSG_ID_EFI_STATUS_LEN;
memset(efi_status, 0, MAVLINK_MSG_ID_EFI_STATUS_LEN);
memcpy(efi_status, _MAV_PAYLOAD(msg), len);
#endif
}