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 15:01:29 2015 +0000
Revision:
16:bfc7ea6bd1af
Parent:
13:5e4dcbd44786
Child:
17:c5946a0fde83
Fixed compilation errors, now compiling correctly;

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 13:5e4dcbd44786 4 #include "MODSERIAL.h"
vsluiter 16:bfc7ea6bd1af 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 16:bfc7ea6bd1af 15 uint8_t quelength;
vsluiter 16:bfc7ea6bd1af 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 16:bfc7ea6bd1af 29
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