equal
deleted
inserted
replaced
7 #include <iostream> |
7 #include <iostream> |
8 #include <iomanip> |
8 #include <iomanip> |
9 using namespace std; |
9 using namespace std; |
10 |
10 |
11 #include "CommandFoeRead.h" |
11 #include "CommandFoeRead.h" |
|
12 #include "foe.h" |
12 |
13 |
13 /*****************************************************************************/ |
14 /*****************************************************************************/ |
14 |
15 |
15 CommandFoeRead::CommandFoeRead(): |
16 CommandFoeRead::CommandFoeRead(): |
16 FoeCommand("foe_read", "Read a file from a slave via FoE.") |
17 FoeCommand("foe_read", "Read a file from a slave via FoE.") |
80 |
81 |
81 try { |
82 try { |
82 m.readFoe(&data); |
83 m.readFoe(&data); |
83 } catch (MasterDeviceException &e) { |
84 } catch (MasterDeviceException &e) { |
84 delete [] data.buffer; |
85 delete [] data.buffer; |
85 throw e; |
86 if (data.result) { |
|
87 if (data.result == FOE_OPCODE_ERROR) { |
|
88 err << "FoE read aborted with error code 0x" |
|
89 << setw(8) << setfill('0') << hex << data.error_code |
|
90 << ": " << errorText(data.error_code); |
|
91 } else { |
|
92 err << "Failed to write via FoE: " |
|
93 << resultText(data.result); |
|
94 } |
|
95 throwCommandException(err); |
|
96 } else { |
|
97 throw e; |
|
98 } |
86 } |
99 } |
87 |
100 |
88 // TODO --output-file |
101 // TODO --output-file |
89 for (i = 0; i < data.data_size; i++) { |
102 for (i = 0; i < data.data_size; i++) { |
90 uint8_t *w = data.buffer + i; |
103 uint8_t *w = data.buffer + i; |