SOES v1.0.0
|
File over EtherCAT (FoE) module. More...
Defines | |
#define | DPRINT(...) |
#define | DEBUG_ASSERT(expression) |
Functions | |
int | FOE_fopen (char *name, uint8 num_chars, uint32 pass, uint8 op) |
uint16 | FOE_fwrite (uint8 *data, uint16 length) |
uint32_t | FOE_fclose (void) |
void | FOE_init () |
void | FOE_abort (uint32 code) |
int | FOE_send_ack () |
void | FOE_read () |
void | FOE_write () |
void | FOE_data () |
void | FOE_error () |
void | FOE_config (foe_cfg_t *cfg, foe_writefile_cfg_t *cfg_files) |
void | ESC_foeprocess (void) |
Variables | |
char | foe_file_name [FOE_FN_MAX+1] |
static foe_cfg_t * | foe_cfg |
static foe_writefile_cfg_t * | foe_files |
static foe_writefile_cfg_t * | foe_file |
static _FOEvar | FOEvar |
File over EtherCAT (FoE) module.
FOE read / write and FOE service functions
#define DEBUG_ASSERT | ( | expression | ) |
#define DPRINT | ( | ... | ) |
void ESC_foeprocess | ( | void | ) |
Main FoE function checking the status on current mailbox buffers carrying data, distributing the mailboxes to appropriate FOE functions depending on requested opcode. On Error an FoE Error or FoE Abort will be sent.
void FOE_abort | ( | uint32 | code | ) |
Function for sending an FOE abort frame.
[in] | code | = abort code |
void FOE_config | ( | foe_cfg_t * | cfg, |
foe_writefile_cfg_t * | cfg_files | ||
) |
Function copying the application configuration variable to the FoE module local pointer variable.
[in] | cfg | = Pointer to by the Application static declared configuration variable holding application specific details. |
[in] | cfg_files | = Pointer to by the Application static declared configuration variable holding file specific details for files to be handled by FoE |
void FOE_data | ( | ) |
FoE data request handler. Validates and reads data until we're finsihed. Every read frame follwed by an Ack frame. On error we will send FOE Abort.
void FOE_error | ( | ) |
FoE error requesthandler. Send an FOE Abort.
uint32_t FOE_fclose | ( | void | ) |
Function handling the final FOE_fwrite when we close up regardless if we have filled the buffers or not.
int FOE_fopen | ( | char * | name, |
uint8 | num_chars, | ||
uint32 | pass, | ||
uint8 | op | ||
) |
Validate a write or read request by checking filename and password.
[in] | name | = Filename |
[in] | num_chars | = Length of filename |
[in] | pass | = Numeric variable of password |
[in] | op | = Request op-code |
uint16 FOE_fwrite | ( | uint8 * | data, |
uint16 | length | ||
) |
Function reading mailbox buffer to local buffer to be handled by application write hook. Ex. flash routine used by software update. It will consume the buffer and call the write hook every time the configured flush buffer limit is reached.
[in] | data | = Pointer to buffer |
[in] | length | = Length of data to read |
void FOE_init | ( | void | ) |
Initialize by clearing all current status variables.
void FOE_read | ( | ) |
int FOE_send_ack | ( | ) |
Sends an FoE ack data frame.
void FOE_write | ( | ) |
FoE write request handler. Starts with Initialize, Open and Ack that we can/will receive data. On error we will send FOE Abort.
Main FoE configuration pointer data array. Structure i allocated and filled by the application defining what preferences it require.
foe_writefile_cfg_t* foe_file [static] |
Pointer to current file configuration item used by FoE.
char foe_file_name[FOE_FN_MAX+1] |
Variable holding current filename read at FOE Open.
foe_writefile_cfg_t* foe_files [static] |
Collection of files possible to receive by FoE. Structure i allocated and filled by the application defining what preferences it require.