diff --git a/ion/src/device/bench/Makefile b/ion/src/device/bench/Makefile index 5e59a61cf..be49a87f2 100644 --- a/ion/src/device/bench/Makefile +++ b/ion/src/device/bench/Makefile @@ -27,5 +27,6 @@ ion_target_device_bench_src += $(addprefix ion/src/device/bench/command/, \ sleep.cpp \ stop.cpp \ standby.cpp \ + usb_plugged.cpp \ vblank.cpp \ ) diff --git a/ion/src/device/bench/bench.cpp b/ion/src/device/bench/bench.cpp index 05b042278..8bf29de66 100644 --- a/ion/src/device/bench/bench.cpp +++ b/ion/src/device/bench/bench.cpp @@ -29,6 +29,7 @@ constexpr CommandHandler handles[] = { CommandHandler("SLEEP", Command::Sleep), CommandHandler("STOP", Command::Stop), CommandHandler("STANDBY", Command::Standby), + CommandHandler("USB_PLUGGED", Command::USBPlugged), CommandHandler("VBLANK", Command::VBlank), CommandHandler(nullptr, nullptr) }; diff --git a/ion/src/device/bench/command/command.h b/ion/src/device/bench/command/command.h index 7e904501d..a179d7454 100644 --- a/ion/src/device/bench/command/command.h +++ b/ion/src/device/bench/command/command.h @@ -30,6 +30,7 @@ void ScreenID(const char * input); void Sleep(const char * input); void Stop(const char * input); void Standby(const char * input); +void USBPlugged(const char * input); void VBlank(const char * input); extern const char * const sOK; diff --git a/ion/src/device/bench/command/usb_plugged.cpp b/ion/src/device/bench/command/usb_plugged.cpp new file mode 100644 index 000000000..1f2bb691a --- /dev/null +++ b/ion/src/device/bench/command/usb_plugged.cpp @@ -0,0 +1,24 @@ +#include "command.h" +#include + +namespace Ion { +namespace Device { +namespace Bench { +namespace Command { + +void USBPlugged(const char * input) { + if (input != nullptr) { + reply(sSyntaxError); + return; + } + if (Ion::USB::isPlugged()) { + reply(sON); + } else { + reply(sOFF); + } +} + +} +} +} +}