39#define Q_DEVICE_CODE 0
45#define Q_SENS1_PRESENT 6
49#define Q_SENS2_PRESENT 10
50#define Q_SENS2_TEMP 11
68#define Q_SBM_PRESENT 32
89#define U_FOC1_COMPSTEPS 19
90#define U_FOC2_COMPSTEPS 20
91#define U_FOC_COMP_CYCLE 21
92#define U_FOC1_COMPTRIGGER 22
93#define U_FOC2_COMPTRIGGER 23
94#define U_FOC1_COMPAUTO 24
95#define U_FOC2_COMPAUTO 25
102#define U_HUM_SENSOR 32
103#define U_HUM_START 33
105#define U_TEMP_PRESET 35
107#define U_OVERVOLTAGE 37
108#define U_OVERCURRENT 38
110#define U_COMPSENSOR 40
125 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
126 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
127 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
154 virtual bool Handshake();
158 int focuserIndex {0};
160 void setFindex(
int index);
162 bool updateSettings(
const char *getCom,
const char *setCom,
int index,
const char *value);
163 bool updateSettings(
const char *getCom,
const char *setCom, std::map<int, std::string> values);
164 std::vector<std::string> split(
const std::string &input,
const std::string ®ex);
165 std::string doubleToStr(
double val);
166 std::string intToStr(
double val);
254 static constexpr const char *POWER_TAB{
"Power"};
255 static constexpr const char *ENVIRONMENT_TAB{
"Environment"};
256 static constexpr const char *SETTINGS_TAB{
"Settings"};
257 static constexpr const char *FOC2_SETTINGS_TAB{
"Focuser 2 Settings"};
258 static constexpr const char *FOC1_SETTINGS_TAB{
"Focuser 1 Settings"};
The Serial class manages connection with serial devices including Bluetooth. Serial communication is ...
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
Provides interface to implement focuser functionality.
Provides interface to implement weather reporting and safety monitoring functionality.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
virtual bool SetFocuserBacklash(int32_t steps) override
SetFocuserBacklash Set the focuser backlash compensation value.
IndiAstroLink4mini2()
Constructor.
virtual bool SetFocuserBacklashEnabled(bool enabled) override
SetFocuserBacklashEnabled Enables or disables the focuser backlash compensation.
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual IPState MoveRelFocuser(FocusDirection dir, uint32_t ticks) override
MoveFocuser the focuser to an relative position.
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
virtual bool sendCommand(const char *cmd, char *res)
Serial commands.
virtual bool SetFocuserMaxPosition(uint32_t ticks) override
SetFocuserMaxPosition Set Focuser Maximum position limit in the hardware.
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Save specific properties in the provide config file handler. Child class usually over...
virtual bool AbortFocuser() override
AbortFocuser all focus motion.
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
virtual bool SyncFocuser(uint32_t ticks) override
SyncFocuser Set current position to ticks without moving the focuser.
virtual bool initProperties() override
Overrides.
virtual IPState MoveAbsFocuser(uint32_t targetTicks) override
Focuser interface.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual IPState updateWeather() override
updateWeather Update weather conditions from device or service. The function should not change the st...
virtual bool ReverseFocuser(bool enabled) override
ReverseFocuser Reverse focuser motion direction.
virtual const char * getDefaultName() override
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...