How itsthatmatthew/abckoth works
ABcKotH is ESP32 software for an airsoft King-of-the-Hill briefcase. On startup, the firmware creates the game controller and a Wi-Fi access point/web server. Players use physical buttons to change team capture state; elapsed capture time is tracked and shown on the LCD, while LEDs indicate activity. Wi-Fi clients can reach the hosted web content through the server and its DNS service. The sampled source supports these runtime relationships; web assets are listed from the repository tree, but their generated inclusion step is not part of this runtime map.
Main entry points: briefcase.cpp Capture game · webserver.cpp Access point server · button.h Debounced buttons · main.cpp Firmware startup
Components 13
Game control
- Firmware startup
src/main.cpp - Capture game
src/briefcase.cpp - Task runtime
src/utils/sw/task.h
Briefcase hardware
- Debounced buttons
src/utils/hw/button.h - LED controls
src/utils/hw/led.h - LCD display
src/briefcase.cpp - Physical buttons
Wi-Fi interface
- Access point server
src/net/webserver.cpp - DNS service
src/net/webserver.cpp
Web content
- Web assets
src/net/websrc - Not-found page
src/net/websrc/notfound.html
Other components
- Players
- Wi-Fi clients
Connections 14
- Players → Physical buttons: press
- Physical buttons → Debounced buttons: electrical input
- Firmware startup → Capture game: creates game
- Firmware startup → Access point server: creates server
- Capture game → Task runtime: starts task
- Capture game → Debounced buttons: reads inputs
- Debounced buttons → Capture game: invokes callbacks
- Capture game → LED controls: sets indicators
- Capture game → LCD display: prints standings
- Access point server → Web assets: serves routes
- Access point server → Not-found page: serves fallback
- Access point server → DNS service: starts DNS
- Wi-Fi clients → Access point server: requests pages
- Wi-Fi clients → DNS service: resolves hostname