aboutsummaryrefslogtreecommitdiff
path: root/src/modules/sdlog2
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-06-28 11:09:21 +0400
committerAnton Babushkin <anton.babushkin@me.com>2013-06-28 11:09:21 +0400
commit665a9b8865b394c1e4d15d74632551dfd216eab9 (patch)
tree784e039f538bb7f058e2ce83f68b77225114790b /src/modules/sdlog2
parent7d37c2a8b36309f27d7001ba035d30c72620ba05 (diff)
parent8191130bbc8f2cbd53e69a7bcd1a4d4b1b2d68bb (diff)
downloadpx4-firmware-665a9b8865b394c1e4d15d74632551dfd216eab9.tar.gz
px4-firmware-665a9b8865b394c1e4d15d74632551dfd216eab9.tar.bz2
px4-firmware-665a9b8865b394c1e4d15d74632551dfd216eab9.zip
Merge commit '8191130bbc8f2cbd53e69a7bcd1a4d4b1b2d68bb' into seatbelt_multirotor
Diffstat (limited to 'src/modules/sdlog2')
-rw-r--r--src/modules/sdlog2/sdlog2.c11
-rw-r--r--src/modules/sdlog2/sdlog2_messages.h15
2 files changed, 24 insertions, 2 deletions
diff --git a/src/modules/sdlog2/sdlog2.c b/src/modules/sdlog2/sdlog2.c
index c802d5efa..69d87d92b 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;
struct log_GPOS_s log_GPOS;
} body;
} log_msg = {
@@ -1076,7 +1077,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 55bc36717..ce1815c6b 100644
--- a/src/modules/sdlog2/sdlog2_messages.h
+++ b/src/modules/sdlog2/sdlog2_messages.h
@@ -187,8 +187,20 @@ struct log_ARSP_s {
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;
+};
+
/* --- GPOS - GLOBAL POSITION --- */
-#define LOG_GPOS_MSG 15
+#define LOG_GPOS_MSG 64
struct log_GPOS_s {
int32_t lat;
int32_t lon;
@@ -218,6 +230,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"),
LOG_FORMAT(GPOS, "LLfffff", "Lat,Lon,Alt,VelN,VelE,VelD,Heading"),
};