#pragma once #include #include #include "BootOptions.h" class Platform : public Task { static int s_timezone; static char s_deviceID[15]; public: Platform() : Task("Platform") {} static BootOptions bootopts; static void setTimezone(int tz) { s_timezone = tz; } static int getTimezone() { return s_timezone; } static void addLEDs(CRGB* leds, unsigned int ledCount) { #ifdef PLATFORM_PHOTON FastLED.addLeds(leds, ledCount); #elif defined(BOARD_ESP32) FastLED.addLeds(leds, ledCount); #else //FastLED.addLeds(leds, ledCount); FastLED.addLeds(leds, ledCount); #endif } static const char* name(); static const char* version(); static const String model() { static String modelName = String("Renderbug " ) + Platform::name(); return modelName; } static const String deviceName() { static String devName = model() + " " + Platform::deviceID(); return devName; } static void preSetup(); static void bootSplash(); static void setup(); void loop() override; static bool getLocalTime(struct tm* timedata); static const char* deviceID(); };