libethercat - an embeddable realtime EtherCAT-master library
Communicate with EtherCAT slaves attached to a Network interface.
Loading...
Searching...
No Matches
foe.h File Reference

file over ethercat fuctions More...

#include <libosal/types.h>
#include "libethercat/common.h"

Go to the source code of this file.

Data Structures

struct  ec_foe
 
struct  ec_fw_update
 firmware update More...
 

Macros

#define MAX_FILE_NAME_SIZE   512u
 file name max size
 
#define MAX_ERROR_TEXT_SIZE   512u
 error text max size
 
#define EC_FOE_OP_CODE_READ_REQUEST   0x01u
 read request
 
#define EC_FOE_OP_CODE_WRITE_REQUEST   0x02u
 write request
 
#define EC_FOE_OP_CODE_DATA_REQUEST   0x03u
 data request
 
#define EC_FOE_OP_CODE_ACK_REQUEST   0x04u
 acknowledge request
 
#define EC_FOE_OP_CODE_ERROR_REQUEST   0x05u
 error request
 
#define EC_FOE_OP_CODE_BUSY_REQUEST   0x06u
 busy request
 
#define EC_FOE_ERROR_NOT_DEFINED   0x8000u
 not defined
 
#define EC_FOE_ERROR_NOT_FOUND   0x8001u
 not found
 
#define EC_FOE_ERROR_ACCESS_DENIED   0x8002u
 access denied
 
#define EC_FOE_ERROR_DISK_FULL   0x8003u
 disk full
 
#define EC_FOE_ERROR_ILLEGAL   0x8004u
 illegal
 
#define EC_FOE_ERROR_PACKET_NUMBER_WRONG   0x8005u
 packed number wrong
 
#define EC_FOE_ERROR_ALREADY_EXISTS   0x8006u
 already exist
 
#define EC_FOE_ERROR_NO_USER   0x8007u
 no user
 
#define EC_FOE_ERROR_BOOTSTRAP_ONLY   0x8008u
 bootstrap access only
 
#define EC_FOE_ERROR_NOT_BOOTSTRAP   0x8009u
 not in bootstrap
 
#define EC_FOE_ERROR_NO_RIGHTS   0x800Au
 no access rights
 
#define EC_FOE_ERROR_PROGRAM_ERROR   0x800Bu
 program error
 
#define EFW_CMD_IGNORE   0u
 command ignore
 
#define EFW_CMD_MEMORY_TRANSFER   1u
 command memory transfer
 
#define EFW_CMD_WRCODE   2u
 command wrcode
 
#define EFW_CMD_CHK_DEVID   3u
 command check device id
 
#define EFW_CMD_CHK_DEVICEID   3u
 command check device id
 
#define EFW_CMD_CHKSUM   4u
 command checksum
 
#define EFW_CMD_WRCODECHKSUM   5u
 command wr code checksum
 
#define EFW_CMD_SET_DEVID   6u
 command set device id
 
#define EFW_CMD_CHKSUMCHKSUM   6u
 command checksum checksum
 
#define EFW_CMD_BOOTCHKSUM   7u
 command boot checksum
 
#define EFW_CMD_SET_EEPROM   10u
 command set eeprom
 

Typedefs

typedef struct ec_foe ec_foe_t
 
typedef struct ec_fw_update ec_fw_update_t
 firmware update
 

Functions

void ec_foe_init (ec_t *pec, osal_uint16_t slave)
 initialize FoE structure
 
void ec_foe_deinit (ec_t *pec, osal_uint16_t slave)
 deinitialize FoE structure
 
void ec_foe_enqueue (ec_t *pec, osal_uint16_t slave, pool_entry_t *p_entry)
 Enqueue FoE message received from slave.
 
int ec_foe_read (ec_t *pec, osal_uint16_t slave, osal_uint32_t password, osal_char_t file_name[MAX_FILE_NAME_SIZE], osal_uint8_t **file_data, osal_size_t *file_data_len, const osal_char_t **error_message)
 Read file over FoE.
 
int ec_foe_write (ec_t *pec, osal_uint16_t slave, osal_uint32_t password, osal_char_t file_name[MAX_FILE_NAME_SIZE], osal_uint8_t *file_data, osal_size_t file_data_len, const osal_char_t **error_message)
 Write file over FoE.
 

Detailed Description

file over ethercat fuctions

Author
Robert Burger rober.nosp@m.t.bu.nosp@m.rger@.nosp@m.dlr..nosp@m.de
Date
24 Nov 2016

These functions are used to gain access to the File-over-EtherCAT mailbox protocol.