tool/CommandDownload.cpp
changeset 1869 14f634f5b613
parent 1868 489ea0becd74
child 1870 0cee1fb7f0fd
equal deleted inserted replaced
1868:489ea0becd74 1869:14f634f5b613
    83 /****************************************************************************/
    83 /****************************************************************************/
    84 
    84 
    85 void CommandDownload::execute(const StringVector &args)
    85 void CommandDownload::execute(const StringVector &args)
    86 {
    86 {
    87     stringstream strIndex, strSubIndex, err;
    87     stringstream strIndex, strSubIndex, err;
       
    88 	MasterIndexList masterIndices;
    88     ec_ioctl_slave_sdo_download_t data;
    89     ec_ioctl_slave_sdo_download_t data;
    89     unsigned int number;
    90     unsigned int number;
    90     const DataType *dataType = NULL;
    91     const DataType *dataType = NULL;
    91     SlaveList slaves;
    92     SlaveList slaves;
    92 
    93 
   112         err << "Invalid SDO subindex '" << args[1] << "'!";
   113         err << "Invalid SDO subindex '" << args[1] << "'!";
   113         throwInvalidUsageException(err);
   114         throwInvalidUsageException(err);
   114     }
   115     }
   115     data.sdo_entry_subindex = number;
   116     data.sdo_entry_subindex = number;
   116 
   117 
   117     if (getMasterIndices().size() != 1) {
   118 	masterIndices = getMasterIndices();
       
   119     if (masterIndices.size() != 1) {
   118         err << getName() << " requires to select a single master!";
   120         err << getName() << " requires to select a single master!";
   119         throwInvalidUsageException(err);
   121         throwInvalidUsageException(err);
   120     }
   122     }
   121     MasterDevice m(getMasterIndices().front());
   123     MasterDevice m(masterIndices.front());
   122     m.open(MasterDevice::ReadWrite);
   124     m.open(MasterDevice::ReadWrite);
   123     slaves = selectedSlaves(m);
   125     slaves = selectedSlaves(m);
   124     if (slaves.size() != 1) {
   126     if (slaves.size() != 1) {
   125         throwSingleSlaveRequired(slaves.size());
   127         throwSingleSlaveRequired(slaves.size());
   126     }
   128     }