70 explicit Communication(
const std::string &name,
int port) : m_DeviceName(name), m_PortFD(port) {}
73 return m_DeviceName.c_str();
78 template <
typename T =
int32_t>
bool genericRequest(
const std::string &node,
const std::string &
type,
const json &
command, T *response =
nullptr);
88 template <
typename T =
int32_t>
bool get(
NodeType type,
const std::string ¶meter, T &value);
118 std::string m_DeviceName;
122 static constexpr
const int DRIVER_LEN {4096};
123 static const char DRIVER_STOP_CHAR { 0xD };
124 static const char DRIVER_TIMEOUT { 5 };
133 Focuser(
const std::string &name,
int port);
199 Esatto(
const std::string &name,
int port);
217 explicit Arco(
const std::string &name,
int port);
248 std::unique_ptr<Communication> m_Communication;
259 explicit GIOTTO(
const std::string &name,
int port);
271 std::unique_ptr<Communication> m_Communication;
282 explicit ALTO(
const std::string &name,
int port);
299 bool close(
bool fast =
false);
300 bool open(
bool fast =
false);
305 std::unique_ptr<Communication> m_Communication;
bool close(bool fast=false)
bool storeClosedPosition()
bool getModel(std::string &model)
ALTO(const std::string &name, int port)
bool setPosition(uint8_t value)
bool open(bool fast=false)
bool getStatus(json &status)
bool setEnabled(bool enabled)
bool getStatus(json &status)
bool getMotorInfo(json &info)
bool moveAbsolutePoition(Units unit, double value)
Arco(const std::string &name, int port)
bool sync(Units unit, double value)
bool getSerialNumber(std::string &response)
bool getAbsolutePosition(Units unit, double &value)
bool reverse(bool enabled)
bool getFirmwareVersion(std::string &response)
bool command(NodeType type, const json &jsonCommand)
bool genericRequest(const std::string &node, const std::string &type, const json &command, T *response=nullptr)
bool sendRequest(const json &command, json *response=nullptr)
bool getStringAsDouble(NodeType type, const std::string ¶meter, double &value)
getStringAsDouble Same as get, but it receives a string and scan it for double.
bool get(NodeType type, const std::string ¶meter, T &value)
const char * getDeviceName()
Communication(const std::string &name, int port)
bool set(NodeType type, const json &value)
bool setBacklash(uint32_t steps)
Esatto(const std::string &name, int port)
bool getBacklash(uint32_t &steps)
bool getVoltageUSB(double &value)
bool getVoltage12v(double &value)
std::unique_ptr< Communication > m_Communication
bool getAbsolutePosition(uint32_t &position)
bool getExternalTemp(double &value)
bool isHallSensorDetected(bool &isDetected)
bool getSerialNumber(std::string &response)
Focuser(const std::string &name, int port)
bool getFirmwareVersion(std::string &response)
bool setBacklash(uint32_t steps)
bool getCurrentSpeed(uint32_t &speed)
bool getMotorTemp(double &value)
bool getMaxPosition(uint32_t &position)
bool getStatus(json &status)
bool getBacklash(uint32_t &steps)
bool goAbsolutePosition(uint32_t position)
GIOTTO(const std::string &name, int port)
bool getMaxBrightness(uint16_t &value)
bool setLightEnabled(bool enabled)
bool getBrightness(uint16_t &value)
bool setBrightness(uint16_t value)
bool getMotorSettings(struct MotorRates &rates, struct MotorCurrents ¤ts, bool &motorHoldActive)
bool setMotorCurrents(const MotorCurrents ¤ts)
bool setMotorHold(bool hold)
bool applyMotorPreset(const std::string &name)
SestoSenso2(const std::string &name, int port)
bool setMotorUserPreset(uint32_t index, const MotorRates &rates, const MotorCurrents ¤ts)
bool storeAsMaxPosition()
bool storeAsMinPosition()
bool setMotorRates(const MotorRates &rates)
a class to store JSON values
struct PrimalucaLabs::MotorCurrents MotorCurrents
struct PrimalucaLabs::MotorRates MotorRates
basic_json<> json
default specialization