feat: add turbinestate

This commit is contained in:
matt
2020-10-06 09:22:00 +08:00
parent 438e824241
commit e638f7a252
9 changed files with 983 additions and 8 deletions
+81
View File
@@ -4367,6 +4367,86 @@ static void mavlink_test_enginestate(uint16_t system_id, uint8_t component_id, m
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
}
static void mavlink_test_turbinestate(uint16_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_TurbineState >= 256) {
return;
}
#endif
mavlink_message_t msg;
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
uint16_t i;
mavlink_turbinestate_t packet_in = {
963497464,17443,17547,17651,17755,17859,17963,18067,18171,18275,199,10,77,144,211,22,89,156,223,34,101,168,235,46,113,180,247
};
mavlink_turbinestate_t packet1, packet2;
memset(&packet1, 0, sizeof(packet1));
packet1.time_boot_ms = packet_in.time_boot_ms;
packet1.RPM_mea = packet_in.RPM_mea;
packet1.T5 = packet_in.T5;
packet1.Kfuel = packet_in.Kfuel;
packet1.RPM_des = packet_in.RPM_des;
packet1.RPM_des_ap = packet_in.RPM_des_ap;
packet1.RPM_bak = packet_in.RPM_bak;
packet1.IOState = packet_in.IOState;
packet1.SysState = packet_in.SysState;
packet1.Fault = packet_in.Fault;
packet1.stage_ap = packet_in.stage_ap;
packet1.temp_ap = packet_in.temp_ap;
packet1.tas_ap = packet_in.tas_ap;
packet1.asl_ap = packet_in.asl_ap;
packet1.KabMain = packet_in.KabMain;
packet1.KabFire = packet_in.KabFire;
packet1.KDj = packet_in.KDj;
packet1.T1t = packet_in.T1t;
packet1.P1t = packet_in.P1t;
packet1.P3t = packet_in.P3t;
packet1.P5t = packet_in.P5t;
packet1.DJS = packet_in.DJS;
packet1.Vcc = packet_in.Vcc;
packet1.Tbak = packet_in.Tbak;
packet1.rev = packet_in.rev;
packet1.CFuelMode = packet_in.CFuelMode;
packet1.Cmd = packet_in.Cmd;
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
// cope with extensions
memset(MAVLINK_MSG_ID_TurbineState_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_TurbineState_MIN_LEN);
}
#endif
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_turbinestate_encode(system_id, component_id, &msg, &packet1);
mavlink_msg_turbinestate_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_turbinestate_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.RPM_mea , packet1.T5 , packet1.Kfuel , packet1.RPM_des , packet1.RPM_des_ap , packet1.stage_ap , packet1.temp_ap , packet1.tas_ap , packet1.asl_ap , packet1.KabMain , packet1.KabFire , packet1.KDj , packet1.T1t , packet1.P1t , packet1.P3t , packet1.P5t , packet1.DJS , packet1.Vcc , packet1.Tbak , packet1.RPM_bak , packet1.IOState , packet1.SysState , packet1.Fault , packet1.rev , packet1.CFuelMode , packet1.Cmd );
mavlink_msg_turbinestate_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_turbinestate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.RPM_mea , packet1.T5 , packet1.Kfuel , packet1.RPM_des , packet1.RPM_des_ap , packet1.stage_ap , packet1.temp_ap , packet1.tas_ap , packet1.asl_ap , packet1.KabMain , packet1.KabFire , packet1.KDj , packet1.T1t , packet1.P1t , packet1.P3t , packet1.P5t , packet1.DJS , packet1.Vcc , packet1.Tbak , packet1.RPM_bak , packet1.IOState , packet1.SysState , packet1.Fault , packet1.rev , packet1.CFuelMode , packet1.Cmd );
mavlink_msg_turbinestate_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_to_send_buffer(buffer, &msg);
for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
comm_send_ch(MAVLINK_COMM_0, buffer[i]);
}
mavlink_msg_turbinestate_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_turbinestate_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.RPM_mea , packet1.T5 , packet1.Kfuel , packet1.RPM_des , packet1.RPM_des_ap , packet1.stage_ap , packet1.temp_ap , packet1.tas_ap , packet1.asl_ap , packet1.KabMain , packet1.KabFire , packet1.KDj , packet1.T1t , packet1.P1t , packet1.P3t , packet1.P5t , packet1.DJS , packet1.Vcc , packet1.Tbak , packet1.RPM_bak , packet1.IOState , packet1.SysState , packet1.Fault , packet1.rev , packet1.CFuelMode , packet1.Cmd );
mavlink_msg_turbinestate_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
}
static void mavlink_test_ardupilotmega(uint16_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
mavlink_test_sensor_offsets(system_id, component_id, last_msg);
@@ -4441,6 +4521,7 @@ static void mavlink_test_ardupilotmega(uint16_t system_id, uint8_t component_id,
mavlink_test_ifbit_result(system_id, component_id, last_msg);
mavlink_test_enginestatus(system_id, component_id, last_msg);
mavlink_test_enginestate(system_id, component_id, last_msg);
mavlink_test_turbinestate(system_id, component_id, last_msg);
}
#ifdef __cplusplus