ScopeSim::ScopeSim() { DBG_SCOPE = INDI::Logger::getInstance().addDebugLevel("Scope Verbose", "SCOPE"); SetTelescopeCapability(TELESCOPE_CAN_PARK | TELESCOPE_CAN_SYNC | TELESCOPE_CAN_GOTO | TELESCOPE_CAN_ABORT | TELESCOPE_HAS_PIER_SIDE | TELESCOPE_HAS_TIME | TELESCOPE_HAS_LOCATION | TELESCOPE_HAS_TRACK_MODE | TELESCOPE_CAN_CONTROL_TRACK | TELESCOPE_HAS_TRACK_RATE, 4); /* initialize random seed: */ srand(time(nullptr)); }
StarbookDriver::StarbookDriver() { setVersion(STARBOOK_DRIVER_VERSION_MAJOR, STARBOOK_DRIVER_VERSION_MINOR); SetTelescopeCapability( TELESCOPE_CAN_PARK | TELESCOPE_CAN_GOTO | TELESCOPE_CAN_SYNC | TELESCOPE_CAN_ABORT | TELESCOPE_HAS_TIME | TELESCOPE_HAS_LOCATION, starbook::MAX_SPEED + 1); // we are using custom Connection::Curl setTelescopeConnection(CONNECTION_NONE); }
/* Constructor */ IEQPro::IEQPro() { set_ieqpro_device(getDeviceName()); //ctor currentRA=ln_get_apparent_sidereal_time(ln_get_julian_from_sys()); currentDEC=90; scopeInfo.gpsStatus = GPS_OFF; scopeInfo.systemStatus = ST_STOPPED; scopeInfo.trackRate = TR_SIDEREAL; scopeInfo.slewRate = SR_1; scopeInfo.timeSource = TS_RS232; scopeInfo.hemisphere = HEMI_NORTH; DBG_SCOPE = INDI::Logger::getInstance().addDebugLevel("Scope Verbose", "SCOPE"); SetTelescopeCapability(TELESCOPE_CAN_PARK | TELESCOPE_CAN_SYNC | TELESCOPE_CAN_GOTO | TELESCOPE_CAN_ABORT | TELESCOPE_HAS_TIME | TELESCOPE_HAS_LOCATION,9); }
bool SynscanDriver::initProperties() { INDI::Telescope::initProperties(); SetTelescopeCapability(TELESCOPE_CAN_PARK | TELESCOPE_CAN_ABORT | TELESCOPE_CAN_SYNC | TELESCOPE_CAN_GOTO | TELESCOPE_HAS_TIME | TELESCOPE_HAS_LOCATION | TELESCOPE_HAS_PIER_SIDE | TELESCOPE_CAN_CONTROL_TRACK | TELESCOPE_HAS_TRACK_MODE, 10); SetParkDataType(PARK_RA_DEC_ENCODER); // Slew Rates strncpy(SlewRateS[0].label, "1x", MAXINDILABEL); strncpy(SlewRateS[1].label, "8x", MAXINDILABEL); strncpy(SlewRateS[2].label, "16x", MAXINDILABEL); strncpy(SlewRateS[3].label, "32x", MAXINDILABEL); strncpy(SlewRateS[4].label, "64x", MAXINDILABEL); strncpy(SlewRateS[5].label, "128x", MAXINDILABEL); strncpy(SlewRateS[6].label, "400x", MAXINDILABEL); strncpy(SlewRateS[7].label, "600x", MAXINDILABEL); strncpy(SlewRateS[8].label, "Max", MAXINDILABEL); strncpy(SlewRateS[9].label, "Custom", MAXINDILABEL); IUResetSwitch(&SlewRateSP); // Max is the default SlewRateS[8].s = ISS_ON; ////////////////////////////////////////////////////////////////////////////////////////////////// /// Mount Info Text Property ////////////////////////////////////////////////////////////////////////////////////////////////// IUFillText(&StatusT[MI_FW_VERSION], "MI_FW_VERSION", "Firmware", "-"); IUFillText(&StatusT[MI_MOUNT_MODEL], "MI_MOUNT_MODEL", "Model", "-"); IUFillText(&StatusT[MI_GOTO_STATUS], "MI_GOTO_STATUS", "Goto", "-"); IUFillText(&StatusT[MI_POINT_STATUS], "MI_POINT_STATUS", "Pointing", "-"); IUFillText(&StatusT[MI_TRACK_MODE], "MI_TRACK_MODE", "Tracking Mode", "-"); IUFillTextVector(&StatusTP, StatusT, 5, getDeviceName(), "MOUNT_STATUS", "Status", MOUNT_TAB, IP_RO, 60, IPS_IDLE); ////////////////////////////////////////////////////////////////////////////////////////////////// /// Custom Slew Rate ////////////////////////////////////////////////////////////////////////////////////////////////// IUFillNumber(&CustomSlewRateN[AXIS_RA], "AXIS1", "RA/AZ (arcsecs/s)", "%.2f", 0.05, 800, 10, 0); IUFillNumber(&CustomSlewRateN[AXIS_DE], "AXIS2", "DE/AL (arcsecs/s)", "%.2f", 0.05, 800, 10, 0); IUFillNumberVector(&CustomSlewRateNP, CustomSlewRateN, 2, getDeviceName(), "CUSTOM_SLEW_RATE", "Custom Slew", MOTION_TAB, IP_RW, 60, IPS_IDLE); ////////////////////////////////////////////////////////////////////////////////////////////////// /// Guide Rate ////////////////////////////////////////////////////////////////////////////////////////////////// IUFillNumber(&GuideRateN[AXIS_RA], "GUIDE_RATE_WE", "W/E Rate", "%.2f", 0, 1, 0.1, 0.5); IUFillNumber(&GuideRateN[AXIS_DE], "GUIDE_RATE_NS", "N/S Rate", "%.2f", 0, 1, 0.1, 0.5); IUFillNumberVector(&GuideRateNP, GuideRateN, 2, getDeviceName(), "GUIDE_RATE", "Guiding Rate", GUIDE_TAB, IP_RW, 0, IPS_IDLE); ////////////////////////////////////////////////////////////////////////////////////////////////// /// Horizontal Coords ////////////////////////////////////////////////////////////////////////////////////////////////// IUFillNumber(&HorizontalCoordsN[AXIS_AZ], "AZ", "Az D:M:S", "%10.6m", 0.0, 360.0, 0.0, 0); IUFillNumber(&HorizontalCoordsN[AXIS_ALT], "ALT", "Alt D:M:S", "%10.6m", -90., 90.0, 0.0, 0); IUFillNumberVector(&HorizontalCoordsNP, HorizontalCoordsN, 2, getDeviceName(), "HORIZONTAL_COORD", "Horizontal Coord", MAIN_CONTROL_TAB, IP_RW, 0, IPS_IDLE); AddTrackMode("TRACK_ALTAZ", "Alt/Az"); AddTrackMode("TRACK_EQ", "Equatorial", true); AddTrackMode("TRACK_PEC", "PEC Mode"); SetParkDataType(PARK_AZ_ALT); // Initialize guiding properties. initGuiderProperties(getDeviceName(), GUIDE_TAB); addAuxControls(); //GUIDE Set guider interface. setDriverInterface(getDriverInterface() | GUIDER_INTERFACE); return true; }
ScopeScript::ScopeScript() { SetTelescopeCapability(TELESCOPE_CAN_PARK | TELESCOPE_CAN_SYNC | TELESCOPE_CAN_GOTO | TELESCOPE_CAN_ABORT, 4); }
LX200SS2000PC::LX200SS2000PC(void) : LX200Generic() { setVersion(1, 0); SetTelescopeCapability(TELESCOPE_CAN_SYNC | TELESCOPE_CAN_ABORT | TELESCOPE_HAS_TIME | TELESCOPE_HAS_LOCATION, 4); }