Skip to content

Web Interface

scrollkit.web provides a configuration web server that runs on the LED device itself. It is strictly a configuration UI — there is no display preview, because the server runs on the same device that drives the panel.

ScrollKitWebServer

scrollkit.web.server.ScrollKitWebServer is a single server that works on both platforms via an adapter:

  • CircuitPythonadafruit_httpserver
  • Desktop → an async HTTP adapter

Your application layer is identical on both. Enable it through the app:

class MyApp(ScrollKitApp):
    def __init__(self):
        super().__init__(enable_web=True)   # started when memory allows

Then browse to the device's IP address on your local network to change settings.

Pieces

Module Role
web.server ScrollKitWebServer — the unified server (alias: SLDKWebServer)
web.adapters platform HTTP adapters (CircuitPython / desktop)
web.handlers request routing: static files, API, forms
web.forms form parsing for settings updates
web.templates HTML template rendering

Thread-safety rule

The web server runs in a separate context from the display loop. It must only update settings/flags that the main loop reads — it must never mutate the message/display queue directly. Settings changes take effect on the next content cycle.