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 {
|
enum class ComponentType {
|
||||||
Digital,
|
Digital,
|
||||||
Analog,
|
Analog
|
||||||
I2C,
|
|
||||||
Serial
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class Component{
|
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
|
bbx10/DNSServer@^1.1.0
|
||||||
ArduinoJson
|
ArduinoJson
|
||||||
olikraus/U8g2@^2.35.7
|
olikraus/U8g2@^2.35.7
|
||||||
|
seeed-studio/Grove - Chainable RGB LED@^1.0.0
|
||||||
extra_scripts =
|
extra_scripts =
|
||||||
pre:scripts/dotenv-var.py
|
pre:scripts/dotenv-var.py
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "ServerHandler.hpp"
|
#include "ServerHandler.hpp"
|
||||||
#include "Component.hpp"
|
#include "Component.hpp"
|
||||||
|
#include "LedComponent.hpp"
|
||||||
#include "Screen.hpp"
|
#include "Screen.hpp"
|
||||||
|
|
||||||
#ifdef SSID_CLOVER
|
#ifdef SSID_CLOVER
|
||||||
|
@ -14,6 +15,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Component humidity(ComponentType::Analog, PIN_A0);
|
Component humidity(ComponentType::Analog, PIN_A0);
|
||||||
|
LedComponent led(D8,D7,2);
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
|
@ -26,6 +28,7 @@ void setup()
|
||||||
|
|
||||||
pinMode(D5, OUTPUT);
|
pinMode(D5, OUTPUT);
|
||||||
digitalWrite(D5, LOW);
|
digitalWrite(D5, LOW);
|
||||||
|
led.setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
|
@ -34,6 +37,8 @@ void loop()
|
||||||
auto& serverHandler = ServerHandler::GetInstance();
|
auto& serverHandler = ServerHandler::GetInstance();
|
||||||
auto& dataHandler = DataHandler::GetInstance();
|
auto& dataHandler = DataHandler::GetInstance();
|
||||||
auto& screen = Display::Screen::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
|
// Could not connect after setup: Showing screen failure
|
||||||
if(!serverHandler.isConnected())
|
if(!serverHandler.isConnected())
|
||||||
|
|
Loading…
Add table
Reference in a new issue