mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-30 19:47:50 +08:00
[fix][datalink] fix w5100, elif in datalink now also works in sim when DATALINK is not defined.
indentation in 5100
This commit is contained in:
@@ -67,25 +67,26 @@ EXTERN void dl_parse_msg(void);
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DATALINK == PPRZ
|
#if defined DATALINK && DATALINK == PPRZ
|
||||||
|
|
||||||
#define DatalinkEvent() { \
|
#define DatalinkEvent() { \
|
||||||
PprzCheckAndParse(PPRZ_UART, pprz_tp); \
|
PprzCheckAndParse(PPRZ_UART, pprz_tp); \
|
||||||
DlCheckAndParse(); \
|
DlCheckAndParse(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif DATALINK == XBEE
|
#elif defined DATALINK && DATALINK == XBEE
|
||||||
|
|
||||||
#define DatalinkEvent() { \
|
#define DatalinkEvent() { \
|
||||||
XBeeCheckAndParse(XBEE_UART, xbee_tp); \
|
XBeeCheckAndParse(XBEE_UART, xbee_tp); \
|
||||||
DlCheckAndParse(); \
|
DlCheckAndParse(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif DATALINK == W5100
|
#elif defined DATALINK && DATALINK == W5100
|
||||||
#define DatalinkEvent() { \
|
|
||||||
W5100CheckAndParse(W5100, w5100_tp); \
|
#define DatalinkEvent() { \
|
||||||
DlCheckAndParse(); \
|
W5100CheckAndParse(W5100, w5100_tp); \
|
||||||
}
|
DlCheckAndParse(); \
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
#include "sim_uart.h"
|
#include "sim_uart.h"
|
||||||
#include "subsystems/datalink/pprz_transport.h"
|
#include "subsystems/datalink/pprz_transport.h"
|
||||||
#include "subsystems/datalink/xbee.h"
|
#include "subsystems/datalink/xbee.h"
|
||||||
#include "subsystems/datalink/w5100.h"
|
|
||||||
#else /* SIM_UART */
|
#else /* SIM_UART */
|
||||||
/** Software In The Loop simulation uses IVY bus directly as the transport layer */
|
/** Software In The Loop simulation uses IVY bus directly as the transport layer */
|
||||||
#include "ivy_transport.h"
|
#include "ivy_transport.h"
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ extern struct w5100_periph chip0;
|
|||||||
//extern uint8_t ck_a, ck_b;
|
//extern uint8_t ck_a, ck_b;
|
||||||
|
|
||||||
void w5100_init( void );
|
void w5100_init( void );
|
||||||
|
|
||||||
void w5100_transmit( uint8_t data );
|
void w5100_transmit( uint8_t data );
|
||||||
uint16_t w5100_receive( uint8_t *buf, uint16_t len );
|
uint16_t w5100_receive( uint8_t *buf, uint16_t len );
|
||||||
void w5100_send( void );
|
void w5100_send( void );
|
||||||
@@ -87,43 +88,43 @@ bool_t w5100_ch_available( void );
|
|||||||
#define W5100TransportPut1Byte(_dev, x) TransportLink(_dev, Transmit(x))
|
#define W5100TransportPut1Byte(_dev, x) TransportLink(_dev, Transmit(x))
|
||||||
#define W5100TransportSendMessage(_dev) TransportLink(_dev, SendMessage())
|
#define W5100TransportSendMessage(_dev) TransportLink(_dev, SendMessage())
|
||||||
|
|
||||||
#define W5100TransportPutUint8(_dev, _byte) { \
|
#define W5100TransportPutUint8(_dev, _byte) { \
|
||||||
ck_a += _byte; \
|
ck_a += _byte; \
|
||||||
ck_b += ck_a; \
|
ck_b += ck_a; \
|
||||||
W5100TransportPut1Byte(_dev, _byte); \
|
W5100TransportPut1Byte(_dev, _byte); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define W5100TransportPut1ByteByAddr(_dev, _byte) { \
|
#define W5100TransportPut1ByteByAddr(_dev, _byte) { \
|
||||||
uint8_t _x = *(_byte); \
|
uint8_t _x = *(_byte); \
|
||||||
W5100TransportPutUint8(_dev, _x); \
|
W5100TransportPutUint8(_dev, _x); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define W5100TransportPut2Bytes(_dev, _x) { \
|
#define W5100TransportPut2Bytes(_dev, _x) { \
|
||||||
uint16_t x16 = _x; \
|
uint16_t x16 = _x; \
|
||||||
W5100TransportPut1Byte(_dev, x16>>8); \
|
W5100TransportPut1Byte(_dev, x16>>8); \
|
||||||
W5100TransportPut1Byte(_dev, x16 & 0xff); \
|
W5100TransportPut1Byte(_dev, x16 & 0xff); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define W5100TransportPut2ByteByAddr(_dev, _byte) { \
|
#define W5100TransportPut2ByteByAddr(_dev, _byte) { \
|
||||||
W5100TransportPut1ByteByAddr(_dev, _byte); \
|
W5100TransportPut1ByteByAddr(_dev, _byte); \
|
||||||
W5100TransportPut1ByteByAddr(_dev, (const uint8_t*)_byte+1); \
|
W5100TransportPut1ByteByAddr(_dev, (const uint8_t*)_byte+1); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define W5100TransportPut4ByteByAddr(_dev, _byte) { \
|
#define W5100TransportPut4ByteByAddr(_dev, _byte) { \
|
||||||
W5100TransportPut2ByteByAddr(_dev, _byte); \
|
W5100TransportPut2ByteByAddr(_dev, _byte); \
|
||||||
W5100TransportPut2ByteByAddr(_dev, (const uint8_t*)_byte+2); \
|
W5100TransportPut2ByteByAddr(_dev, (const uint8_t*)_byte+2); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __IEEE_BIG_ENDIAN // From machine/ieeefp.h
|
#ifdef __IEEE_BIG_ENDIAN // From machine/ieeefp.h
|
||||||
#define W5100TransportPutDoubleByAddr(_dev, _byte) { \
|
#define W5100TransportPutDoubleByAddr(_dev, _byte) { \
|
||||||
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
|
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
|
||||||
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
|
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define W5100TransportPutDoubleByAddr(_dev, _byte) { \
|
#define W5100TransportPutDoubleByAddr(_dev, _byte) { \
|
||||||
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
|
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte); \
|
||||||
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
|
W5100TransportPut4ByteByAddr(_dev, (const uint8_t*)_byte+4); \
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -249,15 +250,15 @@ static inline void w5100_read_buffer( struct w5100_transport *t ) {
|
|||||||
|
|
||||||
#define W5100Buffer(_dev) TransportLink(_dev,ChAvailable())
|
#define W5100Buffer(_dev) TransportLink(_dev,ChAvailable())
|
||||||
|
|
||||||
#define W5100CheckAndParse(_dev,_trans) { \
|
#define W5100CheckAndParse(_dev,_trans) { \
|
||||||
if (W5100Buffer(_dev)) { \
|
if (W5100Buffer(_dev)) { \
|
||||||
w5100_read_buffer( &(_trans) ); \
|
w5100_read_buffer( &(_trans) ); \
|
||||||
if (_trans.trans.msg_received) { \
|
if (_trans.trans.msg_received) { \
|
||||||
w5100_parse_payload(&(_trans)); \
|
w5100_parse_payload(&(_trans)); \
|
||||||
_trans.trans.msg_received = FALSE; \
|
_trans.trans.msg_received = FALSE; \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif /* W5100_TELEM_H */
|
#endif /* W5100_TELEM_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user