添加状态指示灯功能
This commit is contained in:
parent
a5666f2a00
commit
ed7d1450a6
|
@ -1,19 +1,18 @@
|
|||
#include "client_network.h"
|
||||
#include "status_blink.h"
|
||||
|
||||
void ClientNetwork::Init()
|
||||
extern StatusBlink* statusLed;
|
||||
|
||||
ClientNetwork::ClientNetwork()
|
||||
{
|
||||
WiFi.begin("VVAILL", "channy161021");
|
||||
|
||||
Serial.print("Connecting");
|
||||
statusLed->SetBlinkRate(StatusBlink::BlinkRate::Rate2Hz);
|
||||
while (WiFi.status() != WL_CONNECTED)
|
||||
{
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println();
|
||||
|
||||
Serial.print("Connected, IP address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
statusLed->SetBlinkRate(StatusBlink::BlinkRate::RateAlwaysOff);
|
||||
|
||||
status = FAIL;
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ private:
|
|||
STATUS status;
|
||||
|
||||
public:
|
||||
void Init();
|
||||
ClientNetwork();
|
||||
STATUS FetchNewData();
|
||||
uint8_t GetPercent(String name);
|
||||
uint32_t GetRate(String name);
|
||||
|
|
|
@ -2,18 +2,17 @@
|
|||
#include "display.h"
|
||||
#include "client_network.h"
|
||||
#include "monitor_items.h"
|
||||
#include "status_blink.h"
|
||||
|
||||
DisplayPanel* displayPanel;
|
||||
ClientNetwork* netClient;
|
||||
StatusBlink* statusLed;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
Serial.println();
|
||||
|
||||
statusLed = new StatusBlink();
|
||||
displayPanel = new DisplayPanel();
|
||||
netClient = new ClientNetwork();
|
||||
netClient->Init();
|
||||
}
|
||||
|
||||
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