38 #ifndef __EC_FSM_FOE_H__ 39 #define __EC_FSM_FOE_H__ 42 #include "../include/ecrt.h" uint8_t * tx_filename
Name of file to transmit.
ec_slave_t * slave
Slave the FSM runs on.
uint8_t * rx_buffer
Buffer for received data.
void ec_fsm_foe_clear(ec_fsm_foe_t *)
Destructor.
uint32_t tx_packet_no
FoE packet number.
unsigned long jiffies_start
FoE timestamp.
EtherCAT slave structure.
uint8_t * tx_buffer
Buffer with data to transmit.
uint32_t tx_buffer_offset
Offset of data to tranmit next.
uint32_t tx_filename_len
Lenth of transmit file name.
uint32_t rx_filename_len
Length of the receive file name.
int ec_fsm_foe_exec(ec_fsm_foe_t *, ec_datagram_t *)
Executes the current state of the state machine.
Global definitions and macros.
uint32_t tx_last_packet
Current packet is last one to send.
uint32_t rx_expected_packet_no
Expected receive packet number.
uint32_t rx_buffer_size
Size of receive buffer.
void ec_fsm_foe_transfer(ec_fsm_foe_t *, ec_slave_t *, ec_foe_request_t *)
Prepares an FoE transfer.
EtherCAT FoE request structure.
EtherCAT datagram structure.
uint32_t tx_buffer_size
Size of data to transmit.
uint32_t rx_last_packet
Current packet is the last to receive.
uint8_t toggle
Toggle bit for segment commands.
uint8_t subindex
Current subindex.
unsigned int retries
Retries upon datagram timeout.
int ec_fsm_foe_success(const ec_fsm_foe_t *)
Returns, if the state machine terminated with success.
ec_datagram_t * datagram
Datagram used in previous step.
void ec_fsm_foe_init(ec_fsm_foe_t *)
Constructor.
ec_foe_request_t * request
FoE request.
void(* state)(ec_fsm_foe_t *, ec_datagram_t *)
FoE state function.
uint8_t * rx_filename
Name of the file to receive.
uint32_t tx_current_size
Size of current packet to send.
Finite state machines for the CANopen-over-EtherCAT protocol.
uint32_t rx_buffer_offset
Offset in receive buffer.