master/master.h
changeset 145 11a82e4fd31b
parent 144 fdc24bf62f80
child 151 1961b674466c
equal deleted inserted replaced
144:fdc24bf62f80 145:11a82e4fd31b
    27 {
    27 {
    28     unsigned int timeouts; /**< Kommando-Timeouts */
    28     unsigned int timeouts; /**< Kommando-Timeouts */
    29     unsigned int delayed; /**< Verzögerte Kommandos */
    29     unsigned int delayed; /**< Verzögerte Kommandos */
    30     unsigned int corrupted; /**< Verfälschte Rahmen */
    30     unsigned int corrupted; /**< Verfälschte Rahmen */
    31     unsigned int unmatched; /**< Unpassende Kommandos */
    31     unsigned int unmatched; /**< Unpassende Kommandos */
       
    32     unsigned int eoe_errors; /**< Ethernet-over-EtherCAT Fehler */
    32     cycles_t t_last; /**< Timestamp-Counter bei der letzten Ausgabe */
    33     cycles_t t_last; /**< Timestamp-Counter bei der letzten Ausgabe */
    33 }
    34 }
    34 ec_stats_t;
    35 ec_stats_t;
    35 
    36 
    36 /*****************************************************************************/
    37 /*****************************************************************************/
    55     unsigned int slaves_responding; /**< Anzahl antwortender Slaves */
    56     unsigned int slaves_responding; /**< Anzahl antwortender Slaves */
    56     ec_slave_state_t slave_states; /**< Zustände der antwortenden Slaves */
    57     ec_slave_state_t slave_states; /**< Zustände der antwortenden Slaves */
    57     int debug_level; /**< Debug-Level im Master-Code */
    58     int debug_level; /**< Debug-Level im Master-Code */
    58     ec_stats_t stats; /**< Rahmen-Statistiken */
    59     ec_stats_t stats; /**< Rahmen-Statistiken */
    59     unsigned int timeout; /**< Timeout für synchronen Datenaustausch */
    60     unsigned int timeout; /**< Timeout für synchronen Datenaustausch */
       
    61     struct list_head eoe_slaves; /**< Ethernet over EtherCAT Slaves */
    60 };
    62 };
    61 
    63 
    62 /*****************************************************************************/
    64 /*****************************************************************************/
    63 
    65 
    64 // Master creation and deletion
    66 // Master creation and deletion
    67 void ec_master_reset(ec_master_t *);
    69 void ec_master_reset(ec_master_t *);
    68 
    70 
    69 // IO
    71 // IO
    70 void ec_master_receive(ec_master_t *, const uint8_t *, size_t);
    72 void ec_master_receive(ec_master_t *, const uint8_t *, size_t);
    71 void ec_master_queue_command(ec_master_t *, ec_command_t *);
    73 void ec_master_queue_command(ec_master_t *, ec_command_t *);
    72 int ec_master_simple_io(ec_master_t *);
    74 int ec_master_simple_io(ec_master_t *, ec_command_t *);
    73 
    75 
    74 // Registration of devices
    76 // Registration of devices
    75 int ec_master_open(ec_master_t *);
    77 int ec_master_open(ec_master_t *);
    76 void ec_master_close(ec_master_t *);
    78 void ec_master_close(ec_master_t *);
    77 
    79 
    80 
    82 
    81 // Misc
    83 // Misc
    82 void ec_master_debug(const ec_master_t *);
    84 void ec_master_debug(const ec_master_t *);
    83 void ec_master_output_stats(ec_master_t *);
    85 void ec_master_output_stats(ec_master_t *);
    84 
    86 
       
    87 void ec_master_run_eoe(ec_master_t *);
       
    88 
    85 /*****************************************************************************/
    89 /*****************************************************************************/
    86 
    90 
    87 #endif
    91 #endif
    88 
    92 
    89 /* Emacs-Konfiguration
    93 /* Emacs-Konfiguration