equal
deleted
inserted
replaced
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 } |