mirror of
https://github.com/Lemonochrme/clover.git
synced 2025-06-08 16:50:50 +02:00
Created LedComponent object, testing basic led.
This commit is contained in:
parent
2d784f02af
commit
c5d8457801
5 changed files with 59 additions and 5 deletions
|
@ -5,9 +5,7 @@
|
|||
|
||||
enum class ComponentType {
|
||||
Digital,
|
||||
Analog,
|
||||
I2C,
|
||||
Serial
|
||||
Analog
|
||||
};
|
||||
|
||||
class Component{
|
||||
|
|
22
embedded/lib/Component/LedComponent.cpp
Normal file
22
embedded/lib/Component/LedComponent.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
#include "LedComponent.hpp"
|
||||
|
||||
LedComponent::LedComponent(byte pin, byte pin_clock, uint8_t led_number)
|
||||
: _pin(pin), _pinClock(pin_clock), _ledNumber(led_number), _led(nullptr)
|
||||
{}
|
||||
|
||||
LedComponent::~LedComponent()
|
||||
{
|
||||
delete _led;
|
||||
}
|
||||
|
||||
void LedComponent::setup()
|
||||
{
|
||||
_led = new ChainableLED(_pinClock,_pin,_ledNumber);
|
||||
}
|
||||
|
||||
void LedComponent::setColor(uint8_t led_number, Color color)
|
||||
{
|
||||
if(led_number >= _ledNumber)
|
||||
return;
|
||||
_led->setColorRGB(led_number,color.red,color.green,color.blue);
|
||||
}
|
28
embedded/lib/Component/LedComponent.hpp
Normal file
28
embedded/lib/Component/LedComponent.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef _HEADER_COMPONENT_LED
|
||||
#define _HEADER_COMPONENT_LED
|
||||
#include "Component.hpp"
|
||||
#include <ChainableLED.h>
|
||||
|
||||
struct Color
|
||||
{
|
||||
byte red;
|
||||
byte blue;
|
||||
byte green;
|
||||
};
|
||||
|
||||
class LedComponent
|
||||
{
|
||||
public:
|
||||
LedComponent(byte pin, byte pin_clock, uint8_t led_number);
|
||||
~LedComponent();
|
||||
void setup();
|
||||
void setColor(uint8_t led_number, Color color);
|
||||
|
||||
private:
|
||||
byte _pin;
|
||||
byte _pinClock;
|
||||
uint8_t _ledNumber;
|
||||
ChainableLED* _led;
|
||||
};
|
||||
|
||||
#endif // _HEADER_COMPONENT_LED
|
|
@ -18,5 +18,6 @@ lib_deps =
|
|||
bbx10/DNSServer@^1.1.0
|
||||
ArduinoJson
|
||||
olikraus/U8g2@^2.35.7
|
||||
seeed-studio/Grove - Chainable RGB LED@^1.0.0
|
||||
extra_scripts =
|
||||
pre:scripts/dotenv-var.py
|
||||
pre:scripts/dotenv-var.py
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "ServerHandler.hpp"
|
||||
#include "Component.hpp"
|
||||
#include "LedComponent.hpp"
|
||||
#include "Screen.hpp"
|
||||
|
||||
#ifdef SSID_CLOVER
|
||||
|
@ -14,6 +15,7 @@
|
|||
#endif
|
||||
|
||||
Component humidity(ComponentType::Analog, PIN_A0);
|
||||
LedComponent led(D8,D7,2);
|
||||
|
||||
void setup()
|
||||
{
|
||||
|
@ -26,6 +28,7 @@ void setup()
|
|||
|
||||
pinMode(D5, OUTPUT);
|
||||
digitalWrite(D5, LOW);
|
||||
led.setup();
|
||||
}
|
||||
|
||||
void loop()
|
||||
|
@ -34,6 +37,8 @@ void loop()
|
|||
auto& serverHandler = ServerHandler::GetInstance();
|
||||
auto& dataHandler = DataHandler::GetInstance();
|
||||
auto& screen = Display::Screen::GetInstance();
|
||||
led.setColor(0,{255,0,0});
|
||||
led.setColor(1,{0,255,0});
|
||||
|
||||
// Could not connect after setup: Showing screen failure
|
||||
if(!serverHandler.isConnected())
|
||||
|
|
Loading…
Add table
Reference in a new issue