bool Weather::updateProperties() { DefaultDevice::updateProperties(); if (isConnected()) { WI::updateProperties(); updateTimerID = -1; defineSwitch(&RefreshSP); defineNumber(&UpdatePeriodNP); defineNumber(&LocationNP); defineText(&ActiveDeviceTP); DEBUG(Logger::DBG_SESSION, "Weather update is in progress..."); TimerHit(); } else { WI::updateProperties(); deleteProperty(RefreshSP.name); deleteProperty(UpdatePeriodNP.name); deleteProperty(LocationNP.name); deleteProperty(ActiveDeviceTP.name); } return true; }
/******************************************************************************* ** INDI is asking us to update the properties because there is a change in ** CONNECTION status. This fucntion is called whenever the device is ** connected or disconnected. *******************************************************************************/ bool DSICCD::updateProperties() { // Call parent update properties first INDI::CCD::updateProperties(); if (isConnected()) { // Let's get parameters now from CCD setupParams(); // Start the timer SetTimer(POLLMS); defineNumber(&GainNP); defineNumber(&OffsetNP); defineNumber(&CCDTempNP); defineSwitch(&VddExpSP); } else { deleteProperty(GainNP.name); deleteProperty(OffsetNP.name); deleteProperty(CCDTempNP.name); deleteProperty(VddExpSP.name); } return true; }
bool IndiRpialtimu::updateProperties() { // Call parent update properties first INDI::DefaultDevice::updateProperties(); if (isConnected()) { defineNumber(&PositionNP); defineNumber(&PressureNP); defineNumber(&AltitudeNP); defineNumber(&TemperatureNP); defineNumber(&AdjustmentNP); loadConfig(); } else { // We're disconnected deleteProperty(PositionNP.name); deleteProperty(PressureNP.name); deleteProperty(AltitudeNP.name); deleteProperty(TemperatureNP.name); deleteProperty(AdjustmentNP.name); } return true; }
/************************************************************************************ * * ***********************************************************************************/ bool ScopeDome::updateProperties() { INDI::Dome::updateProperties(); if (isConnected()) { defineSwitch(&FindHomeSP); defineSwitch(&DerotateSP); defineSwitch(&AutoCloseSP); defineSwitch(&PowerRelaysSP); defineSwitch(&RelaysSP); defineNumber(&DomeHomePositionNP); defineNumber(&EnvironmentSensorsNP); defineSwitch(&SensorsSP); defineSwitch(&ParkShutterSP); defineNumber(&FirmwareVersionsNP); SetupParms(); } else { deleteProperty(FindHomeSP.name); deleteProperty(DerotateSP.name); deleteProperty(PowerRelaysSP.name); deleteProperty(RelaysSP.name); deleteProperty(SensorsSP.name); deleteProperty(AutoCloseSP.name); deleteProperty(DomeHomePositionNP.name); deleteProperty(EnvironmentSensorsNP.name); deleteProperty(ParkShutterSP.name); deleteProperty(FirmwareVersionsNP.name); } return true; }
bool lacerta_mfoc::updateProperties() { // Get Initial Position before we define it in the INDI::Focuser class FocusAbsPosN[0].value = GetAbsFocuserPosition(); INDI::Focuser::updateProperties(); if (isConnected()) { defineNumber(&BacklashNP); defineNumber(&TempCompNP); defineSwitch(&TempTrackDirSP); defineSwitch(&StartSavedPositionSP); } else { deleteProperty(BacklashNP.name); deleteProperty(TempCompNP.name); deleteProperty(TempTrackDirSP.name); deleteProperty(StartSavedPositionSP.name); } return true; }
bool TCFS::updateProperties() { //LOGF_DEBUG("%s %s",__FUNCTION__, me); INDI::Focuser::updateProperties(); if (isConnected()) { defineSwitch(&FocusGotoSP); defineNumber(&FocusTemperatureNP); defineSwitch(&FocusPowerSP); defineSwitch(&FocusModeSP); defineSwitch(&FocusTelemetrySP); defineNumber(&FocusModeANP); defineNumber(&FocusModeBNP);; GetFocusParams(); } else { deleteProperty(FocusGotoSP.name); deleteProperty(FocusTemperatureNP.name); deleteProperty(FocusPowerSP.name); deleteProperty(FocusModeSP.name); deleteProperty(FocusTelemetrySP.name); deleteProperty(FocusModeANP.name); deleteProperty(FocusModeBNP.name);; } return true; }
bool MaxDomeII::updateProperties() { INDI::Dome::updateProperties(); if (isConnected()) { defineNumber(&HomeAzimuthNP); defineNumber(&TicksPerTurnNP); defineNumber(&ShutterOperationAzimuthNP); defineSwitch(&ShutterConflictSP); defineSwitch(&ShutterModeSP); defineSwitch(&HomeSP); defineNumber(&WatchDogNP); SetupParms(); } else { deleteProperty(HomeAzimuthNP.name); deleteProperty(TicksPerTurnNP.name); deleteProperty(ShutterOperationAzimuthNP.name); deleteProperty(ShutterConflictSP.name); deleteProperty(ShutterModeSP.name); deleteProperty(HomeSP.name); deleteProperty(WatchDogNP.name); } return true; }
bool IpFocus::updateProperties() { INDI::Focuser::updateProperties(); if (isConnected()) { defineNumber(&SeeingNP); defineNumber(&FWHMNP); defineText(&BacklashStepsP); defineText(&FocuserEndpointTP); defineText(&AlwaysApproachDirectionP); SetupParms(); } else { deleteProperty(SeeingNP.name); deleteProperty(FWHMNP.name); deleteProperty(BacklashStepsP.name); deleteProperty(FocuserEndpointTP.name); deleteProperty(AlwaysApproachDirectionP.name); } return true; }
void GPhotoCCD::ISGetProperties(const char *dev) { INDI::CCD::ISGetProperties(dev); defineText(&PortTP); loadConfig(true, "DEVICE_PORT"); if (isConnected()) { if (mIsoSP.nsp > 0) defineSwitch(&mIsoSP); if (mFormatSP.nsp > 0) defineSwitch(&mFormatSP); defineSwitch(&transferFormatSP); defineSwitch(&livePreviewSP); defineSwitch(&autoFocusSP); defineSwitch(&FocusMotionSP); defineNumber(&FocusSpeedNP); defineNumber(&FocusTimerNP); ShowExtendedOptions(); ITextVectorProperty *modelTP = getText("model"); if (modelTP && !strcmp(modelTP->label, "model") && strstr(modelTP->tp[0].text, "Canon")) defineNumber(&mMirrorLockNP); } // Add Debug, Simulator, and Configuration controls addAuxControls(); }
void GPhotoCCD::ISGetProperties(const char *dev) { INDI::CCD::ISGetProperties(dev); defineText(&PortTP); loadConfig(true, "DEVICE_PORT"); if (isConnected()) { if(PortTP.tp[0].text && strlen(PortTP.tp[0].text)) { defineNumber(&mMirrorLockNP); } if (mIsoSP.nsp > 0) defineSwitch(&mIsoSP); if (mFormatSP.nsp > 0) defineSwitch(&mFormatSP); defineSwitch(&transferFormatSP); defineSwitch(&livePreviewSP); defineSwitch(&autoFocusSP); defineSwitch(&FocusMotionSP); defineNumber(&FocusSpeedNP); defineNumber(&FocusTimerNP); ShowExtendedOptions(); } // Add Debug, Simulator, and Configuration controls addAuxControls(); }
bool MoonLite::updateProperties() { INDI::Focuser::updateProperties(); if (isConnected()) { defineNumber(&TemperatureNP); defineNumber(&MaxTravelNP); defineSwitch(&StepModeSP); defineNumber(&TemperatureSettingNP); defineSwitch(&TemperatureCompensateSP); defineNumber(&SyncNP); GetFocusParams(); loadConfig(true); DEBUG(INDI::Logger::DBG_SESSION, "MoonLite paramaters updated, focuser ready for use."); } else { deleteProperty(TemperatureNP.name); deleteProperty(MaxTravelNP.name); deleteProperty(StepModeSP.name); deleteProperty(TemperatureSettingNP.name); deleteProperty(TemperatureCompensateSP.name); deleteProperty(SyncNP.name); } return true; }
bool Paramount::updateProperties() { INDI::Telescope::updateProperties(); if (isConnected()) { if (isTheSkyTracking()) { IUResetSwitch(&TrackModeSP); TrackModeS[TRACK_SIDEREAL].s = ISS_ON; TrackState = SCOPE_TRACKING; } else { IUResetSwitch(&TrackModeSP); TrackState = SCOPE_IDLE; } //defineSwitch(&TrackModeSP); //defineNumber(&TrackRateNP); defineNumber(&JogRateNP); defineNumber(&GuideNSNP); defineNumber(&GuideWENP); defineNumber(&GuideRateNP); // Initial currentRA and currentDEC to LST and +90 or -90 if (InitPark()) { // If loading parking data is successful, we just set the default parking values. SetAxis1ParkDefault(currentRA); SetAxis2ParkDefault(currentDEC); } else { // Otherwise, we set all parking data to default in case no parking data is found. SetAxis1Park(currentRA); SetAxis2Park(currentDEC); SetAxis1ParkDefault(currentRA); SetAxis2ParkDefault(currentDEC); } SetParked(isTheSkyParked()); } else { //deleteProperty(TrackModeSP.name); //deleteProperty(TrackRateNP.name); deleteProperty(JogRateNP.name); deleteProperty(GuideNSNP.name); deleteProperty(GuideWENP.name); deleteProperty(GuideRateNP.name); } return true; }
bool ATIKCCD::updateProperties() { INDI::CCD::updateProperties(); if (isConnected()) { if (HasCooler()) { defineNumber(&CoolerNP); loadConfig(true, "CCD_COOLER_POWER"); defineSwitch(&CoolerSP); loadConfig(true, "CCD_COOLER"); } // Even if there is no cooler, we define temperature property as READ ONLY else { TemperatureNP.p = IP_RO; defineNumber(&TemperatureNP); } if (m_isHorizon) { defineSwitch(&ControlPresetsSP); defineNumber(&ControlNP); } if (m_CameraFlags & ARTEMIS_PROPERTIES_CAMERAFLAGS_HAS_FILTERWHEEL) { INDI::FilterInterface::updateProperties(); } defineText(&VersionInfoSP); } else { if (HasCooler()) { deleteProperty(CoolerNP.name); deleteProperty(CoolerSP.name); } else deleteProperty(TemperatureNP.name); if (m_isHorizon) { deleteProperty(ControlPresetsSP.name); deleteProperty(ControlNP.name); } if (m_CameraFlags & ARTEMIS_PROPERTIES_CAMERAFLAGS_HAS_FILTERWHEEL) { INDI::FilterInterface::updateProperties(); } deleteProperty(VersionInfoSP.name); } return true; }
bool GPhotoCCD::updateProperties() { INDI::CCD::updateProperties(); if (isConnected()) { if (mIsoSP.nsp > 0) defineSwitch(&mIsoSP); if (mFormatSP.nsp > 0) defineSwitch(&mFormatSP); defineSwitch(&transferFormatSP); defineSwitch(&livePreviewSP); defineSwitch(&autoFocusSP); defineSwitch(&FocusMotionSP); defineNumber(&FocusSpeedNP); defineNumber(&FocusTimerNP); imageBP=getBLOB("CCD1"); imageB=imageBP->bp; // Dummy values until first capture is done SetCCDParams(1280, 1024, 8, 5.4, 5.4); if (sim == false) { ShowExtendedOptions(); DEBUG(INDI::Logger::DBG_SESSION, "Please update the camera pixel size in the Image Info section. The camera resolution will be updated after the first exposure is complete."); // Only show mirror lock if the camera is canon ITextVectorProperty *modelTP = getText("model"); if (modelTP && !strcmp(modelTP->label, "model") && strstr(modelTP->tp[0].text, "Canon")) defineNumber(&mMirrorLockNP); } //timerID = SetTimer(POLLMS); } else { if (mIsoSP.nsp > 0) deleteProperty(mIsoSP.name); if (mFormatSP.nsp > 0) deleteProperty(mFormatSP.name); deleteProperty(mMirrorLockNP.name); deleteProperty(livePreviewSP.name); deleteProperty(autoFocusSP.name); deleteProperty(transferFormatSP.name); deleteProperty(FocusMotionSP.name); deleteProperty(FocusSpeedNP.name); deleteProperty(FocusTimerNP.name); HideExtendedOptions(); //rmTimer(timerID); } return true; }
bool JoyStick::updateProperties() { INDI::DefaultDevice::updateProperties(); char buf[8]; if (isConnected()) { // Name IUSaveText(&JoystickInfoT[0], driver->getName()); // Version snprintf(buf, 8, "%d", driver->getVersion()); IUSaveText(&JoystickInfoT[1], buf); // # of Joysticks snprintf(buf, 8, "%d", driver->getNumOfJoysticks()); IUSaveText(&JoystickInfoT[2], buf); // # of Axes snprintf(buf, 8, "%d", driver->getNumOfAxes()); IUSaveText(&JoystickInfoT[3], buf); // # of buttons snprintf(buf, 8, "%d", driver->getNumrOfButtons()); IUSaveText(&JoystickInfoT[4], buf); defineText(&JoystickInfoTP); for (int i=0; i < driver->getNumOfJoysticks(); i++) defineNumber(&JoyStickNP[i]); defineNumber(&AxisNP); defineSwitch(&ButtonSP); // N.B. Only set callbacks AFTER we define our properties above // because these calls backs otherwise can be called asynchronously // and they mess up INDI XML output driver->setJoystickCallback(joystickHelper); driver->setAxisCallback(axisHelper); driver->setButtonCallback(buttonHelper); } else { deleteProperty(JoystickInfoTP.name); for (int i=0; i < driver->getNumOfJoysticks(); i++) deleteProperty(JoyStickNP[i].name); deleteProperty(AxisNP.name); deleteProperty(ButtonSP.name); delete [] JoyStickNP; delete [] JoyStickN; delete [] AxisN; delete [] ButtonS; } return true; }
bool ASICCD::updateProperties() { INDI::CCD::updateProperties(); if (isConnected()) { if (HasCooler()) { defineNumber(&CoolerNP); defineSwitch(&CoolerSP); } // Even if there is no cooler, we define temperature property as READ ONLY else { TemperatureNP.p = IP_RO; defineNumber(&TemperatureNP); } // Let's get parameters now from CCD setupParams(); if (ControlNP.nnp > 0) defineNumber(&ControlNP); if (ControlSP.nsp > 0) defineSwitch(&ControlSP); if (VideoFormatSP.nsp > 0) defineSwitch(&VideoFormatSP); SetTimer(POLLMS); } else { if (HasCooler()) { deleteProperty(CoolerNP.name); deleteProperty(CoolerSP.name); } else deleteProperty(TemperatureNP.name); if (ControlNP.nnp > 0) deleteProperty(ControlNP.name); if (ControlSP.nsp > 0) deleteProperty(ControlSP.name); if (VideoFormatSP.nsp > 0) deleteProperty(VideoFormatSP.name); } return true; }
/************************************************************************************** ** INDI is asking us to submit list of properties for the device ***************************************************************************************/ void RadioSim::ISGetProperties(const char *dev) { INDI::Detector::ISGetProperties(dev); if (isConnected()) { // Define our properties defineNumber(&DetectorPropertiesNP); defineNumber(&DetectorCoordsNP); } }
bool ScopeSim::updateProperties() { INDI::Telescope::updateProperties(); if (isConnected()) { defineNumber(&GuideNSNP); defineNumber(&GuideWENP); defineNumber(&GuideRateNP); #ifdef USE_EQUATORIAL_PE defineNumber(&EqPENV); defineSwitch(&PEErrNSSP); defineSwitch(&PEErrWESP); #endif if (InitPark()) { // If loading parking data is successful, we just set the default parking values. SetAxis1ParkDefault(currentRA); SetAxis2ParkDefault(currentDEC); if (isParked()) { currentRA = ParkPositionN[AXIS_RA].value; currentDEC= ParkPositionN[AXIS_DE].value; } } else { // Otherwise, we set all parking data to default in case no parking data is found. SetAxis1Park(currentRA); SetAxis2Park(currentDEC); SetAxis1ParkDefault(currentRA); SetAxis2ParkDefault(currentDEC); } sendTimeFromSystem(); } else { deleteProperty(GuideNSNP.name); deleteProperty(GuideWENP.name); #ifdef USE_EQUATORIAL_PE deleteProperty(EqPENV.name); deleteProperty(PEErrNSSP.name); deleteProperty(PEErrWESP.name); #endif deleteProperty(GuideRateNP.name); } return true; }
bool QSICCD::updateProperties() { INDI::CCD::updateProperties(); if (isConnected()) { defineSwitch(&CoolerSP); defineSwitch(&ShutterSP); defineNumber(&CoolerNP); defineNumber(&FilterSlotNP); defineSwitch(&FilterSP); setupParams(); if (FilterNameT != NULL) defineText(FilterNameTP); manageDefaults(); timerID = SetTimer(POLLMS); } else { deleteProperty(CoolerSP.name); deleteProperty(ShutterSP.name); deleteProperty(CoolerNP.name); deleteProperty(FilterSlotNP.name); deleteProperty(FilterSP.name); if (canSetGain) deleteProperty(GainSP.name); if (canSetAB) deleteProperty(ABSP.name); if (canControlFan) deleteProperty(FanSP.name); if (canChangeReadoutSpeed) deleteProperty(ReadOutSP.name); if (FilterNameT != NULL) deleteProperty(FilterNameTP->name); rmTimer(timerID); } return true; }
void ScopeSim::ISGetProperties(const char *dev) { /* First we let our parent populate */ INDI::Telescope::ISGetProperties(dev); if (isConnected()) { defineNumber(&GuideNSNP); defineNumber(&GuideWENP); defineNumber(&GuideRateNP); defineNumber(&EqPENV); defineSwitch(&PEErrNSSP); defineSwitch(&PEErrWESP); } }
void JoyStick::ISGetProperties (const char *dev) { INDI::DefaultDevice::ISGetProperties(dev); defineText(&PortTP); if (isConnected()) { for (int i=0; i < driver->getNumOfJoysticks(); i++) defineNumber(&JoyStickNP[i]); defineNumber(&AxisNP); defineSwitch(&ButtonSP); } }
bool NStep::updateProperties() { if (isConnected()) { // Read these values before defining focuser interface properties readPosition(); readSpeedInfo(); } INDI::Focuser::updateProperties(); if (isConnected()) { if (readTemperature()) defineNumber(&TemperatureNP); bool rc = getStartupValues(); // Settings defineNumber(&MaxSpeedNP); defineSwitch(&CompensationModeSP); defineSwitch(&PrimeManualSP); defineNumber(&CompensationSettingsNP); defineSwitch(&SteppingModeSP); defineNumber(&SteppingPhaseNP); defineSwitch(&CoilStatusSP); if (rc) LOG_INFO("NStep is ready."); else LOG_WARN("Failed to query startup values."); } else { if (TemperatureNP.s == IPS_OK) deleteProperty(TemperatureNP.name); deleteProperty(MaxSpeedNP.name); deleteProperty(CompensationModeSP.name); deleteProperty(PrimeManualSP.name); deleteProperty(CompensationSettingsNP.name); deleteProperty(SteppingModeSP.name); deleteProperty(SteppingPhaseNP.name); deleteProperty(CoilStatusSP.name); } return true; }
void QHYCFW2::ISGetProperties(const char *dev) { INDI::FilterWheel::ISGetProperties(dev); defineNumber(&MaxFilterNP); loadConfig(true, "MAX_FILTER"); }
/******************************************************************************************** ** INDI is asking us to update the properties because there is a change in CONNECTION status ** This fucntion is called whenever the device is connected or disconnected. *********************************************************************************************/ bool INovaCCD::updateProperties() { // Call parent update properties INDI::CCD::updateProperties(); if (isConnected()) { // Define our properties IUSaveText(&iNovaInformationT[0], iNovaSDK_GetName()); IUSaveText(&iNovaInformationT[1], iNovaSDK_SensorName()); IUSaveText(&iNovaInformationT[2], iNovaSDK_SerialNumber()); IUSaveText(&iNovaInformationT[3], (iNovaSDK_HasST4() ? "Yes" : "No")); IUSaveText(&iNovaInformationT[4], (iNovaSDK_HasColorSensor() ? "Yes" : "No")); defineText(&iNovaInformationTP); defineNumber(&CameraPropertiesNP); // Let's get parameters now from CCD setupParams(); // Start the timer SetTimer(POLLMS); } else // We're disconnected { deleteProperty(iNovaInformationTP.name); deleteProperty(CameraPropertiesNP.name); } return true; }
bool ASIEAF::updateProperties() { INDI::Focuser::updateProperties(); if (isConnected()) { float temperature = -273; EAFGetTemp(m_ID, &temperature); if (temperature != -273) { TemperatureN[0].value = temperature; TemperatureNP.s = IPS_OK; defineNumber(&TemperatureNP); } defineSwitch(&BeepSP); GetFocusParams(); LOG_INFO("ASI EAF paramaters updated, focuser ready for use."); SetTimer(POLLMS); } else { if (TemperatureNP.s != IPS_IDLE) deleteProperty(TemperatureNP.name); deleteProperty(BeepSP.name); } return true; }
bool FlipFlat::updateProperties() { INDI::DefaultDevice::updateProperties(); if (isConnected()) { if (isFlipFlat) defineSwitch(&ParkCapSP); defineSwitch(&LightSP); defineNumber(&LightIntensityNP); defineText(&StatusTP); defineText(&FirmwareTP); updateLightBoxProperties(); getStartupData(); } else { if (isFlipFlat) deleteProperty(ParkCapSP.name); deleteProperty(LightSP.name); deleteProperty(LightIntensityNP.name); deleteProperty(StatusTP.name); deleteProperty(FirmwareTP.name); updateLightBoxProperties(); } return true; }
bool INDI::FilterWheel::updateProperties() { // Define more properties after we are connected // first we want to update the values to reflect our actual wheel if(isConnected()) { //initFilterProperties(getDeviceName(), FILTER_TAB); defineNumber(&FilterSlotNP); if (FilterNameT == NULL) GetFilterNames(FILTER_TAB); if (FilterNameT) defineText(FilterNameTP); } else { deleteProperty(FilterSlotNP.name); deleteProperty(FilterNameTP->name); } controller->updateProperties(); return true; }
bool LX200GPS::updateProperties() { LX200Autostar::updateProperties(); if (isConnected()) { defineSwitch(&GPSPowerSP); defineSwitch(&GPSStatusSP); defineSwitch(&GPSUpdateSP); defineSwitch(&AltDecPecSP); defineSwitch(&AzRaPecSP); defineSwitch(&SelenSyncSP); defineSwitch(&AltDecBacklashSP); defineSwitch(&AzRaBacklashSP); defineNumber(&OTATempNP); defineSwitch(&OTAUpdateSP); } else { deleteProperty(GPSPowerSP.name); deleteProperty(GPSStatusSP.name); deleteProperty(GPSUpdateSP.name); deleteProperty(AltDecPecSP.name); deleteProperty(AzRaPecSP.name); deleteProperty(SelenSyncSP.name); deleteProperty(AltDecBacklashSP.name); deleteProperty(AzRaBacklashSP.name); deleteProperty(OTATempNP.name); deleteProperty(OTAUpdateSP.name); } return true; }
/************************************************************************************ * * ***********************************************************************************/ bool FocusLynxF1::updateProperties() /* Add the HUB properties on the driver * Only displayed and used by the first focuser F1 */ { FocusLynxBase::updateProperties(); if (isConnected()) { defineText(&HubTP); defineText(&WiredTP); defineText(&WifiTP); defineNumber(&LedNP); if (getHubConfig()) DEBUG(INDI::Logger::DBG_SESSION, "HUB paramaters updated."); else { DEBUG(INDI::Logger::DBG_ERROR, "Failed to retrieve HUB configuration settings..."); return false; } } else { deleteProperty(HubTP.name); deleteProperty(WiredTP.name); deleteProperty(WifiTP.name); deleteProperty(LedNP.name); } return true; }
void ShelyakEshel::ISGetProperties(const char *dev) { INDI::DefaultDevice::ISGetProperties(dev); defineText(&PortTP); defineNumber(&SettingsNP); loadConfig(true, PortTP.name); }