ECAT_Slave_in_ПЧ2П_c402  0.8
Реализация EtherCAT Slave для CM TMS320F28388D
Файл ecatfoe.h
#include "esc.h"
#include "mailbox.h"
Граф включаемых заголовочных файлов для ecatfoe.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Структуры данных

struct  MBX_STRUCT_PACKED_START
 CoE Mailbox header. Подробнее...
 
union  MBX_STRUCT_PACKED_START::MBX_STRUCT_PACKED_START
 
struct  MBX_STRUCT_PACKED_START::MBX_STRUCT_PACKED_START::MBX_STRUCT_PACKED_START
 

Макросы

#define ECAT_FOE_OPCODE_RRQ   1
 Read request. Подробнее...
 
#define ECAT_FOE_OPCODE_WRQ   2
 Write request. Подробнее...
 
#define ECAT_FOE_OPCODE_DATA   3
 Data datagram. Подробнее...
 
#define ECAT_FOE_OPCODE_ACK   4
 Acknowledge datagram. Подробнее...
 
#define ECAT_FOE_OPCODE_ERR   5
 Error datagram. Подробнее...
 
#define ECAT_FOE_OPCODE_BUSY   6
 Busy datagram. Подробнее...
 
#define FOE_READY   0
 Ready state. Подробнее...
 
#define FOE_WAIT_FOR_ACK   1
 Wait for acknowledgement state. Подробнее...
 
#define FOE_WAIT_FOR_DATA   2
 Wait for data state. Подробнее...
 
#define FOE_WAIT_FOR_RESET   3
 Wait for reset state. Подробнее...
 
#define FOE_WAIT_FOR_LAST_ACK   4
 Wait for last acknowledgement state. Подробнее...
 
#define FOE_PROGRAMMING   5
 Programming state. Подробнее...
 
#define FOE_WAIT_FOR_LAST_DATA   6
 Wait for last data state. Подробнее...
 
#define FOE_COMMAND_LOWWORD   0
 
#define FOE_COMMAND_HIGHWORD   1
 
#define FOE_HEADER_SIZE   SIZEOF(TFOEHEADER)
 FoE header size. Подробнее...
 
#define FOE_ERROR   0x8000
 Error result. Подробнее...
 
#define FOE_FINISHED   ((FOE_ERROR)-1)
 Datagram finished. Подробнее...
 
#define FOE_FINISHED_NOACK   ((FOE_FINISHED)-1)
 Datagram finished no acknowledgement. Подробнее...
 
#define FOE_ACK   ((FOE_FINISHED_NOACK)-1)
 Acknowledgement. Подробнее...
 
#define FOE_ACKFINISHED   ((FOE_ACK)-1)
 Acknowledgement finished. Подробнее...
 
#define FOE_WAIT   ((FOE_ACKFINISHED)-1)
 Wait. Подробнее...
 
#define FOE_MAXBUSY   ((FOE_WAIT)-1)
 Max busy indication. Подробнее...
 
#define FOE_MAXBUSY_ZERO   ((FOE_MAXBUSY)-100)
 Min busy indication. Подробнее...
 
#define FOE_MAXDATA   ((FOE_MAXBUSY_ZERO)-1)
 Maximum data within one FoE Datagram. Подробнее...
 
#define PROTO   extern
 

Определения типов

typedef struct MBX_STRUCT_PACKED_START TFOEHEADER
 FoE header. Подробнее...
 
typedef struct MBX_STRUCT_PACKED_START TFOEMBX
 Complete FoE datagram. Подробнее...
 

Функции

void FOE_Init (void)
 This function initialize the FoE Interface. Подробнее...
 
UINT8 FOE_ServiceInd (TFOEMBX MBXMEM *pFoeInd)
 This function is called when a FoE (File Access over EtherCAT) service is received from the master. Подробнее...
 
void FOE_ContinueInd (TMBX MBXMEM *pMbx)
 This function is called when the next mailbox fragment can be sent. Подробнее...
 

Переменные

PROTO UINT32 u32PacketNo
 Stores the actual packet number to be expected. Подробнее...
 
PROTO UINT32 u32FileOffset
 Stores the next file offset to be sent. Подробнее...
 
PROTO UINT32 u32LastFileOffset
 Stores the actual sent file offset. Подробнее...
 
PROTO UINT16 u16FileAccessState
 Stores the actual state of the file transmission sequence. Подробнее...
 
PROTO TMBX MBXMEMpFoeSendStored
 
PROTO UINT16 u16FoeMaxSendBlockSize
 indicates the maximum size of an FoE fragment (from the slave to the master) Подробнее...
 

Подробное описание

Автор
Ether.nosp@m.catS.nosp@m.SC@be.nosp@m.ckho.nosp@m.ff.co.nosp@m.m
Версия
5.12


Changes to version V5.11:
V5.12 FOE2: handle 16bit only access

Changes to version V5.10:
V5.11 FOE1: handle busy on a read request, change OPMode to OPCode (same terms as in the spec)

Changes to version V5.01:
V5.10 FOE1: Add new FoE error codes (0x800C,0x800D,0x800F)
V5.10 FOE2: Update file handling to support File sizes greater than 0x8000 Bytes (change value of "FOE_MAXDATA")

Changes to version - :
V5.01 : Start file change log

См. определение в файле ecatfoe.h

Макросы

◆ FOE_COMMAND_HIGHWORD

#define FOE_COMMAND_HIGHWORD   1

См. определение в файле ecatfoe.h строка 93

◆ FOE_COMMAND_LOWWORD

#define FOE_COMMAND_LOWWORD   0

См. определение в файле ecatfoe.h строка 92