Rearrange the file layout in preparation of becoming a monorepo

Move the documentation to `doc/plugin/LEDEffect-Breathe.md`, sources under
`src/kaleidoscope/plugin/` (appropriately namespaced). This is in preparation of
merging plugins into a single monorepo.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
pull/365/head
Gergely Nagy 6 years ago
parent aea9d29e53
commit 1968a05f2a
No known key found for this signature in database
GPG Key ID: AC1E90BAC433F68F

@ -5,40 +5,4 @@
[travis:image]: https://travis-ci.org/keyboardio/Kaleidoscope-LEDEffect-Breathe.svg?branch=master [travis:image]: https://travis-ci.org/keyboardio/Kaleidoscope-LEDEffect-Breathe.svg?branch=master
[travis:status]: https://travis-ci.org/keyboardio/Kaleidoscope-LEDEffect-Breathe [travis:status]: https://travis-ci.org/keyboardio/Kaleidoscope-LEDEffect-Breathe
Provides a breathing effect for the keyboard. Breathe in, breathe out. See [doc/plugin/LEDEffect-Breathe.md](doc/plugin/LEDEffect-Breathe.md) for documentation.
## Using the extension
To use the plugin, include the header, and tell the firmware to use it:
```c++
#include <Kaleidoscope-LEDControl.h>
#include <Kaleidoscope-LEDEffect-Breathe.h>
KALEIDOSCOPE_INIT_PLUGINS(LEDControl,
LEDBreatheEffect);
void setup() {
Kaleidoscope.setup();
}
```
## Plugin properties
The plugin provides the `LEDBreatheEffect` object, which has a single property:
### `.hue`
> The hue of the breathe effect.
>
> Defaults to 170, a blue hue.
### `.saturation`
> The color saturation of the breathe effect.
>
> Defaults to 255, the maximum.
## Dependencies
* [Kaleidoscope-LEDControl](https://github.com/keyboardio/Kaleidoscope-LEDControl)

@ -0,0 +1,39 @@
# Kaleidoscope-LEDEffect-Breathe
Provides a breathing effect for the keyboard. Breathe in, breathe out.
## Using the extension
To use the plugin, include the header, and tell the firmware to use it:
```c++
#include <Kaleidoscope-LEDControl.h>
#include <Kaleidoscope-LEDEffect-Breathe.h>
KALEIDOSCOPE_INIT_PLUGINS(LEDControl,
LEDBreatheEffect);
void setup() {
Kaleidoscope.setup();
}
```
## Plugin properties
The plugin provides the `LEDBreatheEffect` object, which has a single property:
### `.hue`
> The hue of the breathe effect.
>
> Defaults to 170, a blue hue.
### `.saturation`
> The color saturation of the breathe effect.
>
> Defaults to 255, the maximum.
## Dependencies
* [Kaleidoscope-LEDControl](https://github.com/keyboardio/Kaleidoscope-LEDControl)

@ -16,23 +16,4 @@
#pragma once #pragma once
#include "Kaleidoscope-LEDControl.h" #include "kaleidoscope/plugin/LEDEffect-Breathe.h"
#include "LEDUtils.h"
namespace kaleidoscope {
class LEDBreatheEffect : public LEDMode {
public:
LEDBreatheEffect(void) {}
uint8_t hue = 170;
uint8_t saturation = 255;
protected:
void update(void) final;
private:
uint16_t last_update_ = 0;
};
}
extern kaleidoscope::LEDBreatheEffect LEDBreatheEffect;

@ -15,9 +15,11 @@
*/ */
#include "Kaleidoscope-LEDEffect-Breathe.h" #include "Kaleidoscope-LEDEffect-Breathe.h"
#define UPDATE_INTERVAL 50 // milliseconds between two LED updates to avoid overloading; 20 fps #define UPDATE_INTERVAL 50 // milliseconds between two LED updates to avoid overloading; 20 fps
namespace kaleidoscope { namespace kaleidoscope {
namespace plugin {
void LEDBreatheEffect::update(void) { void LEDBreatheEffect::update(void) {
uint16_t now = Kaleidoscope.millisAtCycleStart(); uint16_t now = Kaleidoscope.millisAtCycleStart();
if ((now - last_update_) < UPDATE_INTERVAL) if ((now - last_update_) < UPDATE_INTERVAL)
@ -28,5 +30,6 @@ void LEDBreatheEffect::update(void) {
::LEDControl.set_all_leds_to(color); ::LEDControl.set_all_leds_to(color);
} }
} }
}
kaleidoscope::LEDBreatheEffect LEDBreatheEffect; kaleidoscope::plugin::LEDBreatheEffect LEDBreatheEffect;

@ -0,0 +1,39 @@
/* Kaleidoscope-LEDEffect-Breathe - A breathing effect on the LEDs, for Kaleidoscope.
* Copyright (C) 2017-2018 Keyboard.io, Inc.
*
* 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 the Free Software
* Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "Kaleidoscope-LEDControl.h"
namespace kaleidoscope {
namespace plugin {
class LEDBreatheEffect : public LEDMode {
public:
LEDBreatheEffect(void) {}
uint8_t hue = 170;
uint8_t saturation = 255;
protected:
void update(void) final;
private:
uint16_t last_update_ = 0;
};
}
}
extern kaleidoscope::plugin::LEDBreatheEffect LEDBreatheEffect;
Loading…
Cancel
Save