int main () { DEB_GLOBAL_FUNCT(); Camera *m_camera; Interface *m_interface; CtControl* m_control; string hostname = "192.168.0.62"; int port = 6341; int dataPort = 6342; int nx = 512; int ny = 512; int nchips = 4; bool simulate = false; try { m_camera = new Camera(hostname, port, dataPort, nx, ny, nchips, simulate); m_interface = new Interface(*m_camera); m_control = new CtControl(m_interface); string type; m_camera->getDetectorType(type); cout << "Detector type : " << type << endl; string model; m_camera->getDetectorModel(model); cout << "Detector model: " << model << endl; float version; m_camera->getSoftwareVersion(version); cout << "Software version: " << version << endl; HwInterface::StatusType status; m_interface->getStatus(status); cout << "Detector Status: " << status << endl; //reset parameters for acquisition int nframes = 25; double time = 0.1; // m_camera->setEnableCounters(Camera::COUNTER0); m_camera->setEnableCounters(Camera::BOTH); m_camera->setFramesPerTrigger(1); m_camera->setTriggerStartType(Camera::INTERNAL); m_camera->setTriggerStopType(Camera::INTERNAL); // setup fileformat and data saving info CtSaving* saving = m_control->saving(); saving->setDirectory("/home/grm84/data"); saving->setFramesPerFile(nframes); saving->setFormat(CtSaving::HDF5); saving->setPrefix("merlin_"); saving->setSuffix(".hdf"); saving->setSavingMode(CtSaving::AutoFrame); saving->setOverwritePolicy(CtSaving::Overwrite); // do acquisition m_control->image()->setImageType(lima::Bpp12); m_control->acquisition()->setAcqExpoTime(time); m_control->acquisition()->setLatencyTime(0); m_control->acquisition()->setAcqNbFrames(nframes); m_control->prepareAcq(); m_control->startAcq(); // usleep(500000); // m_control->stopAcq(); sleep(5); } catch (Exception &e) { } }
int main() { DEB_GLOBAL_FUNCT(); Camera *m_camera; Interface *m_interface; CtControl* m_control; //DebParams::setModuleFlags(DebParams::AllFlags); //DebParams::setTypeFlags(DebParams::AllFlags); //DebParams::setFormatFlags(DebParams::AllFlags); string path = "/users/blissadm/local/maxipix/tpxatl25/"; string filename = "tpxatl25"; m_camera = new Camera(0, path, filename, true); m_interface = new Interface(*m_camera); m_control = new CtControl(m_interface); // next 2 lines here only for debugging CtAcquisition* m_ct_acq = m_control->acquisition(); m_ct_acq->setAcqExpoTime(2.0); string type; m_camera->getDetectorType(type); cout << "Detector type : " << type << endl; string model; m_camera->getDetectorModel(model); cout << "Detector model: " << model << endl; HwInterface::StatusType status; m_interface->getStatus(status); cout << "Detector Status: " << status << endl; int nframes = 10; // setup fileformat and data saving info CtSaving* saving = m_control->saving(); saving->setDirectory("./"); saving->setFramesPerFile(nframes); saving->setFormat(CtSaving::EDF); saving->setPrefix("maxipix_"); saving->setSuffix(".edf"); saving->setSavingMode(CtSaving::AutoFrame); //saving->setOverwritePolicy(CtSaving::Append); // do acquisition m_control->acquisition()->setAcqExpoTime(2.0); m_control->acquisition()->setLatencyTime(0.01); m_control->acquisition()->setAcqNbFrames(nframes); m_control->prepareAcq(); m_control->startAcq(); while(1) { cout << "sleeping ...." << endl; sleep(1); if (!m_camera->isAcqRunning()) break; } sleep(5); //all done! delete m_control; delete m_interface; delete m_camera; return(1); }
int main(int argc, char *argv[]) { DEB_GLOBAL_FUNCT(); DebParams::setModuleFlags(DebParams::AllFlags); DebParams::setTypeFlags(DebParams::AllFlags); DebParams::setFormatFlags(DebParams::AllFlags); Camera *m_camera; Interface *m_interface; CtControl* m_control; int nbCards = 1; int maxFrames = 16384; string baseIPaddress= "192.168.0.1"; int basePort = -1; string baseMACaddress = "02.00.00.00.00.00"; int nbChans = 6; bool createModule = 1; string modname = "gm"; int debug = 2; int cardIndex = 0; bool noUDP = 0; string directoryName = "/home/xspress3/esrf/xspress3.8chan/settings"; try { m_camera = new Camera(nbCards, maxFrames, baseIPaddress, basePort, baseMACaddress, nbChans, createModule, modname, debug, cardIndex, noUDP, directoryName); m_interface = new Interface(*m_camera); m_control = new CtControl(m_interface); // Setup user timing controls int nframes = 3; double m_exp_time = 5.0; // setup fileformat and data saving info CtSaving* saving = m_control->saving(); saving->setDirectory("/home/xspress3/esrf/gmdata"); saving->setFormat(CtSaving::HDF5); saving->setPrefix("xsp3_"); saving->setSuffix(".hdf"); saving->setSavingMode(CtSaving::Manual); saving->setManagedMode(CtSaving::Hardware); saving->setFramesPerFile(nframes); saving->setOverwritePolicy(CtSaving::Overwrite); // do acquisition m_camera->setCard(0); m_camera->setDataSource(-1, Camera::PlaybackStream0); m_camera->loadPlayback("/home/xspress3/esrf/Lima/camera/xspress3/test/Zr_mca15_pass0.d16", 0, 0); m_camera->setRunMode(true); m_camera->setUseDtc(false); // m_camera->setDeadtimeCalculationEnergy(10000); // m_camera->setDeadtimeCorrectionParameters(-1,2.5304E-9,2.2534E-7, 2.5304E-9,2.2534E-7, true, false); m_control->acquisition()->setAcqNbFrames(nframes); m_control->acquisition()->setAcqExpoTime(m_exp_time); m_camera->setTiming(0, 0, 0, 100); m_control->prepareAcq(); m_control->startAcq(); struct timespec delay, remain; delay.tv_sec = (int)floor(m_exp_time/10.0); delay.tv_nsec = (int)(1E9*(m_exp_time/10.0-floor(m_exp_time/10.0))); DEB_TRACE() << "acq thread will sleep for " << m_exp_time/10.0 << " second"; while (m_camera->isAcqRunning()) { delay.tv_sec = (int)floor(m_exp_time/10.0); delay.tv_nsec = (int)(1E9*(m_exp_time/10.0-floor(m_exp_time/10.0))); DEB_TRACE() << "sleep for " << m_exp_time/10.0 << " second"; nanosleep(&delay, &remain); } DEB_TRACE() << "Finished collection 1"; nframes = 2; m_exp_time = 1.0; long num; saving->getNextNumber(num); saving->setNextNumber(++num); m_control->acquisition()->setAcqNbFrames(nframes); m_control->acquisition()->setAcqExpoTime(m_exp_time); m_camera->setTiming(0, 0, 0, 100); m_control->prepareAcq(); m_control->startAcq(); delay.tv_sec = (int)floor(m_exp_time/10.0); delay.tv_nsec = (int)(1E9*(m_exp_time/10.0-floor(m_exp_time/10.0))); DEB_TRACE() << "acq thread will sleep for " << m_exp_time/10.0 << " second"; while (m_camera->isAcqRunning()) { delay.tv_sec = (int)floor(m_exp_time/10.0); delay.tv_nsec = (int)(1E9*(m_exp_time/10.0-floor(m_exp_time/10.0))); DEB_TRACE()<< "sleep for " << m_exp_time/10.0 << " second"; nanosleep(&delay, &remain); } DEB_TRACE() << "Finished collection 2"; } catch (Exception& ex) { DEB_ERROR() << "LIMA Exception: " << ex; } catch (...) { DEB_ERROR() << "Unkown exception!"; } return 0; }
int main () { DEB_GLOBAL_FUNCT(); // DebParams::setModuleFlags(DebParams::AllFlags); // DebParams::setTypeFlags(DebParams::AllFlags); // DebParams::setFormatFlags(DebParams::AllFlags); Camera *m_camera; Interface *m_interface; CtControl* m_control; string hostname = "192.168.0.62"; int port = 6341; int dataPort = 6342; int nx = 512; int ny = 512; int nchips = 4; bool simulate = false; // float param; // int value; // Camera::Switch mode; // Camera::Depth depth; // Camera::Counter counter; // Camera::GainSetting gain; // Camera::Trigger trigger; try { m_camera = new Camera(hostname, port, dataPort, nx, ny, nchips, simulate); m_interface = new Interface(*m_camera); m_control = new CtControl(m_interface); CtAcquisition* ct_acq = m_control->acquisition(); string type; m_camera->getDetectorType(type); cout << "Detector type : " << type << endl; string model; m_camera->getDetectorModel(model); cout << "Detector model: " << model << endl; float version; m_camera->getSoftwareVersion(version); cout << "Software version: " << version << endl; HwInterface::StatusType status; m_interface->getStatus(status); cout << "Detector Status: " << status << endl; /* // Set/Get operations m_camera->getAcquisitionTime(param); cout << "AcquisitionTime: " << param << endl; m_camera->setAcquisitionTime(3.2); m_camera->getAcquisitionTime(param); cout << "AcquisitionTime: " << param << endl; m_camera->getAcquisitionPeriod(param); cout << "AcquisitionPeriod: " << param << endl; m_camera->setAcquisitionPeriod(5.6); m_camera->getAcquisitionPeriod(param); cout << "AcquisitionPeriod: " << param << endl; m_camera->setChargeSumming(Camera::ON); m_camera->getChargeSumming(mode); cout << "ChargeSumming: " << mode << endl; m_camera->setChargeSumming(Camera::OFF); m_camera->getChargeSumming(mode); cout << "ChargeSumming: " << mode << endl; m_camera->setColourMode(Camera::Colour); m_camera->getColourMode(mode); cout << "ColourMode: " << mode << endl; m_camera->setColourMode(Camera::Monochrome); m_camera->getColourMode(mode); cout << "ColourMode: " << mode << endl; m_camera->setCounterDepth(Camera::BPP12); m_camera->setContinuousRW(Camera::ON); m_camera->getContinuousRW(mode); cout << "ContinuousRW: " << mode << endl; m_camera->setContinuousRW(Camera::OFF); m_camera->getContinuousRW(mode); cout << "ContinuousRW: " << mode << endl; m_camera->setCounterDepth(Camera::BPP1); m_camera->getCounterDepth(depth); cout << "CounterDepth: " << depth << endl; m_camera->setCounterDepth(Camera::BPP6); m_camera->getCounterDepth(depth); cout << "CounterDepth: " << depth << endl; m_camera->setCounterDepth(Camera::BPP24); m_camera->getCounterDepth(depth); cout << "CounterDepth: " << depth << endl; m_camera->setCounterDepth(Camera::BPP12); m_camera->getCounterDepth(depth); cout << "CounterDepth: " << depth << endl; m_camera->setEnableCounters(Camera::BOTH); m_camera->getEnableCounters(counter); cout << "EnableCounters: " << counter << endl; m_camera->setEnableCounters(Camera::COUNTER0); m_camera->getEnableCounters(counter); cout << "EnableCounters: " << counter << endl; m_camera->setEnableCounters(Camera::COUNTER1); m_camera->getEnableCounters(counter); cout << "EnableCounters: " << counter << endl; m_camera->setFramesPerTrigger(430); m_camera->getFramesPerTrigger(value); cout << "FramesPerTrigger: " << value << endl; m_camera->setNumFramesToAcquire(345); m_camera->getNumFramesToAcquire(value); cout << "NumFramesToAcquire: " << value << endl; m_camera->setOperatingEnergy(358.0); m_camera->getOperatingEnergy(param); cout << "OperatingEnergy: " << param << endl; m_camera->getTemperature(param); cout << "Temperature: " << param << endl; for (int i=0; i<5; i++) { m_camera->getThreshold(Camera::THRESHOLD0, param); cout << "Threshold0: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD0, param + 3.0); m_camera->getThreshold(Camera::THRESHOLD0, param); cout << "Threshold0: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD1, param); cout << "Threshold1: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD1, param + 3.1); m_camera->getThreshold(Camera::THRESHOLD1, param); cout << "Threshold1: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD2, param); cout << "Threshold2: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD2, param + 3.2); m_camera->getThreshold(Camera::THRESHOLD2, param); cout << "Threshold2: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD3, param); cout << "Threshold3: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD3, param + 3.3); m_camera->getThreshold(Camera::THRESHOLD3, param); cout << "Threshold3: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD4, param); cout << "Threshold4: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD4, param + 3.4); m_camera->getThreshold(Camera::THRESHOLD4, param); cout << "Threshold4: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD5, param); cout << "Threshold5: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD5, param + 3.5); m_camera->getThreshold(Camera::THRESHOLD5, param); cout << "Threshold5: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD6, param); cout << "Threshold6: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD6, param + 3.6); m_camera->getThreshold(Camera::THRESHOLD6, param); cout << "Threshold6: " << param << endl; m_camera->getThreshold(Camera::THRESHOLD7, param); cout << "Threshold7: " << param << endl; m_camera->setThreshold(Camera::THRESHOLD7, param + 3.7); m_camera->getThreshold(Camera::THRESHOLD7, param); cout << "Threshold7: " << param << endl; } m_camera->setTHScanNum(5); m_camera->getTHScanNum(value); cout << "THScan: " << value << endl; m_camera->setTHStart(30.); m_camera->getTHStart(param); cout << "TTHStart: " << param << endl; m_camera->setTHStep(1.); m_camera->getTHStep(param); cout << "THStep: " << param << endl; m_camera->setTHStop(40.); m_camera->getTHStop(param); cout << "THStop: " << param << endl; m_camera->setGain(Camera::SHGM); m_camera->getGain(gain); cout << "Gain: " << gain << endl; m_camera->setGain(Camera::HGM); m_camera->getGain(gain); cout << "Gain: " << gain << endl; m_camera->setGain(Camera::LGM); m_camera->getGain(gain); cout << "Gain: " << gain << endl; m_camera->setGain(Camera::SLGM); m_camera->getGain(gain); cout << "Gain: " << gain << endl; m_camera->setTriggerStartType(Camera::INTERNAL); m_camera->getTriggerStartType(trigger); cout << "TriggerStart: " << trigger << endl; m_camera->setTriggerStartType(Camera::RISING_EDGE); m_camera->getTriggerStartType(trigger); cout << "TriggerStart: " << trigger << endl; m_camera->setTriggerStartType(Camera::FALLING_EDGE); m_camera->getTriggerStartType(trigger); cout << "TriggerStart: " << trigger << endl; m_camera->setTriggerStopType(Camera::INTERNAL); m_camera->getTriggerStopType(trigger); cout << "TriggerStop: " << trigger << endl; m_camera->setTriggerStopType(Camera::RISING_EDGE); m_camera->getTriggerStopType(trigger); cout << "TriggerStop: " << trigger << endl; m_camera->setTriggerStopType(Camera::FALLING_EDGE); m_camera->getTriggerStopType(trigger); cout << "TriggerStop: " << trigger << endl; */ //reset parameters for acquisition int nframes = 1; double time = 3.0; m_camera->setFramesPerTrigger(1); m_camera->setTriggerStartType(Camera::INTERNAL); m_camera->setTriggerStopType(Camera::INTERNAL); // m_camera->setCounterDepth(Camera::BPP12); // m_camera->setEnableCounters(Camera::BOTH); // setup fileformat and data saving info CtSaving* saving = m_control->saving(); saving->setDirectory("/home/grm84/data"); saving->setFramesPerFile(nframes); saving->setFormat(CtSaving::HDF5); saving->setPrefix("merlin_"); saving->setSuffix(".hdf"); saving->setSavingMode(CtSaving::AutoFrame); saving->setOverwritePolicy(CtSaving::Append); // do acquisition m_control->image()->setImageType(lima::Bpp12); m_control->acquisition()->setAcqExpoTime(time); m_control->acquisition()->setLatencyTime(0.5); m_control->acquisition()->setAcqNbFrames(nframes); m_control->prepareAcq(); m_control->startAcq(); while(1) { usleep(100); if (!m_camera->isAcqRunning()) break; } sleep(5); } catch (Exception &e) { } }