From 3ba136c96263c8f7760e73ea1e55361bee526416 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sat, 13 Jun 2026 18:57:54 -0500 Subject: Initial Scrypted Viewport scaffold Plain ESP-IDF project targeting Waveshare ESP32-P4-ETH-POE with a 5" 800x480 MIPI-DSI capacitive touch panel. Stub app_main with TODOs for Ethernet, mDNS, HTTP API (/health, /config, /frame, /sleep, /brightness), JPEG decode, and touch callback delivery per the v1 spec in README.md. --- main/CMakeLists.txt | 2 ++ main/app_main.cpp | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 main/CMakeLists.txt create mode 100644 main/app_main.cpp (limited to 'main') diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt new file mode 100644 index 0000000..e088a07 --- /dev/null +++ b/main/CMakeLists.txt @@ -0,0 +1,2 @@ +idf_component_register(SRC_DIRS "." + INCLUDE_DIRS ".") diff --git a/main/app_main.cpp b/main/app_main.cpp new file mode 100644 index 0000000..55dbd5d --- /dev/null +++ b/main/app_main.cpp @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +static const char *TAG = "viewport"; + +extern "C" void app_main(void) +{ + ESP_ERROR_CHECK(nvs_flash_init()); + ESP_ERROR_CHECK(esp_netif_init()); + ESP_ERROR_CHECK(esp_event_loop_create_default()); + + ESP_LOGI(TAG, "Scrypted Viewport boot"); + + // TODO: Ethernet (ESP32-P4 EMAC + Waveshare PoE PHY) + // TODO: mDNS _scrypted-viewport._tcp.local + // TODO: HTTP server: /health /config /frame /sleep /brightness + // TODO: MIPI-DSI panel init (800x480 IPS) + // TODO: JPEG decode -> framebuffer + // TODO: Capacitive touch -> callback POST +} -- cgit v1.2.3