Instrument Neutral Distributed Interface INDI 2.2.5
indi_seestar_ccd.h
Go to the documentation of this file.
1/*******************************************************************************
2 Copyright(c) 2026 Gord Tulloch. All rights reserved.
3
4 Seestar CCD INDI Driver
5
6 This driver inherits from the generic ASCOM Alpaca CCD driver and applies
7 workarounds for Seestar CCD's non-standard ImageBytes implementation.
8
9 This program is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published by the Free
11 Software Foundation; either version 2 of the License, or (at your option)
12 any later version.
13
14 This program is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
17 more details.
18
19 You should have received a copy of the GNU Library General Public License
20 along with this library; see the file COPYING.LIB. If not, write to
21 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA.
23
24 The full GNU General Public License is included in this distribution in the
25 file called LICENSE.
26*******************************************************************************/
27
28#pragma once
29
30#include "indi_alpaca_ccd.h"
31
45class SeestarCCD : public AlpacaCCD
46{
47 public:
48 SeestarCCD();
49 virtual ~SeestarCCD() = default;
50
51 virtual const char *getDefaultName() override;
52 virtual bool initProperties() override;
53 virtual bool Connect() override;
54 virtual bool updateProperties() override;
55
56 // Disable cooler controls (Seestar doesn't have active cooling)
57 virtual int SetTemperature(double temperature) override;
58
65 virtual std::string buildAlpacaFormData(const nlohmann::json& request) override;
66
67 protected:
80 virtual bool parseImageBytesMetadata(ImageBytesMetadata* metadata, size_t body_size) override;
81};
double temperature
The SeestarCCD class provides Seestar specific workarounds for the ASCOM Alpaca CCD driver.
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual ~SeestarCCD()=default
virtual std::string buildAlpacaFormData(const nlohmann::json &request) override
Build Alpaca form data with Seestar-specific parameter ordering.
virtual bool initProperties() override
Initialize properties initial state and value. The child class must implement this function.
virtual const char * getDefaultName() override
virtual int SetTemperature(double temperature) override
Set CCD temperature.
virtual bool Connect() override
Connect to the device. INDI::DefaultDevice implementation connects to appropriate connection interfac...
virtual bool parseImageBytesMetadata(ImageBytesMetadata *metadata, size_t body_size) override
Parse ImageBytes metadata with Seestar-specific workarounds.
SeestarCCD()
Main entry point - INDI handles this through the unique_ptr.
a class to store JSON values