mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-06 16:58:48 +08:00
counting rate and msg, bug fixed in CheckFreeSpace for XBee
This commit is contained in:
+10
-3
@@ -61,6 +61,9 @@ extern uint8_t telemetry_mode_Fbw;
|
||||
|
||||
/** Counter of messages not sent because of unavailibity of the output buffer*/
|
||||
extern uint8_t downlink_nb_ovrn;
|
||||
extern uint16_t downlink_nb_bytes;
|
||||
extern uint16_t downlink_nb_msgs;
|
||||
|
||||
|
||||
#define __Transport(dev, _x) dev##_x
|
||||
#define _Transport(dev, _x) __Transport(dev, _x)
|
||||
@@ -68,7 +71,9 @@ extern uint8_t downlink_nb_ovrn;
|
||||
|
||||
|
||||
/** Set of macros for generated code (messages.h) from messages.xml */
|
||||
#define DownlinkSizeOf(_x) Transport(SizeOf(_x))
|
||||
/** 2 = ac_id + msg_id */
|
||||
#define DownlinkIDsSize(_x) (_x+2)
|
||||
#define DownlinkSizeOf(_x) Transport(SizeOf(DownlinkIDsSize(_x)))
|
||||
|
||||
#define DownlinkCheckFreeSpace(_x) Transport(CheckFreeSpace((uint8_t)(_x)))
|
||||
|
||||
@@ -87,10 +92,12 @@ extern uint8_t downlink_nb_ovrn;
|
||||
#define DownlinkPutUint16Array(_n, _x) Transport(PutUint16Array(_n, _x))
|
||||
#define DownlinkPutUint8Array(_n, _x) Transport(PutUint8Array(_n, _x))
|
||||
|
||||
#define DonwlinkOverrun() downlink_nb_ovrn++;
|
||||
#define DownlinkOverrun() downlink_nb_ovrn++;
|
||||
#define DownlinkCountBytes(_n) downlink_nb_bytes += _n;
|
||||
|
||||
#define DownlinkStartMessage(_name, msg_id, payload_len) { \
|
||||
Transport(Header(payload_len)); \
|
||||
downlink_nb_msgs++; \
|
||||
Transport(Header(DownlinkIDsSize(payload_len))); \
|
||||
Transport(PutUint8(AC_ID)); \
|
||||
Transport(PutNamedUint8(_name, msg_id)); \
|
||||
}
|
||||
|
||||
@@ -33,8 +33,8 @@ extern uint8_t ck_a, ck_b;
|
||||
|
||||
#define STX 0x99
|
||||
|
||||
/** 6 = STX + len + ac_id + msg_id + ck_a + ck_b */
|
||||
#define PprzTransportSizeOf(_payload) (_payload+6)
|
||||
/** 4 = STX + len + ck_a + ck_b */
|
||||
#define PprzTransportSizeOf(_payload) (_payload+4)
|
||||
|
||||
#define __Link(dev, _x) dev##_x
|
||||
#define _Link(dev, _x) __Link(dev, _x)
|
||||
|
||||
+5
-2
@@ -57,7 +57,10 @@ void xbee_init( void );
|
||||
#define XBeePrintHex16(x) XBeeLink(PrintHex16(x))
|
||||
#define XBeeTransportPut1Byte(x) XBeeLink(Transmit(x))
|
||||
#define XBeeTransportCheckFreeSpace(x) XBeeLink(CheckFreeSpace(x))
|
||||
#define XBeeTransportSizeOf(_x) (_x+5)
|
||||
/* 5 = Start + len_msb + len_lsb + API_id + checksum */
|
||||
#define XBeeAPISizeOf(_x) (_x+5)
|
||||
/* 4 = frame_id + addr_msb + addr_lsb + options */
|
||||
#define XBeeTransportSizeOf(_x) XBeeAPISizeOf(_x+4)
|
||||
#define XBeeTransportSendMessage() XBeeLink(SendMessage())
|
||||
|
||||
#define XBeeTransportPutUint8(_x) { \
|
||||
@@ -129,7 +132,7 @@ void xbee_init( void );
|
||||
|
||||
#define XBeeTransportHeader(_len) { \
|
||||
XBeeTransportPut1Byte(XBEE_START); \
|
||||
uint8_t payload_len = XBeeTransportSizeOf(_len + 2); \
|
||||
uint8_t payload_len = XBeeAPISizeOf(_len); \
|
||||
XBeeTransportPut2Bytes(payload_len); \
|
||||
xbee_cs = 0; \
|
||||
XBeeTransportPutTX16Header(); \
|
||||
|
||||
Reference in New Issue
Block a user