IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29911


Ignore:
Timestamp:
Dec 5, 2010, 2:20:49 PM (15 years ago)
Author:
eugene
Message:

add APIs to set data and file status by view

Location:
branches/eam_branches/ipp-20101103/psModules/src/camera
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20101103/psModules/src/camera/pmFPAFlags.c

    r15477 r29911  
    4949}
    5050
     51bool pmReadoutSetFileStatus(pmReadout *readout, bool status)
     52{
     53    PS_ASSERT_PTR_NON_NULL(readout, false);
     54
     55    readout->file_exists = status;
     56    return true;
     57}
     58
     59bool pmFPAviewSetFileStatus (pmFPA *fpa, const pmFPAview *view, bool status) {
     60
     61    PS_ASSERT_PTR_NON_NULL(fpa, false);
     62    PS_ASSERT_PTR_NON_NULL(view, false);
     63
     64    if (view->chip == -1) {
     65        bool set = pmFPASetFileStatus (fpa, status);
     66        return set;
     67    }
     68
     69    if (view->chip >= fpa->chips->n) {
     70        psError(PS_ERR_IO, true, "Requested chip == %d >= fpa->chips->n == %ld", view->chip, fpa->chips->n);
     71        return false;
     72    }
     73    pmChip *chip = fpa->chips->data[view->chip];
     74
     75    if (view->cell == -1) {
     76        bool set = pmChipSetFileStatus (chip, status);
     77        return set;
     78    }
     79
     80    if (view->cell >= chip->cells->n) {
     81        psError(PS_ERR_IO, true, "Requested cell == %d >= chip->cells->n == %ld", view->cell, chip->cells->n);
     82        return false;
     83    }
     84    pmCell *cell = chip->cells->data[view->cell];
     85
     86    if (view->readout == -1) {
     87        bool set = pmCellSetFileStatus (cell, status);
     88        return set;
     89    }
     90
     91    if (view->readout >= cell->readouts->n) {
     92        psError(PS_ERR_IO, true, "Requested readout == %d >= cell->readouds->n == %ld", view->readout, cell->readouts->n);
     93        return false;
     94    }
     95    pmReadout *readout = cell->readouts->data[view->readout];
     96
     97    bool set = pmReadoutSetFileStatus (readout, status);
     98    return set;
     99}
     100
    51101bool pmFPACheckFileStatus(const pmFPA *fpa)
    52102{
     
    125175    for (int i = 0; i < cell->readouts->n; i++) {
    126176        pmReadout *readout = cell->readouts->data[i];
    127         readout->data_exists = status;
    128     }
    129     return true;
     177        pmReadoutSetDataStatus(readout, status);
     178    }
     179    return true;
     180}
     181
     182bool pmReadoutSetDataStatus (pmReadout *readout, bool status)
     183{
     184    PS_ASSERT_PTR_NON_NULL(readout, false);
     185
     186    readout->data_exists = status;
     187    return true;
     188}
     189
     190bool pmFPAviewSetDataStatus (pmFPA *fpa, const pmFPAview *view, bool status) {
     191
     192    PS_ASSERT_PTR_NON_NULL(fpa, false);
     193    PS_ASSERT_PTR_NON_NULL(view, false);
     194
     195    if (view->chip == -1) {
     196        bool set = pmFPASetDataStatus (fpa, status);
     197        return set;
     198    }
     199
     200    if (view->chip >= fpa->chips->n) {
     201        psError(PS_ERR_IO, true, "Requested chip == %d >= fpa->chips->n == %ld", view->chip, fpa->chips->n);
     202        return false;
     203    }
     204    pmChip *chip = fpa->chips->data[view->chip];
     205
     206    if (view->cell == -1) {
     207        bool set = pmChipSetDataStatus (chip, status);
     208        return set;
     209    }
     210
     211    if (view->cell >= chip->cells->n) {
     212        psError(PS_ERR_IO, true, "Requested cell == %d >= chip->cells->n == %ld", view->cell, chip->cells->n);
     213        return false;
     214    }
     215    pmCell *cell = chip->cells->data[view->cell];
     216
     217    if (view->readout == -1) {
     218        bool set = pmCellSetDataStatus (cell, status);
     219        return set;
     220    }
     221
     222    if (view->readout >= cell->readouts->n) {
     223        psError(PS_ERR_IO, true, "Requested readout == %d >= cell->readouds->n == %ld", view->readout, cell->readouts->n);
     224        return false;
     225    }
     226    pmReadout *readout = cell->readouts->data[view->readout];
     227
     228    bool set = pmReadoutSetDataStatus (readout, status);
     229    return set;
    130230}
    131231
  • branches/eam_branches/ipp-20101103/psModules/src/camera/pmFPAFlags.h

    r13190 r29911  
    3434                        );
    3535
     36bool pmReadoutSetFileStatus(pmReadout *readout, bool status);
     37
     38bool pmFPAviewSetFileStatus (pmFPA *fpa, const pmFPAview *view, bool status);
     39
    3640// Functions to check the file_exists flags
    3741
     
    6569                        );
    6670
     71bool pmReadoutSetDataStatus (pmReadout *readout, bool status);
     72
     73bool pmFPAviewSetDataStatus (pmFPA *fpa, const pmFPAview *view, bool status);
    6774
    6875// Functions the check the data_exists flags
Note: See TracChangeset for help on using the changeset viewer.