equal
deleted
inserted
replaced
40 |
40 |
41 /****************************************************************************/ |
41 /****************************************************************************/ |
42 |
42 |
43 void CommandStates::execute(MasterDevice &m, const StringVector &args) |
43 void CommandStates::execute(MasterDevice &m, const StringVector &args) |
44 { |
44 { |
|
45 SlaveList slaves; |
|
46 SlaveList::const_iterator si; |
45 stringstream err; |
47 stringstream err; |
46 string stateStr; |
48 string stateStr; |
47 uint8_t state = 0x00; |
49 uint8_t state = 0x00; |
48 |
50 |
49 if (args.size() != 1) { |
51 if (args.size() != 1) { |
67 err << "Invalid state '" << args[0] << "'!"; |
69 err << "Invalid state '" << args[0] << "'!"; |
68 throwInvalidUsageException(err); |
70 throwInvalidUsageException(err); |
69 } |
71 } |
70 |
72 |
71 m.open(MasterDevice::ReadWrite); |
73 m.open(MasterDevice::ReadWrite); |
|
74 slaves = selectedSlaves(m); |
72 |
75 |
73 if (slavePosition == -1) { |
76 for (si = slaves.begin(); si != slaves.end(); si++) { |
74 unsigned int i, numSlaves = m.slaveCount(); |
77 m.requestState(si->position, state); |
75 for (i = 0; i < numSlaves; i++) |
|
76 m.requestState(i, state); |
|
77 } else { |
|
78 m.requestState(slavePosition, state); |
|
79 } |
78 } |
80 } |
79 } |
81 |
80 |
82 /*****************************************************************************/ |
81 /*****************************************************************************/ |