/* *********************************** */ static int setInternalTestLoad(proslicChanType *pProslic, int connect) { ramData ram_save; ramData test_load_addr; ramData test_load_bitmask; if(pProslic->deviceId->chipType >= SI32171 && pProslic->deviceId->chipType <= SI32179) { test_load_addr = 1516; test_load_bitmask = 0x00800000L; /* bit 23 */ } else { test_load_addr = 1611; test_load_bitmask = 0x00040000L; /* bit 18 */ } setUserMode(pProslic,1); ram_save = ProSLIC_ReadRAM(pProslic,test_load_addr); if(connect) ram_save |= test_load_bitmask; else ram_save &= ~test_load_bitmask; ProSLIC_WriteRAM(pProslic,test_load_addr,ram_save); setUserMode(pProslic,0); return RC_NONE; }
// =========================================================================== // method definitions // =========================================================================== MSTriggeredRerouter::MSTriggeredRerouter(const std::string& id, const std::vector<MSEdge*>& edges, SUMOReal prob, const std::string& file, bool off) : MSTrigger(id), MSMoveReminder(id), SUMOSAXHandler(file), myProbability(prob), myUserProbability(prob), myAmInUserMode(false) { // read in the trigger description if (file != "" && !XMLSubSys::runParser(*this, file)) { throw ProcessError(); } // build actors for (std::vector<MSEdge*>::const_iterator j = edges.begin(); j != edges.end(); ++j) { #ifdef HAVE_INTERNAL if (MSGlobals::gUseMesoSim) { MESegment* s = MSGlobals::gMesoNet->getSegmentForEdge(**j); s->addDetector(this); continue; } #endif const std::vector<MSLane*>& destLanes = (*j)->getLanes(); for (std::vector<MSLane*>::const_iterator i = destLanes.begin(); i != destLanes.end(); ++i) { (*i)->addMoveReminder(this); } } if (off) { setUserMode(true); setUserUsageProbability(0); } }
/* ------------------------------------------------------------------------- * MSTriggeredRerouter - methods * ----------------------------------------------------------------------- */ MSTriggeredRerouter::MSTriggeredRerouter(const std::string &id, const std::vector<MSEdge*> &edges, SUMOReal prob, const std::string &file, bool off) : MSTrigger(id), SUMOSAXHandler(file), myProbability(prob), myUserProbability(prob), myAmInUserMode(false) { // read in the trigger description if (!XMLSubSys::runParser(*this, file)) { throw ProcessError(); } // build actors #ifdef HAVE_MESOSIM if (MSGlobals::gUseMesoSim) { for (std::vector<MSEdge*>::const_iterator j=edges.begin(); j!=edges.end(); ++j) { MESegment *s = MSGlobals::gMesoNet->getSegmentForEdge(**j); s->addRerouter(this); } } else { #endif for (std::vector<MSEdge*>::const_iterator j=edges.begin(); j!=edges.end(); ++j) { const std::vector<MSLane*> &destLanes = (*j)->getLanes(); for (std::vector<MSLane*>::const_iterator i=destLanes.begin(); i!=destLanes.end(); ++i) { mySetter.push_back(new Setter(this, (*i))); } } #ifdef HAVE_MESOSIM } #endif if (off) { setUserMode(true); setUserUsageProbability(0); } }