diff --git a/flix/cli.ino b/flix/cli.ino index 824d8b3..121a739 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -31,7 +31,8 @@ const char* motd = "cg - calibrate gyro\n" "ca - calibrate accel\n" "mfr, mfl, mrr, mrl - test motor\n" -"reset - reset drone's state\n"; +"reset - reset drone's state\n" +"reboot - reboot the drone\n"; const struct Param { const char* name; @@ -103,6 +104,8 @@ void doCommand(String& command, String& value) { cliTestMotor(MOTOR_REAR_LEFT); } else if (command == "reset") { attitude = Quaternion(); + } else if (command == "reboot") { + ESP.restart(); } else { float val = value.toFloat(); // TODO: on error returns 0, check invalid value diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index 48b56de..e065992 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -129,6 +129,11 @@ public: HardwareSerial Serial, Serial2; +class EspClass { +public: + void restart() { Serial.println("Ignore reboot in simulation"); } +} ESP; + void delay(uint32_t ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); }