SOEM  v1.4.0
Data Structures | Macros | Functions
ethercatfoe.c File Reference

File over EtherCAT (FoE) module. More...

#include <stdio.h>
#include <string.h>
#include "osal.h"
#include "oshw.h"
#include "ethercattype.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatfoe.h"

Data Structures

struct  ec_FOEt
 

Macros

#define EC_MAXFOEDATA   512
 

Functions

PACKED_END int ecx_FOEdefinehook (ecx_contextt *context, void *hook)
 
int ecx_FOEread (ecx_contextt *context, uint16 slave, char *filename, uint32 password, int *psize, void *p, int timeout)
 
int ecx_FOEwrite (ecx_contextt *context, uint16 slave, char *filename, uint32 password, int psize, void *p, int timeout)
 
int ec_FOEdefinehook (void *hook)
 
int ec_FOEread (uint16 slave, char *filename, uint32 password, int *psize, void *p, int timeout)
 
int ec_FOEwrite (uint16 slave, char *filename, uint32 password, int psize, void *p, int timeout)
 

Detailed Description

File over EtherCAT (FoE) module.

SDO read / write and SDO service functions

Macro Definition Documentation

◆ EC_MAXFOEDATA

#define EC_MAXFOEDATA   512

Function Documentation

◆ ec_FOEdefinehook()

int ec_FOEdefinehook ( void *  hook)

◆ ec_FOEread()

int ec_FOEread ( uint16  slave,
char *  filename,
uint32  password,
int *  psize,
void *  p,
int  timeout 
)

◆ ec_FOEwrite()

int ec_FOEwrite ( uint16  slave,
char *  filename,
uint32  password,
int  psize,
void *  p,
int  timeout 
)

◆ ecx_FOEdefinehook()

PACKED_END int ecx_FOEdefinehook ( ecx_contextt *  context,
void *  hook 
)

FoE progress hook.

Parameters
[in]context= context struct
[in]hook= Pointer to hook function.
Returns
1

◆ ecx_FOEread()

int ecx_FOEread ( ecx_contextt *  context,
uint16  slave,
char *  filename,
uint32  password,
int *  psize,
void *  p,
int  timeout 
)

FoE read, blocking.

Parameters
[in]context= context struct
[in]slave= Slave number.
[in]filename= Filename of file to read.
[in]password= password.
[in,out]psize= Size in bytes of file buffer, returns bytes read from file.
[out]p= Pointer to file buffer
[in]timeout= Timeout per mailbox cycle in us, standard is EC_TIMEOUTRXM
Returns
Workcounter from last slave response

◆ ecx_FOEwrite()

int ecx_FOEwrite ( ecx_contextt *  context,
uint16  slave,
char *  filename,
uint32  password,
int  psize,
void *  p,
int  timeout 
)

FoE write, blocking.

Parameters
[in]context= context struct
[in]slave= Slave number.
[in]filename= Filename of file to write.
[in]password= password.
[in]psize= Size in bytes of file buffer.
[out]p= Pointer to file buffer
[in]timeout= Timeout per mailbox cycle in us, standard is EC_TIMEOUTRXM
Returns
Workcounter from last slave response