equal
deleted
inserted
replaced
30 #include <iostream> |
30 #include <iostream> |
31 #include <iomanip> |
31 #include <iomanip> |
32 using namespace std; |
32 using namespace std; |
33 |
33 |
34 #include "CommandRegRead.h" |
34 #include "CommandRegRead.h" |
|
35 #include "MasterDevice.h" |
35 |
36 |
36 /*****************************************************************************/ |
37 /*****************************************************************************/ |
37 |
38 |
38 CommandRegRead::CommandRegRead(): |
39 CommandRegRead::CommandRegRead(): |
39 CommandReg("reg_read", "Output a slave's register contents.") |
40 CommandReg("reg_read", "Output a slave's register contents.") |
76 return str.str(); |
77 return str.str(); |
77 } |
78 } |
78 |
79 |
79 /****************************************************************************/ |
80 /****************************************************************************/ |
80 |
81 |
81 void CommandRegRead::execute(MasterDevice &m, const StringVector &args) |
82 void CommandRegRead::execute(const StringVector &args) |
82 { |
83 { |
83 SlaveList slaves; |
84 SlaveList slaves; |
84 ec_ioctl_slave_reg_t data; |
85 ec_ioctl_slave_reg_t data; |
85 stringstream strOffset, err; |
86 stringstream strOffset, err; |
86 const DataType *dataType = NULL; |
87 const DataType *dataType = NULL; |
139 if ((uint32_t) data.offset + data.length > 0xffff) { |
140 if ((uint32_t) data.offset + data.length > 0xffff) { |
140 err << "Offset and length exceeding 64k!"; |
141 err << "Offset and length exceeding 64k!"; |
141 throwInvalidUsageException(err); |
142 throwInvalidUsageException(err); |
142 } |
143 } |
143 |
144 |
|
145 if (getMasterIndices().size() != 1) { |
|
146 err << getName() << " requires to select a single master!"; |
|
147 throwInvalidUsageException(err); |
|
148 } |
|
149 MasterDevice m(getMasterIndices().front()); |
144 m.open(MasterDevice::Read); |
150 m.open(MasterDevice::Read); |
145 slaves = selectedSlaves(m); |
151 slaves = selectedSlaves(m); |
146 |
152 |
147 if (slaves.size() != 1) { |
153 if (slaves.size() != 1) { |
148 throwSingleSlaveRequired(slaves.size()); |
154 throwSingleSlaveRequired(slaves.size()); |