// SPDX-License-Identifier: LGPL-3.0-or-later // ST4-ESP32: Serial protocol handler (ASCOM/INDI compatible) // Drop-in replacement for original ArduinoCode.ino serial protocol // Extended mode adds PULSE, POS?, SYNC, STATUS?, VERSION? #pragma once #include #include "ST4Controller.h" class ST4Serial { ST4Controller* controller_; HardwareSerial* serial_; String buffer_; bool extendedMode_; void processCommand(const String& cmd); void processExtendedCommand(const String& cmd); String directionStr(ST4Direction dir) const; public: ST4Serial(); void begin(ST4Controller& controller, HardwareSerial& serial = Serial, bool extendedMode = true); void update(); };