tool/CommandUpload.cpp
changeset 1870 0cee1fb7f0fd
parent 1869 14f634f5b613
child 1968 4f682084c643
equal deleted inserted replaced
1869:14f634f5b613 1870:0cee1fb7f0fd
    80 
    80 
    81 /****************************************************************************/
    81 /****************************************************************************/
    82 
    82 
    83 void CommandUpload::execute(const StringVector &args)
    83 void CommandUpload::execute(const StringVector &args)
    84 {
    84 {
    85 	MasterIndexList masterIndices;
       
    86     SlaveList slaves;
    85     SlaveList slaves;
    87     stringstream err, strIndex, strSubIndex;
    86     stringstream err, strIndex, strSubIndex;
    88     ec_ioctl_slave_sdo_upload_t data;
    87     ec_ioctl_slave_sdo_upload_t data;
    89     const DataType *dataType = NULL;
    88     const DataType *dataType = NULL;
    90     unsigned int uval;
    89     unsigned int uval;
   111         err << "Invalid SDO subindex '" << args[1] << "'!";
   110         err << "Invalid SDO subindex '" << args[1] << "'!";
   112         throwInvalidUsageException(err);
   111         throwInvalidUsageException(err);
   113     }
   112     }
   114     data.sdo_entry_subindex = uval;
   113     data.sdo_entry_subindex = uval;
   115 
   114 
   116 	masterIndices = getMasterIndices();
   115     MasterDevice m(getSingleMasterIndex());
   117     if (masterIndices.size() != 1) {
       
   118         err << getName() << " requires to select a single master!";
       
   119         throwInvalidUsageException(err);
       
   120     }
       
   121     MasterDevice m(masterIndices.front());
       
   122     m.open(MasterDevice::Read);
   116     m.open(MasterDevice::Read);
   123     slaves = selectedSlaves(m);
   117     slaves = selectedSlaves(m);
   124     if (slaves.size() != 1) {
   118     if (slaves.size() != 1) {
   125         throwSingleSlaveRequired(slaves.size());
   119         throwSingleSlaveRequired(slaves.size());
   126     }
   120     }