Added Sketch for WS2812 Network Utilization Stips
This commit is contained in:
parent
e52be1a0d8
commit
60fd193b35
1 changed files with 64 additions and 0 deletions
|
@ -0,0 +1,64 @@
|
||||||
|
#include <Adafruit_NeoPixel.h>
|
||||||
|
#include <avr/power.h>
|
||||||
|
|
||||||
|
#define PIN_RX 10
|
||||||
|
#define PIN_TX 11
|
||||||
|
#define PIXELS 24
|
||||||
|
|
||||||
|
// Prepare two independent strips for rx data and tx data
|
||||||
|
Adafruit_NeoPixel strip_rx = Adafruit_NeoPixel(PIXELS, PIN_RX, NEO_GRB + NEO_KHZ800);
|
||||||
|
Adafruit_NeoPixel strip_tx = Adafruit_NeoPixel(PIXELS, PIN_TX, NEO_GRB + NEO_KHZ800);
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Initialize both strips to off
|
||||||
|
strip_rx.begin(); strip_rx.show();
|
||||||
|
strip_tx.begin(); strip_tx.show();
|
||||||
|
|
||||||
|
// Initialize serial port to 115200 baud
|
||||||
|
Serial.begin(115200);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
if (Serial.available() >= 3) {
|
||||||
|
byte b = Serial.read();
|
||||||
|
if (b == 0xFF) {
|
||||||
|
// Read next two bytes as rx and tx rate
|
||||||
|
byte rxrate = Serial.read();
|
||||||
|
byte txrate = Serial.read();
|
||||||
|
|
||||||
|
if (rxrate <= 100 && txrate <= 100) {
|
||||||
|
showPercentage_rx(strip_rx.Color(0, 0, 255), rxrate);
|
||||||
|
showPercentage_tx(strip_tx.Color(255, 0, 0), txrate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
void showPercentage_tx(uint32_t c, uint8_t perc) {
|
||||||
|
char lastPixel = (PIXELS * perc) / 100;
|
||||||
|
char i = 0;
|
||||||
|
while(i < lastPixel) {
|
||||||
|
strip_tx.setPixelColor(i, c);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
while (i < PIXELS) {
|
||||||
|
strip_tx.setPixelColor(i, 0);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
strip_tx.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void showPercentage_rx(uint32_t c, uint8_t perc) {
|
||||||
|
char lastPixel = (PIXELS * perc) / 100;
|
||||||
|
char i = 0;
|
||||||
|
while(i < lastPixel) {
|
||||||
|
strip_rx.setPixelColor(i, c);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
while (i < PIXELS) {
|
||||||
|
strip_rx.setPixelColor(i, 0);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
strip_rx.show();
|
||||||
|
}
|
Loading…
Reference in a new issue