master/fsm.c
changeset 339 a3a4ee854bd8
parent 338 469369417422
child 343 b3858d25ba4b
equal deleted inserted replaced
338:469369417422 339:a3a4ee854bd8
    93 void ec_fsm_change_check_ack(ec_fsm_t *);
    93 void ec_fsm_change_check_ack(ec_fsm_t *);
    94 
    94 
    95 void ec_fsm_coe_down_start(ec_fsm_t *);
    95 void ec_fsm_coe_down_start(ec_fsm_t *);
    96 void ec_fsm_coe_down_request(ec_fsm_t *);
    96 void ec_fsm_coe_down_request(ec_fsm_t *);
    97 void ec_fsm_coe_down_check(ec_fsm_t *);
    97 void ec_fsm_coe_down_check(ec_fsm_t *);
    98 void ec_fsm_coe_down_fetch(ec_fsm_t *);
    98 void ec_fsm_coe_down_response(ec_fsm_t *);
    99 
    99 
   100 void ec_fsm_end(ec_fsm_t *);
   100 void ec_fsm_end(ec_fsm_t *);
   101 void ec_fsm_error(ec_fsm_t *);
   101 void ec_fsm_error(ec_fsm_t *);
   102 
   102 
   103 void ec_canopen_abort_msg(uint32_t);
   103 void ec_canopen_abort_msg(uint32_t);
  2095     }
  2095     }
  2096 
  2096 
  2097     // Fetch response
  2097     // Fetch response
  2098     ec_slave_mbox_prepare_fetch(slave, datagram); // can not fail.
  2098     ec_slave_mbox_prepare_fetch(slave, datagram); // can not fail.
  2099     ec_master_queue_datagram(fsm->master, datagram);
  2099     ec_master_queue_datagram(fsm->master, datagram);
  2100     fsm->coe_state = ec_fsm_coe_down_fetch;
  2100     fsm->coe_state = ec_fsm_coe_down_response;
  2101 }
  2101 }
  2102 
  2102 
  2103 /*****************************************************************************/
  2103 /*****************************************************************************/
  2104 
  2104 
  2105 /**
  2105 /**
  2106    CoE state: DOWN_FETCH.
  2106    CoE state: DOWN_RESPONSE.
  2107 */
  2107 */
  2108 
  2108 
  2109 void ec_fsm_coe_down_fetch(ec_fsm_t *fsm /**< finite state machine */)
  2109 void ec_fsm_coe_down_response(ec_fsm_t *fsm /**< finite state machine */)
  2110 {
  2110 {
  2111     ec_datagram_t *datagram = &fsm->datagram;
  2111     ec_datagram_t *datagram = &fsm->datagram;
  2112     ec_slave_t *slave = fsm->slave;
  2112     ec_slave_t *slave = fsm->slave;
  2113     uint8_t *data;
  2113     uint8_t *data;
  2114     size_t rec_size;
  2114     size_t rec_size;