31 lines
804 B
C
31 lines
804 B
C
|
#pragma once
|
||
|
|
||
|
#include "Effect.h"
|
||
|
#include "prototypes.h"
|
||
|
#include "my_fastled.h"
|
||
|
#include "Window.h"
|
||
|
#include "config.h"
|
||
|
#include <WiFiUdp.h>
|
||
|
|
||
|
class Tpm2NetEffect : public Effect {
|
||
|
protected:
|
||
|
Window* window = &Window::window_full;
|
||
|
WiFiUDP _udp;
|
||
|
uint16_t _pixel_index = 0;
|
||
|
|
||
|
void _parse_command(uint16_t size, uint8_t packet_number);
|
||
|
void _parse_data(uint16_t size, uint8_t packet_number);
|
||
|
void _respond(uint8_t* data, uint8_t len);
|
||
|
void _respond_ack();
|
||
|
void _respond_with_data(uint8_t* data, uint8_t len);
|
||
|
void _respond_unknown_command();
|
||
|
unsigned long _last_packet_at = 0;
|
||
|
|
||
|
public:
|
||
|
Tpm2NetEffect();
|
||
|
virtual ~Tpm2NetEffect();
|
||
|
virtual void loop(uint16_t ms);
|
||
|
bool can_be_shown_with_clock();
|
||
|
String get_name() override { return "tpm2.net"; }
|
||
|
};
|