7 #include <iostream> |
7 #include <iostream> |
8 #include <iomanip> |
8 #include <iomanip> |
9 using namespace std; |
9 using namespace std; |
10 |
10 |
11 #include "CommandUpload.h" |
11 #include "CommandUpload.h" |
12 #include "byteorder.h" |
|
13 |
12 |
14 /*****************************************************************************/ |
13 /*****************************************************************************/ |
15 |
14 |
16 CommandUpload::CommandUpload(): |
15 CommandUpload::CommandUpload(): |
17 SdoCommand("upload", "Read an Sdo entry from a slave.") |
16 SdoCommand("upload", "Read an Sdo entry from a slave.") |
157 case 0x0002: // int8 |
156 case 0x0002: // int8 |
158 sval = *(int8_t *) data.target; |
157 sval = *(int8_t *) data.target; |
159 cout << sval << " 0x" << hex << setw(2) << sval << endl; |
158 cout << sval << " 0x" << hex << setw(2) << sval << endl; |
160 break; |
159 break; |
161 case 0x0003: // int16 |
160 case 0x0003: // int16 |
162 sval = le16tocpu(*(int16_t *) data.target); |
161 sval = le16_to_cpup(data.target); |
163 cout << sval << " 0x" << hex << setw(4) << sval << endl; |
162 cout << sval << " 0x" << hex << setw(4) << sval << endl; |
164 break; |
163 break; |
165 case 0x0004: // int32 |
164 case 0x0004: // int32 |
166 sval = le32tocpu(*(int32_t *) data.target); |
165 sval = le32_to_cpup(data.target); |
167 cout << sval << " 0x" << hex << setw(8) << sval << endl; |
166 cout << sval << " 0x" << hex << setw(8) << sval << endl; |
168 break; |
167 break; |
169 case 0x0005: // uint8 |
168 case 0x0005: // uint8 |
170 uval = (unsigned int) *(uint8_t *) data.target; |
169 uval = (unsigned int) *(uint8_t *) data.target; |
171 cout << uval << " 0x" << hex << setw(2) << uval << endl; |
170 cout << uval << " 0x" << hex << setw(2) << uval << endl; |
172 break; |
171 break; |
173 case 0x0006: // uint16 |
172 case 0x0006: // uint16 |
174 uval = le16tocpu(*(uint16_t *) data.target); |
173 uval = le16_to_cpup(data.target); |
175 cout << uval << " 0x" << hex << setw(4) << uval << endl; |
174 cout << uval << " 0x" << hex << setw(4) << uval << endl; |
176 break; |
175 break; |
177 case 0x0007: // uint32 |
176 case 0x0007: // uint32 |
178 uval = le32tocpu(*(uint32_t *) data.target); |
177 uval = le32_to_cpup(data.target); |
179 cout << uval << " 0x" << hex << setw(8) << uval << endl; |
178 cout << uval << " 0x" << hex << setw(8) << uval << endl; |
180 break; |
179 break; |
181 case 0x0009: // string |
180 case 0x0009: // string |
182 cout << string((const char *) data.target, data.data_size) |
181 cout << string((const char *) data.target, data.data_size) |
183 << endl; |
182 << endl; |