diff --git a/apps/hardware_test/keyboard_controller.cpp b/apps/hardware_test/keyboard_controller.cpp index fed95e3ef..3425d0f17 100644 --- a/apps/hardware_test/keyboard_controller.cpp +++ b/apps/hardware_test/keyboard_controller.cpp @@ -7,7 +7,8 @@ namespace HardwareTest { KeyboardController::KeyboardController(Responder * parentResponder) : ViewController(parentResponder), - m_view(KeyboardView()) + m_view(KeyboardView()), + m_color(KDColorBlack) { } @@ -16,6 +17,8 @@ View * KeyboardController::view() { } bool KeyboardController::handleEvent(Ion::Events::Event event) { + Ion::LED::setColor(m_color); + m_color = nextColor(m_color); m_view.updateBatteryState(Ion::Battery::voltage(), Ion::Battery::isCharging()); if (event != Ion::Events::Event::PlainKey(m_view.testedKey()) && event != Ion::Events::Event::ShiftKey(m_view.testedKey()) && event != Ion::Events::Event::AlphaKey(m_view.testedKey()) && event != Ion::Events::Event::ShiftAlphaKey(m_view.testedKey())) { m_view.setDefectiveKey(m_view.testedKey()); @@ -25,9 +28,29 @@ bool KeyboardController::handleEvent(Ion::Events::Event event) { } void KeyboardController::viewWillAppear() { + m_color = KDColorBlack; m_view.resetTestedKey(); m_view.updateBatteryState(Ion::Battery::voltage(), Ion::Battery::isCharging()); } +KDColor KeyboardController::nextColor(KDColor color) { + if (color == KDColorBlack) { + return KDColorWhite; + } + if (color == KDColorWhite) { + return KDColorRed; + } + if (color == KDColorRed) { + return KDColorBlue; + } + if (color == KDColorBlue) { + return KDColorGreen; + } + if (color == KDColorGreen) { + return KDColorBlack; + } + return KDColorBlack; +} + } diff --git a/apps/hardware_test/keyboard_controller.h b/apps/hardware_test/keyboard_controller.h index 72b3bd521..ae02c1178 100644 --- a/apps/hardware_test/keyboard_controller.h +++ b/apps/hardware_test/keyboard_controller.h @@ -9,13 +9,13 @@ namespace HardwareTest { class KeyboardController : public ViewController { public: KeyboardController(Responder * parentResponder); - View * view() override; - bool handleEvent(Ion::Events::Event event) override; void viewWillAppear() override; private: + static KDColor nextColor(KDColor color); KeyboardView m_view; + KDColor m_color; }; } diff --git a/ion/src/simulator/Makefile b/ion/src/simulator/Makefile index b1c3fd1f2..cbee8b017 100644 --- a/ion/src/simulator/Makefile +++ b/ion/src/simulator/Makefile @@ -1,6 +1,7 @@ objs += $(addprefix ion/src/simulator/, \ battery.o\ init.o\ + led.o\ ) objs += $(addprefix ion/src/simulator/boot/, main.o) diff --git a/ion/src/simulator/led.cpp b/ion/src/simulator/led.cpp new file mode 100644 index 000000000..a48d4ca13 --- /dev/null +++ b/ion/src/simulator/led.cpp @@ -0,0 +1,6 @@ +#include + +void Ion::LED::setColor(KDColor c) { +} + +