Пример #1
0
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;
    }
}
Пример #2
0
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;
}
Пример #3
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;
}