commit
7092f5d9d0
@ -5,10 +5,12 @@
|
|||||||
#include <WiFiUdp.h>
|
#include <WiFiUdp.h>
|
||||||
#include "ws2812_i2s.h"
|
#include "ws2812_i2s.h"
|
||||||
|
|
||||||
// Set this to the number of LEDs in your LED strip
|
// Set to the number of LEDs in your LED strip
|
||||||
#define NUM_LEDS 60
|
#define NUM_LEDS 60
|
||||||
// Maximum number of packets to hold in the buffer. Don't change this.
|
// Maximum number of packets to hold in the buffer. Don't change this.
|
||||||
#define BUFFER_LEN 1024
|
#define BUFFER_LEN 1024
|
||||||
|
// Toggles FPS output (1 = print FPS over serial, 0 = disable output)
|
||||||
|
#define PRINT_FPS 1
|
||||||
|
|
||||||
// Wifi and socket settings
|
// Wifi and socket settings
|
||||||
const char* ssid = "YOUR_WIFI_SSID";
|
const char* ssid = "YOUR_WIFI_SSID";
|
||||||
@ -45,26 +47,37 @@ void setup() {
|
|||||||
Serial.println(WiFi.localIP());
|
Serial.println(WiFi.localIP());
|
||||||
port.begin(localPort);
|
port.begin(localPort);
|
||||||
ledstrip.init(NUM_LEDS);
|
ledstrip.init(NUM_LEDS);
|
||||||
pinMode(0, OUTPUT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t N = 0;
|
uint8_t N = 0;
|
||||||
|
#if PRINT_FPS
|
||||||
|
uint16_t fpsCounter = 0;
|
||||||
|
uint32_t secondTimer = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
// Read data over socket
|
// Read data over socket
|
||||||
int packetSize = port.parsePacket();
|
int packetSize = port.parsePacket();
|
||||||
// If packets have been received, interpret the command
|
// If packets have been received, interpret the command
|
||||||
if (packetSize) {
|
if (packetSize) {
|
||||||
digitalWrite(0, 1);
|
int len = port.read(packetBuffer, BUFFER_LEN);
|
||||||
int len = port.read(packetBuffer, BUFFER_LEN);
|
for(int i = 0; i < len; i+=4) {
|
||||||
for(int i = 0; i < len; i+=4){
|
|
||||||
packetBuffer[len] = 0;
|
packetBuffer[len] = 0;
|
||||||
N = packetBuffer[i];
|
N = packetBuffer[i];
|
||||||
pixels[N].R = (uint8_t)packetBuffer[i+1];
|
pixels[N].R = (uint8_t)packetBuffer[i+1];
|
||||||
pixels[N].G = (uint8_t)packetBuffer[i+2];
|
pixels[N].G = (uint8_t)packetBuffer[i+2];
|
||||||
pixels[N].B = (uint8_t)packetBuffer[i+3];
|
pixels[N].B = (uint8_t)packetBuffer[i+3];
|
||||||
}
|
}
|
||||||
ledstrip.show(pixels);
|
ledstrip.show(pixels);
|
||||||
digitalWrite(0, 0);
|
#if PRINT_FPS
|
||||||
}
|
fpsCounter++;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#if PRINT_FPS
|
||||||
|
if (millis() - secondTimer >= 1000U) {
|
||||||
|
secondTimer = millis();
|
||||||
|
Serial.printf("FPS: %d\n", fpsCounter);
|
||||||
|
fpsCounter = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user