/* --------------------------------------------------------------------------- * Wrapper functions for C++ * * Author : J.B.Lane UCL December 2000 timcxx.cxx * --------------------------------------------------------------------------- */ #include "TimSequin.h" #include "timscan.h" #include using namespace SctPixelRod; /* --------------------------------------------------------------------------- */ struct TIM_SCAN_RESULTS timScan (unsigned short *buffer, const struct TIM_SCAN_CONTROL scanControl) { struct TIM_SCAN_RESULTS scanResults; TimScanControl control; TimSequin *seq = new TimSequin(); // Create if (seq == 0) printf ("No object: TimSequin\n"); control.size = scanControl.size; control.byte = scanControl.byte; control.print = scanControl.print; control.offset = scanControl.offset; control.orbit = scanControl.orbit; control.pipeline = scanControl.pipeline; control.nextL1ID = scanControl.nextL1ID; control.nextBCID = scanControl.nextBCID; control.nextTTID = scanControl.nextTTID; (void) seq->setBuffer( control.size, buffer ); TimScanResults results = seq->TimSequin::scan( control ); scanResults.lastL1ID = results.lastL1ID; scanResults.lastBCID = results.lastBCID; scanResults.lastTTID = results.lastTTID; scanResults.indexL1A = results.indexL1A; scanResults.countL1A = results.countL1A; scanResults.countECR = results.countECR; scanResults.countBCR = results.countBCR; scanResults.countCAL = results.countCAL; scanResults.bitCount = results.bitCount; scanResults.errors = results.errors; delete seq; return scanResults; }