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

Dependencies:   KL25Z_ClockControl MODSERIAL mbed

Fork of EtherCAT-XbusMaster by First Last

Committer:
vsluiter
Date:
Fri Sep 11 15:33:31 2015 +0000
Revision:
42:ef78d11f2bd7
Parent:
27:93c0e4ae943e
Also implemented samplecounter

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