EtherCAT slave that reads 3 Xsens IMU's connected to a Xbus Master

Dependencies:   MODSERIAL mbed KL25Z_ClockControl

Fork of EtherCAT by First Last

Committer:
vsluiter
Date:
Tue Mar 03 10:58:20 2015 +0000
Revision:
12:cac4e7c2bd0f
Child:
13:5e4dcbd44786
Made first changes to objlist and cpu_init, copied some xbus software

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vsluiter 12:cac4e7c2bd0f 1 #ifndef XBUS_H_
vsluiter 12:cac4e7c2bd0f 2 #define XBUS_H_ 1
vsluiter 12:cac4e7c2bd0f 3
vsluiter 12:cac4e7c2bd0f 4 #define XBUS_BUFFER_LENGTH 255
vsluiter 12:cac4e7c2bd0f 5
vsluiter 12:cac4e7c2bd0f 6 enum XBUS_STATE {XBUS_IDLE = 0, XBUS_BID, XBUS_MID, XBUS_LEN, XBUS_DATA, XBUS_CS};
vsluiter 12:cac4e7c2bd0f 7
vsluiter 12:cac4e7c2bd0f 8 struct xbus_uart
vsluiter 12:cac4e7c2bd0f 9 {
vsluiter 12:cac4e7c2bd0f 10 uint16_t counter;
vsluiter 12:cac4e7c2bd0f 11 uint8_t checksum;
vsluiter 12:cac4e7c2bd0f 12 volatile uint8_t checksum_ok;
vsluiter 12:cac4e7c2bd0f 13 volatile uint8_t message_complete;
vsluiter 12:cac4e7c2bd0f 14 uint8_t quelength;
vsluiter 12:cac4e7c2bd0f 15 uint8_t buffer[XBUS_BUFFER_LENGTH];
vsluiter 12:cac4e7c2bd0f 16 enum XBUS_STATE state;
vsluiter 12:cac4e7c2bd0f 17 };
vsluiter 12:cac4e7c2bd0f 18
vsluiter 12:cac4e7c2bd0f 19 struct xbus_struct
vsluiter 12:cac4e7c2bd0f 20 {
vsluiter 12:cac4e7c2bd0f 21 //USART_t * uart;
vsluiter 12:cac4e7c2bd0f 22 struct xbus_uart rx;
vsluiter 12:cac4e7c2bd0f 23 //volatile struct xbus_uart tx;
vsluiter 12:cac4e7c2bd0f 24 };
vsluiter 12:cac4e7c2bd0f 25
vsluiter 12:cac4e7c2bd0f 26 struct xbus_struct xbus_master;
vsluiter 12:cac4e7c2bd0f 27
vsluiter 12:cac4e7c2bd0f 28 // Create checksum, pointer to array (starting w. 0xFA), length of complete array
vsluiter 12:cac4e7c2bd0f 29 uint8_t XbusCreateChecksum(uint8_t *, uint8_t);
vsluiter 12:cac4e7c2bd0f 30 void XbusSetupReceiver(struct xbus_struct *);
vsluiter 12:cac4e7c2bd0f 31 void XbusReceiveState(struct xbus_struct * xbus, uint8_t rxdata);
vsluiter 12:cac4e7c2bd0f 32 #endif
vsluiter 12:cac4e7c2bd0f 33