/** * Initialize the system state. * * Description:\n * Initializes the system state, initializing internal variables based * on startup parameters */ void State::init() { Args *args = Args::getInstance(); Assert(args); beam = Beam::getInstance(); Assert(beam); // set the intrinsics strcpy(intrinsics.interfaceVersion, SSE_CHANNELIZER_INTERFACE_VERSION); strcpy(intrinsics.name, args->getName().c_str()); gethostname(intrinsics.host, sizeof(intrinsics.host) - 1); // string s = std::string(CHVERSION); strcpy(intrinsics.codeVersion, ""); strcpy(intrinsics.beamBase.addr, args->getInputAddr()); intrinsics.beamBase.port = args->getInputPort(); intrinsics.beamId = args->getBeamSrc(); #ifdef notdef switch (args->getPol()) { case ATADataPacketHeader::RCIRC: intrinsics.pol = POL_RIGHTCIRCULAR; break; case ATADataPacketHeader::LCIRC: intrinsics.pol = POL_LEFTCIRCULAR; break; case ATADataPacketHeader::XLINEAR: intrinsics.pol = POL_XLINEAR; break; case ATADataPacketHeader::YLINEAR: intrinsics.pol = POL_YLINEAR; break; default: intrinsics.pol = POL_UNINIT; break; } #else intrinsics.pol = getPol((ATADataPacketHeader::PolarizationCode) args->getPol()); #endif strcpy(intrinsics.channelBase.addr, args->getOutputAddr()); intrinsics.channelBase.port = args->getOutputPort(); intrinsics.totalChannels = args->getTotalChannels(); intrinsics.outputChannels = args->getUsableChannels(); intrinsics.mhzPerChannel = args->getBandwidth() / args->getTotalChannels(); intrinsics.foldings = args->getFoldings(); intrinsics.oversampling = args->getOversampling(); char tmp[MAX_TEXT_STRING]; strcpy(tmp, args->getFilterFile().c_str()); strcpy(intrinsics.filterName, basename(tmp)); }