Repository navigation
Emulator
The emulator fetches a JSON endpoint and renders it with the shared C++ command handlers. It uses raylib for the window and requires a graphical environment.
Use CMake 4.0 or newer, a C++20 compiler, Python 3, and the platform development dependencies required by raylib and OpenSSL. From the repository root:
cmake -S Emulator -B build/emulator
cmake --build build/emulatorCMake fetches raylib, nlohmann/json, and cpp-httplib from their upstream repositories, so initial configuration needs network access. The checked-in configuration follows upstream master branches for those dependencies. It also regenerates embedded fonts from Arduino/src/font/assets/.
The executable target is e_paper_emulator; its location depends on the CMake generator and operating system (for example build/emulator/e_paper_emulator on a typical single-configuration Linux build).
- Start the executable.
- Enter the HTTP or HTTPS endpoint in the text field.
- Click Test.
After clicking Test, returning focus to the window triggers another request when the URL text has not changed, even if the previous request failed. F1 toggles the console. The console supports load_url, help, and clear.
A local server can use http://127.0.0.1:8080/endpoint.php. The endpoint must return HTTP 200 and a version 2.0 document. JSON parsing errors appear in diagnostic output.
The emulator previews layout but does not simulate provisioning, deep sleep, panel refresh timing, or power consumption. See Renderer Notes for shared rendering limitations.