添加状态指示灯功能
This commit is contained in:
parent
a5666f2a00
commit
ed7d1450a6
|
@ -1,19 +1,18 @@
|
||||||
#include "client_network.h"
|
#include "client_network.h"
|
||||||
|
#include "status_blink.h"
|
||||||
|
|
||||||
void ClientNetwork::Init()
|
extern StatusBlink* statusLed;
|
||||||
|
|
||||||
|
ClientNetwork::ClientNetwork()
|
||||||
{
|
{
|
||||||
WiFi.begin("VVAILL", "channy161021");
|
WiFi.begin("VVAILL", "channy161021");
|
||||||
|
|
||||||
Serial.print("Connecting");
|
statusLed->SetBlinkRate(StatusBlink::BlinkRate::Rate2Hz);
|
||||||
while (WiFi.status() != WL_CONNECTED)
|
while (WiFi.status() != WL_CONNECTED)
|
||||||
{
|
{
|
||||||
delay(500);
|
delay(500);
|
||||||
Serial.print(".");
|
|
||||||
}
|
}
|
||||||
Serial.println();
|
statusLed->SetBlinkRate(StatusBlink::BlinkRate::RateAlwaysOff);
|
||||||
|
|
||||||
Serial.print("Connected, IP address: ");
|
|
||||||
Serial.println(WiFi.localIP());
|
|
||||||
|
|
||||||
status = FAIL;
|
status = FAIL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ private:
|
||||||
STATUS status;
|
STATUS status;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void Init();
|
ClientNetwork();
|
||||||
STATUS FetchNewData();
|
STATUS FetchNewData();
|
||||||
uint8_t GetPercent(String name);
|
uint8_t GetPercent(String name);
|
||||||
uint32_t GetRate(String name);
|
uint32_t GetRate(String name);
|
||||||
|
|
|
@ -2,18 +2,17 @@
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "client_network.h"
|
#include "client_network.h"
|
||||||
#include "monitor_items.h"
|
#include "monitor_items.h"
|
||||||
|
#include "status_blink.h"
|
||||||
|
|
||||||
DisplayPanel* displayPanel;
|
DisplayPanel* displayPanel;
|
||||||
ClientNetwork* netClient;
|
ClientNetwork* netClient;
|
||||||
|
StatusBlink* statusLed;
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
statusLed = new StatusBlink();
|
||||||
Serial.println();
|
|
||||||
|
|
||||||
displayPanel = new DisplayPanel();
|
displayPanel = new DisplayPanel();
|
||||||
netClient = new ClientNetwork();
|
netClient = new ClientNetwork();
|
||||||
netClient->Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#include "status_blink.h"
|
||||||
|
|
||||||
|
StatusBlink::StatusBlink()
|
||||||
|
{
|
||||||
|
pinMode(STATUS_LED_PIN, OUTPUT);
|
||||||
|
digitalWrite(STATUS_LED_PIN, HIGH);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void BlinkTask()
|
||||||
|
{
|
||||||
|
digitalWrite(STATUS_LED_PIN, !digitalRead(STATUS_LED_PIN)); // set pin to the opposite state
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusBlink::SetBlinkRate(BlinkRate rate)
|
||||||
|
{
|
||||||
|
switch (rate)
|
||||||
|
{
|
||||||
|
case BlinkRate::RateAlwaysOn:
|
||||||
|
flipper.detach();
|
||||||
|
digitalWrite(STATUS_LED_PIN, LOW);
|
||||||
|
break;
|
||||||
|
case BlinkRate::RateAlwaysOff:
|
||||||
|
flipper.detach();
|
||||||
|
digitalWrite(STATUS_LED_PIN, HIGH);
|
||||||
|
break;
|
||||||
|
case BlinkRate::Rate8Hz:
|
||||||
|
flipper.attach(0.125, BlinkTask);
|
||||||
|
break;
|
||||||
|
case BlinkRate::Rate2Hz:
|
||||||
|
flipper.attach(0.5, BlinkTask);
|
||||||
|
break;
|
||||||
|
case BlinkRate::Rate0_5Hz:
|
||||||
|
flipper.attach(2.0, BlinkTask);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <Ticker.h>
|
||||||
|
|
||||||
|
#define STATUS_LED_PIN 2
|
||||||
|
|
||||||
|
class StatusBlink
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
Ticker flipper;
|
||||||
|
|
||||||
|
public:
|
||||||
|
enum BlinkRate {
|
||||||
|
RateAlwaysOn,
|
||||||
|
Rate8Hz,
|
||||||
|
Rate2Hz,
|
||||||
|
Rate0_5Hz,
|
||||||
|
RateAlwaysOff,
|
||||||
|
};
|
||||||
|
StatusBlink();
|
||||||
|
void SetBlinkRate(BlinkRate rate);
|
||||||
|
};
|
Loading…
Reference in New Issue