void CLeCroy4300B<Controller,RdoList>::writePedestals(Controller& controller, const std::vector<int>& peds) { int slot = m_pConfig->getIntegerParameter("-slot"); unsigned int nPeds = peds.size(); if (nPeds>16) { std::cerr << "!!! CLeCroy4300B configured with more than 16 specifiers" << std::endl; std::cerr << " Only the first sixteen values will be used. " << std::endl; } int status = 0; for (int i=0; i<nPeds; ++i) { uint16_t qx = 0; uint16_t ped_i = static_cast<uint16_t>(peds.at(i)); do { // clear to enable for input execClear(controller); // write the pedestal to chan i status = controller.simpleWrite16(slot,i,17,ped_i,qx); handleStatus(status); handleQ(qx&0x1); } while (qx==0); } }
void CLeCroy4300B<Controller,RdoList>::Initialize(Controller& controller) { int slot = m_pConfig->getIntegerParameter("-slot"); std::vector<int> peds = m_pConfig->getIntegerList("-pedestals"); uint16_t q=0; // clear execClear(controller); writePedestals(controller,peds); // setCommandRegister(controller); configureCommandRegister(controller); }
KILLENUM Runtime::executeCrunch() { accept( Token::CRUNCH ); Token::Code code = tokenizer.token(); zdebug() << __FILE__ << ":" << __LINE__ << code << tokenizer.string(); KILLENUM ret = PROCEED; switch ( code ) { case Token::BECOME: ret = execBecome(); break; case Token::BIND: ret = execBind(); break; case Token::CHANGE: ret = execChange(); break; case Token::CHAR: ret = execChar(); break; case Token::CLEAR: ret = execClear(); break; case Token::CYCLE: ret = execCycle(); break; case Token::DIE: ret = execDie(); break; case Token::END: ret = execEnd(); break; case Token::ENDGAME: ret = execEndgame(); break; case Token::GIVE: ret = execGive(); break; case Token::GO: ret = execGo(); break; case Token::IDLE: ret = execIdle(); break; case Token::IF: ret = execIf(); break; case Token::LOCK: ret = execLock(); break; case Token::PLAY: ret = execPlay(); break; case Token::PUT: ret = execPut(); break; case Token::RESTART: ret = execRestart(); break; case Token::RESTORE: ret = execRestore(); break; case Token::SEND: ret = execSend(); break; case Token::SET: ret = execSet(); break; case Token::SHOOT: ret = execShoot(); break; case Token::TAKE: ret = execTake(); break; case Token::THROWSTAR: ret = execThrowstar(); break; case Token::TRY: ret = execTry(); break; case Token::UNLOCK: ret = execUnlock(); break; case Token::WALK: ret = execWalk(); break; case Token::ZAP: ret = execZap(); break; case Token::ENDOFLINE: ret = throwError("COMMAND ERROR"); default: { sendMessage( tokenizer.string() ); break; } } return ret; }