
【原 因】:更全更新 【过 程】: 【影 响】: # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
614 lines
28 KiB
C
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
|
|
}
|