EtherCAT slave that reads 3 Xsens IMU's connected to a Xbus Master
Dependencies: MODSERIAL mbed KL25Z_ClockControl
Fork of EtherCAT by
xbus.h@13:5e4dcbd44786, 2015-03-03 (annotated)
- Committer:
- vsluiter
- Date:
- Tue Mar 03 12:14:22 2015 +0000
- Revision:
- 13:5e4dcbd44786
- Parent:
- 12:cac4e7c2bd0f
- Child:
- 16:bfc7ea6bd1af
Changed xbus to cpp in order to interface with MODSERIAL object, added initialization code for xbusmaster;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsluiter | 12:cac4e7c2bd0f | 1 | #ifndef XBUS_H_ |
vsluiter | 12:cac4e7c2bd0f | 2 | #define XBUS_H_ 1 |
vsluiter | 12:cac4e7c2bd0f | 3 | |
vsluiter | 13:5e4dcbd44786 | 4 | #include "MODSERIAL.h" |
vsluiter | 13:5e4dcbd44786 | 5 | //#define XBUS_BUFFER_LENGTH 255 |
vsluiter | 12:cac4e7c2bd0f | 6 | |
vsluiter | 12:cac4e7c2bd0f | 7 | enum XBUS_STATE {XBUS_IDLE = 0, XBUS_BID, XBUS_MID, XBUS_LEN, XBUS_DATA, XBUS_CS}; |
vsluiter | 12:cac4e7c2bd0f | 8 | |
vsluiter | 12:cac4e7c2bd0f | 9 | struct xbus_uart |
vsluiter | 12:cac4e7c2bd0f | 10 | { |
vsluiter | 12:cac4e7c2bd0f | 11 | uint16_t counter; |
vsluiter | 12:cac4e7c2bd0f | 12 | uint8_t checksum; |
vsluiter | 12:cac4e7c2bd0f | 13 | volatile uint8_t checksum_ok; |
vsluiter | 12:cac4e7c2bd0f | 14 | volatile uint8_t message_complete; |
vsluiter | 13:5e4dcbd44786 | 15 | //uint8_t quelength; |
vsluiter | 13:5e4dcbd44786 | 16 | //uint8_t buffer[XBUS_BUFFER_LENGTH]; |
vsluiter | 12:cac4e7c2bd0f | 17 | enum XBUS_STATE state; |
vsluiter | 12:cac4e7c2bd0f | 18 | }; |
vsluiter | 12:cac4e7c2bd0f | 19 | |
vsluiter | 13:5e4dcbd44786 | 20 | extern MODSERIAL xbus; |
vsluiter | 13:5e4dcbd44786 | 21 | |
vsluiter | 12:cac4e7c2bd0f | 22 | struct xbus_struct |
vsluiter | 12:cac4e7c2bd0f | 23 | { |
vsluiter | 12:cac4e7c2bd0f | 24 | //USART_t * uart; |
vsluiter | 12:cac4e7c2bd0f | 25 | struct xbus_uart rx; |
vsluiter | 12:cac4e7c2bd0f | 26 | //volatile struct xbus_uart tx; |
vsluiter | 12:cac4e7c2bd0f | 27 | }; |
vsluiter | 12:cac4e7c2bd0f | 28 | |
vsluiter | 12:cac4e7c2bd0f | 29 | struct xbus_struct xbus_master; |
vsluiter | 12:cac4e7c2bd0f | 30 | |
vsluiter | 12:cac4e7c2bd0f | 31 | // Create checksum, pointer to array (starting w. 0xFA), length of complete array |
vsluiter | 12:cac4e7c2bd0f | 32 | uint8_t XbusCreateChecksum(uint8_t *, uint8_t); |
vsluiter | 12:cac4e7c2bd0f | 33 | void XbusSetupReceiver(struct xbus_struct *); |
vsluiter | 12:cac4e7c2bd0f | 34 | void XbusReceiveState(struct xbus_struct * xbus, uint8_t rxdata); |
vsluiter | 13:5e4dcbd44786 | 35 | void XbusInitializeXbusMaster(void); |
vsluiter | 12:cac4e7c2bd0f | 36 | #endif |
vsluiter | 12:cac4e7c2bd0f | 37 |