master/fsm_slave.h
branchstable-1.5
changeset 2443 2c3ccdde3919
parent 1831 1875b9fea0ba
child 2498 9cdd7669dc0b
equal deleted inserted replaced
2442:86ebf18a029f 2443:2c3ccdde3919
     1 /******************************************************************************
     1 /******************************************************************************
     2  *
     2  *
     3  *  $Id$
     3  *  $Id$
     4  *
     4  *
     5  *  Copyright (C) 2006-2008  Florian Pose, Ingenieurgemeinschaft IgH
     5  *  Copyright (C) 2006-2012  Florian Pose, Ingenieurgemeinschaft IgH
     6  *
     6  *
     7  *  This file is part of the IgH EtherCAT Master.
     7  *  This file is part of the IgH EtherCAT Master.
     8  *
     8  *
     9  *  The IgH EtherCAT Master is free software; you can redistribute it and/or
     9  *  The IgH EtherCAT Master is free software; you can redistribute it and/or
    10  *  modify it under the terms of the GNU General Public License version 2, as
    10  *  modify it under the terms of the GNU General Public License version 2, as
    27  *
    27  *
    28  *****************************************************************************/
    28  *****************************************************************************/
    29 
    29 
    30 /**
    30 /**
    31    \file
    31    \file
    32    EtherCAT slave request (SDO) state machine.
    32    EtherCAT slave request state machine.
    33 */
    33 */
    34 
    34 
    35 /*****************************************************************************/
    35 /*****************************************************************************/
       
    36 
    36 #ifndef __EC_FSM_SLAVE_H__
    37 #ifndef __EC_FSM_SLAVE_H__
    37 #define __EC_FSM_SLAVE_H__
    38 #define __EC_FSM_SLAVE_H__
    38 
    39 
    39 #include "globals.h"
    40 #include "globals.h"
    40 #include "datagram.h"
    41 #include "datagram.h"
    41 #include "sdo_request.h"
    42 #include "sdo_request.h"
       
    43 #include "reg_request.h"
    42 #include "fsm_coe.h"
    44 #include "fsm_coe.h"
    43 #include "fsm_foe.h"
    45 #include "fsm_foe.h"
    44 #include "fsm_soe.h"
    46 #include "fsm_soe.h"
       
    47 
       
    48 /*****************************************************************************/
    45 
    49 
    46 typedef struct ec_fsm_slave ec_fsm_slave_t; /**< \see ec_fsm_slave */
    50 typedef struct ec_fsm_slave ec_fsm_slave_t; /**< \see ec_fsm_slave */
    47 
    51 
    48 /** Finite state machine of an EtherCAT slave.
    52 /** Finite state machine of an EtherCAT slave.
    49  */
    53  */
    51     ec_slave_t *slave; /**< slave the FSM runs on */
    55     ec_slave_t *slave; /**< slave the FSM runs on */
    52     ec_datagram_t *datagram; /**< datagram used in the state machine */
    56     ec_datagram_t *datagram; /**< datagram used in the state machine */
    53 
    57 
    54     void (*state)(ec_fsm_slave_t *); /**< master state function */
    58     void (*state)(ec_fsm_slave_t *); /**< master state function */
    55     ec_sdo_request_t *sdo_request; /**< SDO request to process. */
    59     ec_sdo_request_t *sdo_request; /**< SDO request to process. */
       
    60     ec_reg_request_t *reg_request; /**< Register request to process. */
    56     ec_foe_request_t *foe_request; /**< FoE request to process. */
    61     ec_foe_request_t *foe_request; /**< FoE request to process. */
    57     off_t foe_index; /**< index to FoE write request data */
    62     off_t foe_index; /**< index to FoE write request data */
    58     ec_soe_request_t *soe_request; /**< SoE request to process. */
    63     ec_soe_request_t *soe_request; /**< SoE request to process. */
    59 
    64 
    60     ec_fsm_coe_t fsm_coe; /**< CoE state machine */
    65     ec_fsm_coe_t fsm_coe; /**< CoE state machine */