bool FishCampCCD::Connect() { sim = isSimulation(); if (sim) { LOG_INFO("Simulated Fishcamp is online."); return true; } if (fcUsb_haveCamera()) { fcUsb_cmd_setReadMode(cameraNum, fc_classicDataXfr, fc_16b_data); fcUsb_cmd_setCameraGain(cameraNum, GainN[0].value); fcUsb_cmd_setRoi(cameraNum, 0, 0, camInfo.width - 1, camInfo.height - 1); if (fcUsb_cmd_getTECInPowerOK(cameraNum)) CoolerNP.s = IPS_OK; LOG_INFO("Fishcamp CCD is online."); return true; } else { LOG_ERROR("Cannot find Fishcamp CCD. Please check the logfile and try again."); return false; } }
int FishCampCCD::SetTemperature(double temperature) { TemperatureRequest = temperature; int rc = fcUsb_cmd_setTemperature(cameraNum, TemperatureRequest); LOGF_DEBUG("fcUsb_cmd_setTemperature returns %d", rc); if (fcUsb_cmd_getTECInPowerOK(cameraNum)) CoolerNP.s = IPS_OK; else CoolerNP.s = IPS_IDLE; TemperatureNP.s = IPS_BUSY; IDSetNumber(&TemperatureNP, nullptr); LOGF_INFO("Setting CCD temperature to %+06.2f C", temperature); return 0; }
int FishCampCCD::SetTemperature(double temperature) { TemperatureRequest = temperature; int rc = fcUsb_cmd_setTemperature(cameraNum, TemperatureRequest); DEBUGF(INDI::Logger::DBG_DEBUG, "fcUsb_cmd_setTemperature returns %d", rc); if (fcUsb_cmd_getTECInPowerOK(cameraNum)) CoolerNP.s = IPS_OK; else CoolerNP.s = IPS_IDLE; TemperatureNP.s = IPS_BUSY; IDSetNumber(&TemperatureNP, NULL); DEBUGF(INDI::Logger::DBG_SESSION, "Setting CCD temperature to %+06.2f C", temperature); return 0; }