]> git.droids-corp.org - protos/xbee-avr.git/blobdiff - rc_proto.h
beep when GPS ready
[protos/xbee-avr.git] / rc_proto.h
index 82f2fd2eabe8d317f6862b586230f607c12cc3e2..baf90f41d5386e1538b4adaa390bc87ab8c2ea4c 100644 (file)
@@ -20,6 +20,7 @@ struct rc_proto_hello {
 struct rc_proto_echo_req {
        uint8_t type;
        int8_t power;
+       uint16_t timestamp; /* copied as-is in answer */
        uint8_t datalen; /* len of data excluding header */
        uint8_t data[];
 } __attribute__((packed));
@@ -28,6 +29,7 @@ struct rc_proto_echo_req {
 #define RC_PROTO_ECHO_ANS 0x02
 struct rc_proto_echo_ans {
        uint8_t type;
+       uint16_t timestamp;
        uint8_t datalen; /* len of data excluding header */
        uint8_t data[];
 } __attribute__((packed));
@@ -84,6 +86,15 @@ struct rc_proto_stats {
        uint8_t stats[]; /* format is struct rc_proto_stats_data */
 } __attribute__((packed));
 
+/* rc_proto timers configuration */
+struct rc_proto_timers {
+       uint16_t send_servo_min_ms;
+       uint16_t send_servo_max_ms;
+       uint16_t send_power_probe_ms;
+       uint16_t autobypass_ms;
+};
+extern struct rc_proto_timers rc_proto_timers;
+
 /* send a Hello message to a peer */
 int8_t rc_proto_send_hello(uint64_t addr, void *data, uint8_t data_len,
        int8_t power);
@@ -127,6 +138,9 @@ void rc_proto_dump_servos(void);
 /* if set, send power probe periodically to the peer (500 ms) */
 #define RC_PROTO_FLAGS_TX_POW_PROBE  0x20
 
+/* if set, use received probes to compute best power level */
+#define RC_PROTO_FLAGS_COMPUTE_BEST_POW  0x40
+
 void rc_proto_set_mode(uint8_t flags);
 
 uint8_t rc_proto_get_mode(void);