master/master.c
changeset 82 30d0708229b9
parent 81 28b1defdcc88
child 84 b4ae98855cea
equal deleted inserted replaced
81:28b1defdcc88 82:30d0708229b9
   333         slave_idx = 0;
   333         slave_idx = 0;
   334         for (i = 0; i < master->slave_count; i++, slave_idx++) {
   334         for (i = 0; i < master->slave_count; i++, slave_idx++) {
   335             slave = master->slaves + i;
   335             slave = master->slaves + i;
   336             if (!slave->type) continue;
   336             if (!slave->type) continue;
   337 
   337 
   338             if (strcmp(slave->type->vendor_name, "Beckhoff") == 0 &&
   338             if (slave->type->bus_coupler) {
   339                 strcmp(slave->type->product_name, "EK1100") == 0) {
       
   340                 coupler_idx++;
   339                 coupler_idx++;
   341                 slave_idx = 0;
   340                 slave_idx = 0;
   342             }
   341             }
   343 
   342 
   344             if (coupler_idx == first && slave_idx == second) return slave;
   343             if (coupler_idx == first && slave_idx == second) return slave;
   541         if (unlikely(ec_slave_state_change(slave, EC_SLAVE_STATE_PREOP)))
   540         if (unlikely(ec_slave_state_change(slave, EC_SLAVE_STATE_PREOP)))
   542             return -1;
   541             return -1;
   543 
   542 
   544         // Slaves that are not registered are only brought into PREOP
   543         // Slaves that are not registered are only brought into PREOP
   545         // state -> nice blinking and mailbox comm. possible
   544         // state -> nice blinking and mailbox comm. possible
   546         if (!slave->registered) {
   545         if (!slave->registered && !slave->type->bus_coupler) {
   547             printk(KERN_WARNING "EtherCAT: Slave %i was not registered!\n",
   546             printk(KERN_WARNING "EtherCAT: Slave %i was not registered!\n",
   548                    slave->ring_position);
   547                    slave->ring_position);
   549             continue;
   548             continue;
   550         }
   549         }
   551 
   550