mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-19 13:54:23 +01:00
Bridge: now processes start can be checked for errors
This commit is contained in:
parent
0541c2663a
commit
8dfa8775e5
@ -55,11 +55,12 @@ void BridgeClass::begin() {
|
||||
transfer(cmd, 2);
|
||||
}
|
||||
|
||||
uint8_t BridgeClass::runCommand(String &command) {
|
||||
uint8_t BridgeClass::runCommand(String &command, uint8_t &err) {
|
||||
uint8_t cmd[] = {'R'};
|
||||
uint8_t res[1];
|
||||
transfer(cmd, 1, (uint8_t*)command.c_str(), command.length(), res, 1);
|
||||
return res[0];
|
||||
uint8_t res[2];
|
||||
transfer(cmd, 1, (uint8_t*)command.c_str(), command.length(), res, 2);
|
||||
err = res[0];
|
||||
return res[1];
|
||||
}
|
||||
|
||||
bool BridgeClass::commandIsRunning(uint8_t handle) {
|
||||
|
@ -28,7 +28,7 @@ public:
|
||||
void begin();
|
||||
|
||||
// Methods to handle processes on the linux side
|
||||
uint8_t runCommand(String &command);
|
||||
uint8_t runCommand(String &command, uint8_t &err);
|
||||
bool commandIsRunning(uint8_t handle);
|
||||
unsigned int commandExitValue(uint8_t handle);
|
||||
void cleanCommand(uint8_t handle);
|
||||
|
@ -85,11 +85,13 @@ void Process::addParameter(String ¶m) {
|
||||
}
|
||||
|
||||
void Process::runAsynchronously() {
|
||||
handle = bridge.runCommand(*cmdline);
|
||||
uint8_t err;
|
||||
handle = bridge.runCommand(*cmdline, err);
|
||||
delete cmdline;
|
||||
cmdline = NULL;
|
||||
|
||||
started = true;
|
||||
if (err==0)
|
||||
started = true;
|
||||
}
|
||||
|
||||
boolean Process::running() {
|
||||
|
@ -39,6 +39,8 @@ public:
|
||||
unsigned int exitValue();
|
||||
void close();
|
||||
|
||||
operator bool () { return started; }
|
||||
|
||||
// Stream methods
|
||||
// (read from process stdout)
|
||||
int available();
|
||||
|
Loading…
x
Reference in New Issue
Block a user