tool/CommandStates.cpp
changeset 1151 1fc1535dec29
parent 1144 7dbfdd61812c
child 1157 04d1c950cf9d
equal deleted inserted replaced
1150:c589b54ade01 1151:1fc1535dec29
    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 /*****************************************************************************/