SOES implementation i.c.w. ET1100 (Beckhoff ASIC)

Dependencies:   KL25Z_ClockControl MODSERIAL mbed

Fork of EtherCAT-XbusMaster by First Last

Committer:
vsluiter
Date:
Mon Mar 09 15:58:00 2015 +0000
Revision:
27:93c0e4ae943e
Parent:
26:c7959f1fd09a
Set to communicate at 230400. Somehow messes up timing, as messages aren't interpretted correctly anymore. Issue with serial transceiver, or interrupt handling?

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
vsluiter 18:6629e8c5d59e 21 typedef struct xbus_struct
vsluiter 12:cac4e7c2bd0f 22 {
vsluiter 12:cac4e7c2bd0f 23 //USART_t * uart;
vsluiter 12:cac4e7c2bd0f 24 struct xbus_uart rx;
vsluiter 12:cac4e7c2bd0f 25 //volatile struct xbus_uart tx;
vsluiter 18:6629e8c5d59e 26 } xbus_t;
vsluiter 12:cac4e7c2bd0f 27
vsluiter 16:bfc7ea6bd1af 28
vsluiter 12:cac4e7c2bd0f 29
vsluiter 12:cac4e7c2bd0f 30 // Create checksum, pointer to array (starting w. 0xFA), length of complete array
vsluiter 12:cac4e7c2bd0f 31 uint8_t XbusCreateChecksum(uint8_t *, uint8_t);
vsluiter 18:6629e8c5d59e 32 void XbusSetupReceiver(xbus_t * xbus);
vsluiter 18:6629e8c5d59e 33 void XbusReceiveState(xbus_t * xbus, uint8_t rxdata);
vsluiter 13:5e4dcbd44786 34 void XbusInitializeXbusMaster(void);
vsluiter 17:c5946a0fde83 35 void XbusCreateMessage(uint8_t bid, uint8_t mid, uint8_t message_size, uint8_t *message, uint8_t *buffer );
vsluiter 26:c7959f1fd09a 36 void XbusSetBaudRate(uint8_t baud);
vsluiter 26:c7959f1fd09a 37 void XbusReset(void);
vsluiter 27:93c0e4ae943e 38 void XbusGoToConfig(void);
vsluiter 12:cac4e7c2bd0f 39 #endif
vsluiter 12:cac4e7c2bd0f 40