Filter wheel in SBIG STL-6303E

Discussion in 'Scripting and Programming' started by husser, Dec 12, 2016.

  1. husser

    husser Standard User

    Joined:
    Dec 12, 2016
    Messages:
    2
    Hi,

    I'm trying to control the filter wheel of our SBIG STL-6303E using the SBIG Universal Driver and the CSBIGCam class in Linux.

    I start by setting the filter wheel:
    _cam = new CSBIGCam(DEV_USB);
    _cam->SetCFWModel(CFWSEL_CFW8);​

    Setting a new filter works fine, like this:
    _cam->SetCFWPosition(CFWP_1);​
    The camera correctly changes the filter to the one set.

    But if I try to retrieve the status like this:
    CFW_POSITION position;
    CFW_STATUS status;
    PAR_ERROR err = _cam->GetCFWPositionAndStatus(position, status);​
    I always get back the same values, in my case position=CFW_UNKNOWN and status=CFWS_IDLE.

    Any ideas what's going wrong here?

    Cheers,
    Tim
     
  2. Adam Robichaud

    Adam Robichaud Staff Member

    Joined:
    Sep 29, 2014
    Messages:
    511
    Location:
    Ottawa
    Do either CSBIGCam::GetCFWPositionAndStatus(...) or CSBIGCam::GetCFWErrorString() return any useful information?
     
  3. husser

    husser Standard User

    Joined:
    Dec 12, 2016
    Messages:
    2
    Nope, this code:

    CFW_POSITION position;
    CFW_STATUS status;
    PAR_ERROR err = _cam->GetCFWPositionAndStatus(position, status);

    printf("position: %d, status: %d\n", (int)position, (int)status);
    printf("err: %d\n", (int)err);
    printf("err string: %s\n", _cam->GetErrorString(err).c_str());
    printf("cfw err string: %s\n", _cam->GetCFWErrorString().c_str());​

    gives this output:

    position: 0, status: 1
    err: 0
    err string: No Error
    cfw err string: No CFW Error​

    That's what's irritating me so much: there doesn't seem to be an obvious error...
    Still, position and status in the example above always get the same values, i.e. position=0 and status=1.
     

Share This Page