aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/drv_rc_input.h
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-01-26 14:52:46 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-01-26 14:52:46 +0100
commit9cdbbab855d463bffb39d8dd55888fc1e0423818 (patch)
tree73ceaaab28d0fd08ea47c02eab66c11638c86e58 /src/drivers/drv_rc_input.h
parent731ab465b3d7d40ffb5ce3ca3d14660c6fee1ae6 (diff)
downloadpx4-firmware-9cdbbab855d463bffb39d8dd55888fc1e0423818.tar.gz
px4-firmware-9cdbbab855d463bffb39d8dd55888fc1e0423818.tar.bz2
px4-firmware-9cdbbab855d463bffb39d8dd55888fc1e0423818.zip
Differentiate between publication and signal receive timestamp, correctly set the rc_lost flag in the frame. Ready for prime-time testing.
Diffstat (limited to 'src/drivers/drv_rc_input.h')
-rw-r--r--src/drivers/drv_rc_input.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/drivers/drv_rc_input.h b/src/drivers/drv_rc_input.h
index 715df7e01..20763e265 100644
--- a/src/drivers/drv_rc_input.h
+++ b/src/drivers/drv_rc_input.h
@@ -63,6 +63,11 @@
#define RC_INPUT_MAX_CHANNELS 18
/**
+ * Maximum RSSI value
+ */
+#define RC_INPUT_RSSI_MAX 255
+
+/**
* Input signal type, value is a control position from zero to 100
* percent.
*/
@@ -83,8 +88,11 @@ enum RC_INPUT_SOURCE {
* on the board involved.
*/
struct rc_input_values {
- /** decoding time */
- uint64_t timestamp;
+ /** publication time */
+ uint64_t timestamp_publication;
+
+ /** last valid reception time */
+ uint64_t timestamp_last_signal;
/** number of channels actually being seen */
uint32_t channel_count;
@@ -120,6 +128,12 @@ struct rc_input_values {
* */
uint16_t rc_total_frame_count;
+ /**
+ * Length of a single PPM frame.
+ * Zero for non-PPM systems
+ */
+ uint16_t rc_ppm_frame_length;
+
/** Input source */
enum RC_INPUT_SOURCE input_source;