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

Dependencies:   KL25Z_ClockControl MODSERIAL mbed

Fork of EtherCAT-XbusMaster by First Last

xbus.h

Committer:
vsluiter
Date:
2015-03-03
Revision:
12:cac4e7c2bd0f
Child:
13:5e4dcbd44786

File content as of revision 12:cac4e7c2bd0f:

#ifndef XBUS_H_
#define XBUS_H_ 1

#define XBUS_BUFFER_LENGTH 255

enum XBUS_STATE {XBUS_IDLE = 0, XBUS_BID, XBUS_MID, XBUS_LEN, XBUS_DATA, XBUS_CS};

struct xbus_uart
{
    uint16_t    counter;
    uint8_t     checksum;
    volatile uint8_t   checksum_ok;
    volatile uint8_t   message_complete;
    uint8_t     quelength;
    uint8_t     buffer[XBUS_BUFFER_LENGTH];
    enum XBUS_STATE state;
};

struct xbus_struct
{
    //USART_t * uart;
	struct xbus_uart rx;
    //volatile struct xbus_uart tx;
};

struct xbus_struct xbus_master;

// Create checksum, pointer to array (starting w. 0xFA), length of complete array
uint8_t XbusCreateChecksum(uint8_t *, uint8_t);
void XbusSetupReceiver(struct xbus_struct *);
void XbusReceiveState(struct xbus_struct * xbus, uint8_t rxdata);
#endif