#pragma once #include "Effect.h" #include "prototypes.h" #include "my_fastled.h" #include "Window.h" #include "config.h" #include 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"; } };