mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-31 18:47:21 +08:00
log total airspeed for vtol
This commit is contained in:
@@ -94,6 +94,7 @@
|
|||||||
#include <uORB/topics/servorail_status.h>
|
#include <uORB/topics/servorail_status.h>
|
||||||
#include <uORB/topics/wind_estimate.h>
|
#include <uORB/topics/wind_estimate.h>
|
||||||
#include <uORB/topics/encoders.h>
|
#include <uORB/topics/encoders.h>
|
||||||
|
#include <uORB/topics/vtol_vehicle_status.h>
|
||||||
|
|
||||||
#include <systemlib/systemlib.h>
|
#include <systemlib/systemlib.h>
|
||||||
#include <systemlib/param/param.h>
|
#include <systemlib/param/param.h>
|
||||||
@@ -1000,6 +1001,7 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
struct satellite_info_s sat_info;
|
struct satellite_info_s sat_info;
|
||||||
struct wind_estimate_s wind_estimate;
|
struct wind_estimate_s wind_estimate;
|
||||||
struct encoders_s encoders;
|
struct encoders_s encoders;
|
||||||
|
struct vtol_vehicle_status_s vtol_status;
|
||||||
} buf;
|
} buf;
|
||||||
|
|
||||||
memset(&buf, 0, sizeof(buf));
|
memset(&buf, 0, sizeof(buf));
|
||||||
@@ -1019,6 +1021,7 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
struct log_GPS_s log_GPS;
|
struct log_GPS_s log_GPS;
|
||||||
struct log_ATTC_s log_ATTC;
|
struct log_ATTC_s log_ATTC;
|
||||||
struct log_STAT_s log_STAT;
|
struct log_STAT_s log_STAT;
|
||||||
|
struct log_VTOL_s log_VTOL;
|
||||||
struct log_RC_s log_RC;
|
struct log_RC_s log_RC;
|
||||||
struct log_OUT0_s log_OUT0;
|
struct log_OUT0_s log_OUT0;
|
||||||
struct log_AIRS_s log_AIRS;
|
struct log_AIRS_s log_AIRS;
|
||||||
@@ -1053,6 +1056,7 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
struct {
|
struct {
|
||||||
int cmd_sub;
|
int cmd_sub;
|
||||||
int status_sub;
|
int status_sub;
|
||||||
|
int vtol_status_sub;
|
||||||
int sensor_sub;
|
int sensor_sub;
|
||||||
int att_sub;
|
int att_sub;
|
||||||
int att_sp_sub;
|
int att_sp_sub;
|
||||||
@@ -1086,6 +1090,7 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
|
|
||||||
subs.cmd_sub = orb_subscribe(ORB_ID(vehicle_command));
|
subs.cmd_sub = orb_subscribe(ORB_ID(vehicle_command));
|
||||||
subs.status_sub = orb_subscribe(ORB_ID(vehicle_status));
|
subs.status_sub = orb_subscribe(ORB_ID(vehicle_status));
|
||||||
|
subs.vtol_status_sub = orb_subscribe(ORB_ID(vtol_vehicle_status));
|
||||||
subs.gps_pos_sub = orb_subscribe(ORB_ID(vehicle_gps_position));
|
subs.gps_pos_sub = orb_subscribe(ORB_ID(vehicle_gps_position));
|
||||||
subs.sensor_sub = orb_subscribe(ORB_ID(sensor_combined));
|
subs.sensor_sub = orb_subscribe(ORB_ID(sensor_combined));
|
||||||
subs.att_sub = orb_subscribe(ORB_ID(vehicle_attitude));
|
subs.att_sub = orb_subscribe(ORB_ID(vehicle_attitude));
|
||||||
@@ -1219,6 +1224,13 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
LOGBUFFER_WRITE_AND_COUNT(STAT);
|
LOGBUFFER_WRITE_AND_COUNT(STAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* --- VTOL VEHICLE STATUS --- */
|
||||||
|
if(copy_if_updated(ORB_ID(vtol_vehicle_status), subs.vtol_status_sub, &buf.vtol_status)) {
|
||||||
|
log_msg.msg_type = LOG_VTOL_MSG;
|
||||||
|
log_msg.body.log_VTOL.airspeed_tot = buf.vtol_status.airspeed_tot;
|
||||||
|
LOGBUFFER_WRITE_AND_COUNT(VTOL);
|
||||||
|
}
|
||||||
|
|
||||||
/* --- GPS POSITION - UNIT #1 --- */
|
/* --- GPS POSITION - UNIT #1 --- */
|
||||||
if (gps_pos_updated) {
|
if (gps_pos_updated) {
|
||||||
|
|
||||||
|
|||||||
@@ -426,6 +426,11 @@ struct log_ENCD_s {
|
|||||||
/* --- AIR SPEED SENSORS - DIFF. PRESSURE --- */
|
/* --- AIR SPEED SENSORS - DIFF. PRESSURE --- */
|
||||||
#define LOG_AIR1_MSG 40
|
#define LOG_AIR1_MSG 40
|
||||||
|
|
||||||
|
/* --- VTOL - VTOL VEHICLE STATUS */
|
||||||
|
#define LOG_VTOL_MSG 42
|
||||||
|
struct log_VTOL_s {
|
||||||
|
float airspeed_tot;
|
||||||
|
};
|
||||||
|
|
||||||
/********** SYSTEM MESSAGES, ID > 0x80 **********/
|
/********** SYSTEM MESSAGES, ID > 0x80 **********/
|
||||||
|
|
||||||
@@ -468,6 +473,7 @@ static const struct log_format_s log_formats[] = {
|
|||||||
LOG_FORMAT_S(ATTC, ATTC, "ffff", "Roll,Pitch,Yaw,Thrust"),
|
LOG_FORMAT_S(ATTC, ATTC, "ffff", "Roll,Pitch,Yaw,Thrust"),
|
||||||
LOG_FORMAT_S(ATC1, ATTC, "ffff", "Roll,Pitch,Yaw,Thrust"),
|
LOG_FORMAT_S(ATC1, ATTC, "ffff", "Roll,Pitch,Yaw,Thrust"),
|
||||||
LOG_FORMAT(STAT, "BBBfBB", "MainState,ArmState,FailsafeState,BatRem,BatWarn,Landed"),
|
LOG_FORMAT(STAT, "BBBfBB", "MainState,ArmState,FailsafeState,BatRem,BatWarn,Landed"),
|
||||||
|
LOG_FORMAT(VTOL, "f", "Arsp"),
|
||||||
LOG_FORMAT(RC, "ffffffffBB", "Ch0,Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,Count,SignalLost"),
|
LOG_FORMAT(RC, "ffffffffBB", "Ch0,Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,Count,SignalLost"),
|
||||||
LOG_FORMAT(OUT0, "ffffffff", "Out0,Out1,Out2,Out3,Out4,Out5,Out6,Out7"),
|
LOG_FORMAT(OUT0, "ffffffff", "Out0,Out1,Out2,Out3,Out4,Out5,Out6,Out7"),
|
||||||
LOG_FORMAT(AIRS, "fff", "IndSpeed,TrueSpeed,AirTemp"),
|
LOG_FORMAT(AIRS, "fff", "IndSpeed,TrueSpeed,AirTemp"),
|
||||||
|
|||||||
Reference in New Issue
Block a user