equal
deleted
inserted
replaced
851 eoe->slave = slave; |
851 eoe->slave = slave; |
852 found = 1; |
852 found = 1; |
853 coupled++; |
853 coupled++; |
854 EC_INFO("Coupling device %s to slave %i.\n", |
854 EC_INFO("Coupling device %s to slave %i.\n", |
855 eoe->dev->name, slave->ring_position); |
855 eoe->dev->name, slave->ring_position); |
856 if (eoe->opened) |
856 if (eoe->opened) { |
857 slave->requested_state = EC_SLAVE_STATE_OP; |
857 slave->requested_state = EC_SLAVE_STATE_OP; |
|
858 } |
|
859 else { |
|
860 slave->requested_state = EC_SLAVE_STATE_INIT; |
|
861 } |
|
862 slave->state_error = 0; |
858 break; |
863 break; |
859 } |
864 } |
860 |
865 |
861 if (!found) { |
866 if (!found) { |
862 EC_WARN("No EoE handler for slave %i!\n", slave->ring_position); |
867 EC_WARN("No EoE handler for slave %i!\n", slave->ring_position); |
863 slave->requested_state = EC_SLAVE_STATE_INIT; |
868 slave->requested_state = EC_SLAVE_STATE_INIT; |
|
869 slave->state_error = 0; |
864 } |
870 } |
865 } |
871 } |
866 |
872 |
867 if (!coupled) { |
873 if (!coupled) { |
868 EC_INFO("No EoE handlers coupled.\n"); |
874 EC_INFO("No EoE handlers coupled.\n"); |
896 |
902 |
897 // decouple all EoE handlers |
903 // decouple all EoE handlers |
898 list_for_each_entry(eoe, &master->eoe_handlers, list) { |
904 list_for_each_entry(eoe, &master->eoe_handlers, list) { |
899 if (eoe->slave) { |
905 if (eoe->slave) { |
900 eoe->slave->requested_state = EC_SLAVE_STATE_INIT; |
906 eoe->slave->requested_state = EC_SLAVE_STATE_INIT; |
|
907 eoe->slave->state_error = 0; |
901 eoe->slave = NULL; |
908 eoe->slave = NULL; |
902 } |
909 } |
903 } |
910 } |
904 |
911 |
905 master->eoe_running = 0; |
912 master->eoe_running = 0; |
906 } |
913 } |
907 |
914 |
908 /*****************************************************************************/ |
915 /*****************************************************************************/ |
909 |
|
910 /** |
916 /** |
911 Does the Ethernet-over-EtherCAT processing. |
917 Does the Ethernet-over-EtherCAT processing. |
912 */ |
918 */ |
913 |
919 |
914 void ec_master_eoe_run(unsigned long data /**< master pointer */) |
920 void ec_master_eoe_run(unsigned long data /**< master pointer */) |