diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-30 19:47:12 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-30 19:47:12 +0200 |
commit | d51b97fe2fda2c566c9e61c2e551138fdac97814 (patch) | |
tree | 551be0f6f4899e3272e8a4422b8a6677dd4653dc /src/modules/sdlog2 | |
parent | c8f4f84c2bc8a4302e28ac0b3a2af7807d82dc64 (diff) | |
parent | 8191130bbc8f2cbd53e69a7bcd1a4d4b1b2d68bb (diff) | |
download | px4-firmware-d51b97fe2fda2c566c9e61c2e551138fdac97814.tar.gz px4-firmware-d51b97fe2fda2c566c9e61c2e551138fdac97814.tar.bz2 px4-firmware-d51b97fe2fda2c566c9e61c2e551138fdac97814.zip |
Merge branch 'master' of github.com:PX4/Firmware into integration
Diffstat (limited to 'src/modules/sdlog2')
-rw-r--r-- | src/modules/sdlog2/sdlog2.c | 11 | ||||
-rw-r--r-- | src/modules/sdlog2/sdlog2_messages.h | 13 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/modules/sdlog2/sdlog2.c b/src/modules/sdlog2/sdlog2.c index f7555af70..e03295e6d 100644 --- a/src/modules/sdlog2/sdlog2.c +++ b/src/modules/sdlog2/sdlog2.c @@ -684,6 +684,7 @@ int sdlog2_thread_main(int argc, char *argv[]) struct log_OUT0_s log_OUT0; struct log_AIRS_s log_AIRS; struct log_ARSP_s log_ARSP; + struct log_FLOW_s log_FLOW; } body; } log_msg = { LOG_PACKET_HEADER_INIT(0) @@ -1067,7 +1068,15 @@ int sdlog2_thread_main(int argc, char *argv[]) /* --- FLOW --- */ if (fds[ifds++].revents & POLLIN) { orb_copy(ORB_ID(optical_flow), subs.flow_sub, &buf.flow); - // TODO not implemented yet + log_msg.msg_type = LOG_FLOW_MSG; + log_msg.body.log_FLOW.flow_raw_x = buf.flow.flow_raw_x; + log_msg.body.log_FLOW.flow_raw_y = buf.flow.flow_raw_y; + log_msg.body.log_FLOW.flow_comp_x = buf.flow.flow_comp_x_m; + log_msg.body.log_FLOW.flow_comp_y = buf.flow.flow_comp_y_m; + log_msg.body.log_FLOW.distance = buf.flow.ground_distance_m; + log_msg.body.log_FLOW.quality = buf.flow.quality; + log_msg.body.log_FLOW.sensor_id = buf.flow.sensor_id; + LOGBUFFER_WRITE_AND_COUNT(FLOW); } /* --- RC CHANNELS --- */ diff --git a/src/modules/sdlog2/sdlog2_messages.h b/src/modules/sdlog2/sdlog2_messages.h index 7f7bf6053..c100e921b 100644 --- a/src/modules/sdlog2/sdlog2_messages.h +++ b/src/modules/sdlog2/sdlog2_messages.h @@ -186,6 +186,18 @@ struct log_ARSP_s { float pitch_rate_sp; float yaw_rate_sp; }; + +/* --- FLOW - OPTICAL FLOW --- */ +#define LOG_FLOW_MSG 15 +struct log_FLOW_s { + int16_t flow_raw_x; + int16_t flow_raw_y; + float flow_comp_x; + float flow_comp_y; + float distance; + uint8_t quality; + uint8_t sensor_id; +}; #pragma pack(pop) /* construct list of all message formats */ @@ -205,6 +217,7 @@ static const struct log_format_s log_formats[] = { LOG_FORMAT(OUT0, "ffffffff", "Out0,Out1,Out2,Out3,Out4,Out5,Out6,Out7"), LOG_FORMAT(AIRS, "ff", "IndSpeed,TrueSpeed"), LOG_FORMAT(ARSP, "fff", "RollRateSP,PitchRateSP,YawRateSP"), + LOG_FORMAT(FLOW, "hhfffBB", "RawX,RawY,CompX,CompY,Dist,Q,SensID"), }; static const int log_formats_num = sizeof(log_formats) / sizeof(struct log_format_s); |