Inspiration

Dependencies

Notes

  • For local HTML/JS development, you can start a webserver on the data directory (i.e. python3 -m http.server) and create a remote.json file with these contents: {"ip":"192.168.30.15"}

How to build a new pattern

  • Add PatternXXX.h
    • Implement void fXXX()
    • Implement String setXXXDelay(String value) and String getXXXDelay()
  • Add definition on Fields.h
  • Add function in PatternDefinition.h
  • Add include in HexaLigths.ino

To Do

  • HTML
    • Handle delaypostvalue
    • Fix Hue to ColorSlider
    • Implement websockets and emit
    • Fix SolidColor
  • EEPROM
    • Provide clean mechanism (delete Magic value)
    • Add pattern specific variables
    • Reenable
    • Add more variables
  • Wifi
    • Test first connection (Does MDNS work?)
    • Update HTML files OTA
    • Update firmware OTA
    • Provide credentials cleanup mechanism
    • MDNS
  • Patterns
    • FRAMES_PER_SECOND
    • rainbow all around edge
    • Add independent palette to different patterns
    • More pattern (twinkle fox, pride)
    • Autoplay
  • Rearchitect for component isolation (each pattern in a self contasined class, no dependencies between storage, wifi, fields, etc)
  • Better REST Logging
  • Remove SolidColor endpoint
  • Fix ColorFieldType
  • palettes and palettesNames in same structure
  • Fix Purple and Green
  • Per pattern variables
  • Unify gHostNameString and gHostNameChar
  • Turn off red led (hardwired)
  • Add bounds check on SetPattern and SetPalette