Initial release v1.1.0 — ESP32 automated telescope flat panel
Firmware (Arduino Nano ESP32 / PlatformIO): - Native ASCOM Alpaca CoverCalibrator REST API on port 11111 - Alnitak serial protocol on USB at 9600 baud (simultaneous with WiFi) - MG995 servo cover mechanism with non-blocking state machine (D9) - LED brightness PWM via IRLZ44N MOSFET, LEDC channel 0 (D3) - 12V dew heater PWM via IRLZ44N MOSFET, LEDC channel 1 (D5) - mDNS + UDP Alpaca discovery, WiFi watchdog reconnect - SERIAL_DEBUG flag to silence debug output in USB-only mode INDI driver (C++ / libcurl / nlohmann-json): - WiFi mode: HTTP Alpaca via libcurl - USB mode: Alnitak serial via POSIX termios - LightBoxInterface + DustCapInterface + dew heater number property Python controller (PyQt6): - Dark-themed desktop app for direct manual control - AlpacaBackend (requests) + AlnitakBackend (pyserial) - PollWorker QThread; cover, brightness, dew heater panels - QSettings persistence; auto serial port discovery Docs: - system-diagram.svg, wiring-diagram.svg (browser-renderable SVG) - BUILD_NOTES.md with BOM, LM2596 calibration, power-on checklist - WIRING.md quick-reference, README.md, CHANGELOG.md
This commit is contained in:
commit
c32f00a2be
15 changed files with 3653 additions and 0 deletions
39
indi-driver/CMakeLists.txt
Normal file
39
indi-driver/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
project(indi_esp32_flatpanel CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Find required packages
|
||||
find_package(INDI REQUIRED)
|
||||
find_package(CURL REQUIRED)
|
||||
|
||||
# nlohmann/json – header-only, installed via `apt install nlohmann-json3-dev`
|
||||
# or fetched automatically below if not found
|
||||
find_package(nlohmann_json QUIET)
|
||||
if(NOT nlohmann_json_FOUND)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(json
|
||||
URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)
|
||||
FetchContent_MakeAvailable(json)
|
||||
endif()
|
||||
|
||||
include_directories(${INDI_INCLUDE_DIR})
|
||||
|
||||
add_executable(indi_esp32_flatpanel
|
||||
indi_esp32_flatpanel.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(indi_esp32_flatpanel
|
||||
${INDI_LIBRARIES}
|
||||
CURL::libcurl
|
||||
nlohmann_json::nlohmann_json
|
||||
pthread
|
||||
)
|
||||
|
||||
# Install binary and XML descriptor
|
||||
install(TARGETS indi_esp32_flatpanel
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
|
||||
install(FILES indi_esp32_flatpanel.xml
|
||||
DESTINATION ${INDI_DATA_DIR})
|
||||
Loading…
Add table
Add a link
Reference in a new issue