From 5d71c259f44ce0d0fdfe7603f390c440aad80cc8 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Sun, 13 May 2018 10:02:48 +0200 Subject: [PATCH] Updated to use the new plugin APIs Signed-off-by: Gergely Nagy --- examples/LED-Palette-Theme/LED-Palette-Theme.ino | 10 ++++++---- src/Kaleidoscope/LED-Palette-Theme.cpp | 8 ++++---- src/Kaleidoscope/LED-Palette-Theme.h | 16 ++++++++++++---- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/examples/LED-Palette-Theme/LED-Palette-Theme.ino b/examples/LED-Palette-Theme/LED-Palette-Theme.ino index b27876b1..76da15c6 100644 --- a/examples/LED-Palette-Theme/LED-Palette-Theme.ino +++ b/examples/LED-Palette-Theme/LED-Palette-Theme.ino @@ -1,6 +1,6 @@ /* -*- mode: c++ -*- * Kaleidoscope-LED-Palette-Theme -- Palette-based LED theme foundation - * Copyright (C) 2017 Gergely Nagy + * Copyright (C) 2017, 2018 Gergely Nagy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -59,6 +59,7 @@ TestLEDMode::focusHook(const char *command) { example::TestLEDMode TestLEDMode; +// *INDENT-OFF* const Key keymaps[][ROWS][COLS] PROGMEM = { [0] = KEYMAP_STACKED ( @@ -72,18 +73,19 @@ const Key keymaps[][ROWS][COLS] PROGMEM = { Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip, Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals, - Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, + Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl, Key_NoKey), }; +// *INDENT-ON* + +KALEIDOSCOPE_INIT_PLUGINS(Focus, LEDPaletteTheme, TestLEDMode, EEPROMSettings); void setup() { Serial.begin(9600); - Kaleidoscope.use(&Focus, &LEDPaletteTheme, &TestLEDMode, &EEPROMSettings); - Kaleidoscope.setup(); EEPROMSettings.seal(); diff --git a/src/Kaleidoscope/LED-Palette-Theme.cpp b/src/Kaleidoscope/LED-Palette-Theme.cpp index e612869c..e4d64006 100644 --- a/src/Kaleidoscope/LED-Palette-Theme.cpp +++ b/src/Kaleidoscope/LED-Palette-Theme.cpp @@ -1,6 +1,6 @@ /* -*- mode: c++ -*- * Kaleidoscope-LED-Palette-Theme -- Palette-based LED theme foundation - * Copyright (C) 2017 Gergely Nagy + * Copyright (C) 2017, 2018 Gergely Nagy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,11 +25,11 @@ namespace kaleidoscope { uint16_t LEDPaletteTheme::palette_base_; -void LEDPaletteTheme::begin(void) { - Kaleidoscope.use(&::EEPROMSettings); - +EventHandlerResult LEDPaletteTheme::onSetup(void) { if (!palette_base_) palette_base_ = ::EEPROMSettings.requestSlice(16 * sizeof(cRGB)); + + return EventHandlerResult::OK; } uint16_t LEDPaletteTheme::reserveThemes(uint8_t max_themes) { diff --git a/src/Kaleidoscope/LED-Palette-Theme.h b/src/Kaleidoscope/LED-Palette-Theme.h index 27718c3e..af3e07eb 100644 --- a/src/Kaleidoscope/LED-Palette-Theme.h +++ b/src/Kaleidoscope/LED-Palette-Theme.h @@ -1,6 +1,6 @@ /* -*- mode: c++ -*- * Kaleidoscope-LED-Palette-Theme -- Palette-based LED theme foundation - * Copyright (C) 2017 Gergely Nagy + * Copyright (C) 2017, 2018 Gergely Nagy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,12 +23,10 @@ namespace kaleidoscope { -class LEDPaletteTheme : public KaleidoscopePlugin { +class LEDPaletteTheme : public kaleidoscope::Plugin { public: LEDPaletteTheme(void) {} - void begin(void) final; - static uint16_t reserveThemes(uint8_t max_themes); static void updateHandler(uint16_t theme_base, uint8_t theme); static void refreshAt(uint16_t theme_base, uint8_t theme, byte row, byte col); @@ -47,6 +45,16 @@ class LEDPaletteTheme : public KaleidoscopePlugin { const char *expected_command, uint16_t theme_base, uint8_t max_themes); + + EventHandlerResult onSetup(); + +#if KALEIDOSCOPE_ENABLE_V1_PLUGIN_API + protected: + void begin() { + onSetup(); + } +#endif + private: static uint16_t palette_base_; };