Files
Vermix-Sense/src/main.cpp
T

76 lines
2.2 KiB
C++

#include <Arduino.h>
#include <hardware_led.hpp>
#include <hardware_rfid.hpp>
#include "hardware.pb.h"
// Demo for HardwareLed
HardwareLed<2> led; // Assuming NeoPixel on pin 2 (D2 on ESP8266)
// Demo for HardwareRfid
HardwareRfid rfid(4, 5); // SS=D2 (GPIO4), RST=D1 (GPIO5)
hardware_LedConfig configs[4];
unsigned long lastChange = 0;
int currentConfig = 0;
void onRfidTag(const hardware_SensorToControlMessage& msg) {
Serial.print("RFID Tag detected: 0x");
Serial.println(msg.payload.rfid_reading.card_id, HEX);
}
void setup() {
Serial.begin(9600);
led.begin();
rfid.begin();
rfid.setCallback(onRfidTag);
// Static config
configs[0] = {0};
configs[0].brightness = 128;
configs[0].duration_ms = 0;
configs[0].which_animation_params = 3;
configs[0].animation_params.static_params.color = 0x00FF00; // Green
// Pulse config
configs[1] = {0};
configs[1].brightness = 128;
configs[1].duration_ms = 0;
configs[1].which_animation_params = 4;
configs[1].animation_params.pulse_params.color = 0xFF0000; // Red
configs[1].animation_params.pulse_params.speed_ms = 500;
// Fade config
configs[2] = {0};
configs[2].brightness = 128;
configs[2].duration_ms = 0;
configs[2].which_animation_params = 5;
configs[2].animation_params.fade_params.colors_count = 3;
configs[2].animation_params.fade_params.colors[0] = 0xFF0000; // Red
configs[2].animation_params.fade_params.colors[1] = 0x00FF00; // Green
configs[2].animation_params.fade_params.colors[2] = 0x0000FF; // Blue
configs[2].animation_params.fade_params.speed_ms = 1000;
// Flicker config
configs[3] = {0};
configs[3].brightness = 128;
configs[3].duration_ms = 0;
configs[3].which_animation_params = 6;
configs[3].animation_params.flicker_params.color = 0xFFFFFF; // White
configs[3].animation_params.flicker_params.intensity = 50;
led.set(configs[0]);
Serial.println("Starting with static green");
}
void loop() {
led.update();
rfid.update();
if (millis() - lastChange >= 10000) {
lastChange = millis();
currentConfig = (currentConfig + 1) % 4;
led.set(configs[currentConfig]);
Serial.print("Switched to config ");
Serial.println(currentConfig);
}
}