X-Git-Url: http://git.droids-corp.org/?p=protos%2Fxbee-avr.git;a=blobdiff_plain;f=rc_proto.h;h=baf90f41d5386e1538b4adaa390bc87ab8c2ea4c;hp=82f2fd2eabe8d317f6862b586230f607c12cc3e2;hb=HEAD;hpb=13e5a26a5242e90e77786b58b5df15d77b7c340c diff --git a/rc_proto.h b/rc_proto.h index 82f2fd2..baf90f4 100644 --- a/rc_proto.h +++ b/rc_proto.h @@ -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);