equal
deleted
inserted
replaced
77 |
77 |
78 /****************************************************************************/ |
78 /****************************************************************************/ |
79 |
79 |
80 void CommandRegRead::execute(const StringVector &args) |
80 void CommandRegRead::execute(const StringVector &args) |
81 { |
81 { |
|
82 MasterIndexList masterIndices; |
82 SlaveList slaves; |
83 SlaveList slaves; |
83 ec_ioctl_slave_reg_t data; |
84 ec_ioctl_slave_reg_t data; |
84 stringstream strOffset, err; |
85 stringstream strOffset, err; |
85 const DataType *dataType = NULL; |
86 const DataType *dataType = NULL; |
86 |
87 |
138 if ((uint32_t) data.offset + data.length > 0xffff) { |
139 if ((uint32_t) data.offset + data.length > 0xffff) { |
139 err << "Offset and length exceeding 64k!"; |
140 err << "Offset and length exceeding 64k!"; |
140 throwInvalidUsageException(err); |
141 throwInvalidUsageException(err); |
141 } |
142 } |
142 |
143 |
143 if (getMasterIndices().size() != 1) { |
144 masterIndices = getMasterIndices(); |
|
145 if (masterIndices.size() != 1) { |
144 err << getName() << " requires to select a single master!"; |
146 err << getName() << " requires to select a single master!"; |
145 throwInvalidUsageException(err); |
147 throwInvalidUsageException(err); |
146 } |
148 } |
147 MasterDevice m(getMasterIndices().front()); |
149 MasterDevice m(masterIndices.front()); |
148 m.open(MasterDevice::Read); |
150 m.open(MasterDevice::Read); |
149 slaves = selectedSlaves(m); |
151 slaves = selectedSlaves(m); |
150 |
152 |
151 if (slaves.size() != 1) { |
153 if (slaves.size() != 1) { |
152 throwSingleSlaveRequired(slaves.size()); |
154 throwSingleSlaveRequired(slaves.size()); |