master/fsm.c
changeset 425 d36808888817
parent 423 862ff892cf18
child 426 0d3022ee35a2
equal deleted inserted replaced
424:b792665b2dba 425:d36808888817
  2263     ec_slave_t *slave = fsm->slave;
  2263     ec_slave_t *slave = fsm->slave;
  2264 
  2264 
  2265     if (datagram->state != EC_DATAGRAM_RECEIVED
  2265     if (datagram->state != EC_DATAGRAM_RECEIVED
  2266         || datagram->working_counter != 1) {
  2266         || datagram->working_counter != 1) {
  2267         fsm->coe_state = ec_fsm_error;
  2267         fsm->coe_state = ec_fsm_error;
  2268         EC_ERR("Reception of CoE dictionary request failed.\n");
  2268         EC_ERR("Reception of CoE dictionary request failed on slave %i.\n",
       
  2269                slave->ring_position);
  2269         return;
  2270         return;
  2270     }
  2271     }
  2271 
  2272 
  2272     fsm->coe_start = datagram->cycles_sent;
  2273     fsm->coe_start = datagram->cycles_sent;
  2273 
  2274 
  2288     ec_slave_t *slave = fsm->slave;
  2289     ec_slave_t *slave = fsm->slave;
  2289 
  2290 
  2290     if (datagram->state != EC_DATAGRAM_RECEIVED
  2291     if (datagram->state != EC_DATAGRAM_RECEIVED
  2291         || datagram->working_counter != 1) {
  2292         || datagram->working_counter != 1) {
  2292         fsm->coe_state = ec_fsm_error;
  2293         fsm->coe_state = ec_fsm_error;
  2293         EC_ERR("Reception of CoE mailbox check datagram failed.\n");
  2294         EC_ERR("Reception of CoE mailbox check datagram failed on slave %i.\n",
       
  2295                slave->ring_position);
  2294         return;
  2296         return;
  2295     }
  2297     }
  2296 
  2298 
  2297     if (!ec_slave_mbox_check(datagram)) {
  2299     if (!ec_slave_mbox_check(datagram)) {
  2298         if (datagram->cycles_received
  2300         if (datagram->cycles_received
  2331     ec_sdo_t *sdo;
  2333     ec_sdo_t *sdo;
  2332 
  2334 
  2333     if (datagram->state != EC_DATAGRAM_RECEIVED
  2335     if (datagram->state != EC_DATAGRAM_RECEIVED
  2334         || datagram->working_counter != 1) {
  2336         || datagram->working_counter != 1) {
  2335         fsm->coe_state = ec_fsm_error;
  2337         fsm->coe_state = ec_fsm_error;
  2336         EC_ERR("Reception of CoE dictionary response failed.\n");
  2338         EC_ERR("Reception of CoE dictionary response failed on slave %i.\n",
       
  2339                slave->ring_position);
  2337         return;
  2340         return;
  2338     }
  2341     }
  2339 
  2342 
  2340     if (!(data = ec_slave_mbox_fetch(slave, datagram,
  2343     if (!(data = ec_slave_mbox_fetch(slave, datagram,
  2341 				     &mbox_prot, &rec_size))) {
  2344 				     &mbox_prot, &rec_size))) {
  2452     if (datagram->state != EC_DATAGRAM_RECEIVED
  2455     if (datagram->state != EC_DATAGRAM_RECEIVED
  2453         || datagram->working_counter != 1) {
  2456         || datagram->working_counter != 1) {
  2454         fsm->coe_state = ec_fsm_error;
  2457         fsm->coe_state = ec_fsm_error;
  2455         EC_ERR("Reception of CoE SDO description"
  2458         EC_ERR("Reception of CoE SDO description"
  2456                " request failed on slave %i.\n", slave->ring_position);
  2459                " request failed on slave %i.\n", slave->ring_position);
  2457 
       
  2458         return;
  2460         return;
  2459     }
  2461     }
  2460 
  2462 
  2461     fsm->coe_start = datagram->cycles_sent;
  2463     fsm->coe_start = datagram->cycles_sent;
  2462 
  2464 
  2479     if (datagram->state != EC_DATAGRAM_RECEIVED
  2481     if (datagram->state != EC_DATAGRAM_RECEIVED
  2480         || datagram->working_counter != 1) {
  2482         || datagram->working_counter != 1) {
  2481         fsm->coe_state = ec_fsm_error;
  2483         fsm->coe_state = ec_fsm_error;
  2482         EC_ERR("Reception of CoE mailbox check datagram failed on slave %i.\n",
  2484         EC_ERR("Reception of CoE mailbox check datagram failed on slave %i.\n",
  2483                slave->ring_position);
  2485                slave->ring_position);
  2484 
       
  2485         return;
  2486         return;
  2486     }
  2487     }
  2487 
  2488 
  2488     if (!ec_slave_mbox_check(datagram)) {
  2489     if (!ec_slave_mbox_check(datagram)) {
  2489         if (datagram->cycles_received
  2490         if (datagram->cycles_received