Loading Common/Libraries/IRALibrary/include/ReceiverControl.h +0 −1 Original line number Diff line number Diff line Loading @@ -984,7 +984,6 @@ private: /** Number of feeds of the receiver */ const unsigned short m_number_of_feeds; /** The IP address of the switches board */ const std::string m_switch_ip; Loading Common/Libraries/IRALibrary/src/ReceiverControl.cpp +11 −6 Original line number Diff line number Diff line Loading @@ -1578,6 +1578,8 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( std::string vg_selector; // A03: it allows to select the value requested for a given stadium std::string quantity_selector; // A03: it allows to select the value requested for a given stadium const unsigned short feeds_per_pcb = ceil(m_number_of_feeds/5.0f); //cout << "m_number_of_feeds " << m_number_of_feeds << endl; //cout << "stage_number " << stage_number << endl; //cout << "quantity" << quantity << endl; Loading Loading @@ -1656,6 +1658,8 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( throw ReceiverControlEx("ReceiverControl::stageValues(): the quantity requested does not exist."); } cout << quant << " " << quantity_selector << endl; // Left channel values, right channel values, left channel disorderly values, right channel disorderly values std::vector<double> lvalues, rvalues, ldvalues, rdvalues; std::vector<BYTE> parameters; Loading Loading @@ -1733,7 +1737,7 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( rvalues.push_back(rdvalues[8]); } else if(ldvalues.size() > 50) { if(m_number_of_feeds > 50) { cout << "feeds > 50" << endl; cout << "ldvalues.size()" << ldvalues.size() << endl; cout << "rdvalues.size()" << rdvalues.size() << endl; Loading @@ -1753,18 +1757,19 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( cout << "rvalues.size() " << rvalues.size() << endl; cout << "m_number_of_feeds " << m_number_of_feeds << endl; for(std::size_t i = 0; i < lvalues.size(); i++) cout << i << " lvalues " << lvalues[i] << endl; for(std::size_t j = 0; j < rvalues.size(); j++) cout << j << "rvalues " << rvalues[j] << endl; /* if(lvalues.size() < m_number_of_feeds || rvalues.size() < m_number_of_feeds) if(lvalues.size() < feeds_per_pcb || rvalues.size() < feeds_per_pcb) throw ReceiverControlEx("Error: the vector size doesn't match the number of feeds."); */ // Add the first "number_of_feeds" converted items of lvalues and rvalues // Add the first "feeds_per_pcb" converted items of lvalues and rvalues FeedValues values; try { for(size_t idx=0; idx<m_number_of_feeds; idx++) { for(size_t idx=0; idx<feeds_per_pcb; idx++) { (values.left_channel).push_back(converter != NULL ? converter(lvalues[idx]) : lvalues[idx]); (values.right_channel).push_back(converter != NULL ? converter(rvalues[idx]) : rvalues[idx]); } Loading SRT/Servers/SRTQBandReceiver/include/DevIOLNAControls.h +4 −4 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ public: SRTQBandCore* core, const IRA::ReceiverControl::FetValue& control, const DWORD ifs, const DWORD stage ) : m_pCore(core), m_control(control), m_ifs(ifs), m_stage(stage) const DWORD feed ) : m_pCore(core), m_control(control), m_ifs(ifs), m_feed(feed) { AUTO_TRACE("DevIOLNAControls::DevIOLNAControls()"); m_val.length(m_pCore->getFeeds()); Loading Loading @@ -62,7 +62,7 @@ public: ACS::doubleSeq read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { // In pCore I need a method to get the vector of values (An extension, so I can ereditate from ComponentCore) m_val=m_pCore->getStageValues(m_control, m_ifs, m_stage); m_val=m_pCore->getFeedValues(m_control, m_ifs, m_feed); timestamp=getTimeStamp(); // Completion time return m_val; } Loading @@ -80,7 +80,7 @@ private: ACS::doubleSeq m_val; IRA::ReceiverControl::FetValue m_control; DWORD m_ifs; DWORD m_stage; DWORD m_feed; }; #endif SRT/Servers/SRTQBandReceiver/include/SRTQBandCore.h +10 −10 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ * <h2>Methods defined in this class</h2> * <ul> * <li>virtual void initialize(...): it initializes the object</li> * <li>ACS::doubleSeq getStageValues(...): it returns for each feed the fet quantity value * <li>of a given channel (if) and stage</li> * <li>ACS::doubleSeq getFeedValues(...): it returns for each feed per pcb the fet quantity value * <li>of a given channel </li> * <li>void setMode(): it allows to change the operating mode of the receiver</li> * <li>void updateVdLNAControls(): it reads and updates from the LNA control board the * <li>drain voltage values of the transistors</li> Loading Loading @@ -93,15 +93,15 @@ public: virtual void initialize(maci::ContainerServices* services); /** Return for each feed the fet quantity value of a given channel (if) and stage. For /** Return for each feed the fet quantity value of a given channel. For * instance, if you want to get the VD left channel values of all the feeds related to the amplifier stage N, * you must call the method like so: stageValues(DRAIN_VOLTAGE, 0, N). * you must call the method like so: feedValues(DRAIN_VOLTAGE, 0, N). * @param quantity a FetValue: DRAIN_VOLTAGE, DRAIN_CURRENT or GATE_CURRENT * @param ifs the channel (0: LEFT, 1: RIGHT) * @param stage the stage number (from 1 to 5) * @return a doubleSeq of values for a given fet ``quantity``, channel and ``stage_number``. * @param feed the feed number per pcb (from 1 to 5) * @return a doubleSeq of values for a given fet ``quantity``, channel and ``feed_number``. */ ACS::doubleSeq getStageValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD stage); ACS::doubleSeq getFeedValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD feed); /** Loading Loading @@ -176,9 +176,9 @@ protected: private: std::vector<IRA::ReceiverControl::StageValues> m_vdStageValues; std::vector<IRA::ReceiverControl::StageValues> m_idStageValues; std::vector<IRA::ReceiverControl::StageValues> m_vgStageValues; std::vector<IRA::ReceiverControl::FeedValues> m_vdFeedValues; std::vector<IRA::ReceiverControl::FeedValues> m_idFeedValues; std::vector<IRA::ReceiverControl::FeedValues> m_vgFeedValues; }; Loading SRT/Servers/SRTQBandReceiver/src/SRTQBandCore.cpp +29 −35 Original line number Diff line number Diff line Loading @@ -15,14 +15,14 @@ SRTQBandCore::~SRTQBandCore() {} void SRTQBandCore::initialize(maci::ContainerServices* services) { m_vdStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_idStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_vgStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_vdFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); m_idFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); m_vgFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); CComponentCore::initialize(services); } ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD stage) ACS::doubleSeq SRTQBandCore::getFeedValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD feed) { baci::ThreadSyncGuard guard(&m_mutex); Loading @@ -30,12 +30,12 @@ ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue values.length(getFeeds()); cout << "getFeeds() " << getFeeds() << endl; cout << "ifs " << ifs << endl; cout << "stage " << stage << endl; cout << "feed " << feed << endl; cout << "m_configuration.getIFs() " << m_configuration.getIFs() << endl; cout << "m_configuration.getFeeds()" << m_configuration.getFeeds() << endl; for(size_t i=0; i<getFeeds(); i++) values[i] = 0.0; if (ifs >= m_configuration.getIFs() || stage > NUMBER_OF_FEEDS || stage < 1) if (ifs >= m_configuration.getIFs() || feed > NUMBER_OF_FEEDS || feed < 1) return values; cout << "m_polarization[ifs] " << m_polarization[ifs] << endl; cout << "Receivers::RCV_LCP " << Receivers::RCV_LCP << endl; Loading @@ -43,64 +43,58 @@ ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue cout << "IRA::ReceiverControl::DRAIN_VOLTAGE " << IRA::ReceiverControl::DRAIN_VOLTAGE << endl; cout << "IRA::ReceiverControl::DRAIN_CURRENT " << IRA::ReceiverControl::DRAIN_CURRENT << endl; cout << "IRA::ReceiverControl::GATE_VOLTAGE " << IRA::ReceiverControl::GATE_VOLTAGE << endl; cout << "m_vdStageValues[stage-1].left_channel.size() " << m_vdStageValues[stage-1].left_channel.size() << endl; //cout << "m_vdStageValues[stage-1].left_channel " << m_vdStageValues[stage-1].left_channel << endl; cout << "m_idStageValues[stage-1].left_channel.size() " << m_idStageValues[stage-1].left_channel.size() << endl; //cout << "m_idStageValues[stage-1].left_channel " << m_idStageValues[stage-1].left_channel << endl; cout << "m_vgStageValues[stage-1].left_channel.size() " << m_vgStageValues[stage-1].left_channel.size() << endl; //cout << "m_vgStageValues[stage-1].left_channel " << m_vgStageValues[stage-1].left_channel << endl; cout << "m_vdStageValues[stage-1].right_channel.size() " << m_vdStageValues[stage-1].right_channel.size() << endl; //cout << "m_vdStageValues[stage-1].right_channel " << m_vdStageValues[stage-1].right_channel << endl; cout << "m_idStageValues[stage-1].right_channel.size() " << m_idStageValues[stage-1].right_channel.size() << endl; //cout << "m_idStageValues[stage-1].right_channel " << m_idStageValues[stage-1].right_channel << endl; cout << "m_vgStageValues[stage-1].right_channel.size() " << m_vgStageValues[stage-1].right_channel.size() << endl; //cout << "m_vgStageValues[stage-1].right_channel " << m_vgStageValues[stage-1].right_channel << endl; cout << "m_vdFeedValues[feed-1].left_channel.size() " << m_vdFeedValues[feed-1].left_channel.size() << endl; cout << "m_idFeedValues[feed-1].left_channel.size() " << m_idFeedValues[feed-1].left_channel.size() << endl; cout << "m_vgFeedeValues[feed-1].left_channel.size() " << m_vgFeedValues[feed-1].left_channel.size() << endl; cout << "m_vdFeedValues[feed-1].right_channel.size() " << m_vdFeedValues[feed-1].right_channel.size() << endl; cout << "m_idFeedValues[feed-1].right_channel.size() " << m_idFeedValues[feed-1].right_channel.size() << endl; cout << "m_vgFeedeValues[feed-1].right_channel.size() " << m_vgFeedValues[feed-1].right_channel.size() << endl; // Left Channel if(m_polarization[ifs] == (long)Receivers::RCV_LCP) { if (control == IRA::ReceiverControl::DRAIN_VOLTAGE) { if (getFeeds()>m_vdStageValues[stage-1].left_channel.size()) if (getFeeds()>m_vdFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) { values[i] = (m_vdStageValues[stage-1]).left_channel[i]; values[i] = (m_vdFeedValues[feed-1]).left_channel[i]; } } else { if (control == IRA::ReceiverControl::DRAIN_CURRENT) { if (getFeeds()>m_idStageValues[stage-1].left_channel.size()) if (getFeeds()>m_idFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_idStageValues[stage-1]).left_channel[i]; values[i] = (m_idFeedValues[feed-1]).left_channel[i]; } else { if (getFeeds()>m_vgStageValues[stage-1].left_channel.size()) if (getFeeds()>m_vgFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_vgStageValues[stage-1]).left_channel[i]; values[i] = (m_vgFeedValues[feed-1]).left_channel[i]; } } } // Right Channel if (m_polarization[ifs] == (long)Receivers::RCV_RCP) { if (control==IRA::ReceiverControl::DRAIN_VOLTAGE) { if (getFeeds()>m_vdStageValues[stage-1].right_channel.size()) if (getFeeds()>m_vdFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0;i<getFeeds();i++) values[i] = (m_vdStageValues[stage-1]).right_channel[i]; values[i] = (m_vdFeedValues[feed-1]).right_channel[i]; } else { if (control == IRA::ReceiverControl::DRAIN_CURRENT) { if (getFeeds()>m_idStageValues[stage-1].right_channel.size()) if (getFeeds()>m_idFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_idStageValues[stage-1]).right_channel[i]; values[i] = (m_idFeedValues[feed-1]).right_channel[i]; } else { if (getFeeds()>m_vgStageValues[stage-1].right_channel.size()) if (getFeeds()>m_vgFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_vgStageValues[stage-1]).right_channel[i]; values[i] = (m_vgFeedValues[feed-1]).right_channel[i]; } } } Loading Loading @@ -200,7 +194,7 @@ void SRTQBandCore::updateVdLNAControls() throw (ReceiversErrors::ReceiverControl try { cout << "Number of feeds per pcb " << NUMBER_OF_FEEDS << endl; for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_vdStageValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_VOLTAGE, i+1, SRTQBandCore::voltageConverter); m_vdFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_VOLTAGE, i+1, SRTQBandCore::voltageConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl,impl, "SRTQBandCore::updateVdLNAControls()"); Loading @@ -217,7 +211,7 @@ void SRTQBandCore::updateIdLNAControls() throw (ReceiversErrors::ReceiverControl // Not under the mutex protection because the m_control object is thread safe (at the micro controller board stage) try { for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_idStageValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_CURRENT, i+1, SRTQBandCore::currentConverter); m_idFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_CURRENT, i+1, SRTQBandCore::currentConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl, impl, "SRTQBandCore::updateIdLNAControls()"); Loading @@ -234,7 +228,7 @@ void SRTQBandCore::updateVgLNAControls() throw (ReceiversErrors::ReceiverControl // Not under the mutex protection because the m_control object is thread safe (at the micro controller board stage) try { for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_vgStageValues[i] = m_control->feedValues(IRA::ReceiverControl::GATE_VOLTAGE, i+1, SRTQBandCore::voltageConverter); m_vgFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::GATE_VOLTAGE, i+1, SRTQBandCore::voltageConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl, impl, "SRTQBandCore::updateVgLNAControls()"); Loading Loading
Common/Libraries/IRALibrary/include/ReceiverControl.h +0 −1 Original line number Diff line number Diff line Loading @@ -984,7 +984,6 @@ private: /** Number of feeds of the receiver */ const unsigned short m_number_of_feeds; /** The IP address of the switches board */ const std::string m_switch_ip; Loading
Common/Libraries/IRALibrary/src/ReceiverControl.cpp +11 −6 Original line number Diff line number Diff line Loading @@ -1578,6 +1578,8 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( std::string vg_selector; // A03: it allows to select the value requested for a given stadium std::string quantity_selector; // A03: it allows to select the value requested for a given stadium const unsigned short feeds_per_pcb = ceil(m_number_of_feeds/5.0f); //cout << "m_number_of_feeds " << m_number_of_feeds << endl; //cout << "stage_number " << stage_number << endl; //cout << "quantity" << quantity << endl; Loading Loading @@ -1656,6 +1658,8 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( throw ReceiverControlEx("ReceiverControl::stageValues(): the quantity requested does not exist."); } cout << quant << " " << quantity_selector << endl; // Left channel values, right channel values, left channel disorderly values, right channel disorderly values std::vector<double> lvalues, rvalues, ldvalues, rdvalues; std::vector<BYTE> parameters; Loading Loading @@ -1733,7 +1737,7 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( rvalues.push_back(rdvalues[8]); } else if(ldvalues.size() > 50) { if(m_number_of_feeds > 50) { cout << "feeds > 50" << endl; cout << "ldvalues.size()" << ldvalues.size() << endl; cout << "rdvalues.size()" << rdvalues.size() << endl; Loading @@ -1753,18 +1757,19 @@ ReceiverControl::FeedValues ReceiverControl::feedValues( cout << "rvalues.size() " << rvalues.size() << endl; cout << "m_number_of_feeds " << m_number_of_feeds << endl; for(std::size_t i = 0; i < lvalues.size(); i++) cout << i << " lvalues " << lvalues[i] << endl; for(std::size_t j = 0; j < rvalues.size(); j++) cout << j << "rvalues " << rvalues[j] << endl; /* if(lvalues.size() < m_number_of_feeds || rvalues.size() < m_number_of_feeds) if(lvalues.size() < feeds_per_pcb || rvalues.size() < feeds_per_pcb) throw ReceiverControlEx("Error: the vector size doesn't match the number of feeds."); */ // Add the first "number_of_feeds" converted items of lvalues and rvalues // Add the first "feeds_per_pcb" converted items of lvalues and rvalues FeedValues values; try { for(size_t idx=0; idx<m_number_of_feeds; idx++) { for(size_t idx=0; idx<feeds_per_pcb; idx++) { (values.left_channel).push_back(converter != NULL ? converter(lvalues[idx]) : lvalues[idx]); (values.right_channel).push_back(converter != NULL ? converter(rvalues[idx]) : rvalues[idx]); } Loading
SRT/Servers/SRTQBandReceiver/include/DevIOLNAControls.h +4 −4 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ public: SRTQBandCore* core, const IRA::ReceiverControl::FetValue& control, const DWORD ifs, const DWORD stage ) : m_pCore(core), m_control(control), m_ifs(ifs), m_stage(stage) const DWORD feed ) : m_pCore(core), m_control(control), m_ifs(ifs), m_feed(feed) { AUTO_TRACE("DevIOLNAControls::DevIOLNAControls()"); m_val.length(m_pCore->getFeeds()); Loading Loading @@ -62,7 +62,7 @@ public: ACS::doubleSeq read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl) { // In pCore I need a method to get the vector of values (An extension, so I can ereditate from ComponentCore) m_val=m_pCore->getStageValues(m_control, m_ifs, m_stage); m_val=m_pCore->getFeedValues(m_control, m_ifs, m_feed); timestamp=getTimeStamp(); // Completion time return m_val; } Loading @@ -80,7 +80,7 @@ private: ACS::doubleSeq m_val; IRA::ReceiverControl::FetValue m_control; DWORD m_ifs; DWORD m_stage; DWORD m_feed; }; #endif
SRT/Servers/SRTQBandReceiver/include/SRTQBandCore.h +10 −10 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ * <h2>Methods defined in this class</h2> * <ul> * <li>virtual void initialize(...): it initializes the object</li> * <li>ACS::doubleSeq getStageValues(...): it returns for each feed the fet quantity value * <li>of a given channel (if) and stage</li> * <li>ACS::doubleSeq getFeedValues(...): it returns for each feed per pcb the fet quantity value * <li>of a given channel </li> * <li>void setMode(): it allows to change the operating mode of the receiver</li> * <li>void updateVdLNAControls(): it reads and updates from the LNA control board the * <li>drain voltage values of the transistors</li> Loading Loading @@ -93,15 +93,15 @@ public: virtual void initialize(maci::ContainerServices* services); /** Return for each feed the fet quantity value of a given channel (if) and stage. For /** Return for each feed the fet quantity value of a given channel. For * instance, if you want to get the VD left channel values of all the feeds related to the amplifier stage N, * you must call the method like so: stageValues(DRAIN_VOLTAGE, 0, N). * you must call the method like so: feedValues(DRAIN_VOLTAGE, 0, N). * @param quantity a FetValue: DRAIN_VOLTAGE, DRAIN_CURRENT or GATE_CURRENT * @param ifs the channel (0: LEFT, 1: RIGHT) * @param stage the stage number (from 1 to 5) * @return a doubleSeq of values for a given fet ``quantity``, channel and ``stage_number``. * @param feed the feed number per pcb (from 1 to 5) * @return a doubleSeq of values for a given fet ``quantity``, channel and ``feed_number``. */ ACS::doubleSeq getStageValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD stage); ACS::doubleSeq getFeedValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD feed); /** Loading Loading @@ -176,9 +176,9 @@ protected: private: std::vector<IRA::ReceiverControl::StageValues> m_vdStageValues; std::vector<IRA::ReceiverControl::StageValues> m_idStageValues; std::vector<IRA::ReceiverControl::StageValues> m_vgStageValues; std::vector<IRA::ReceiverControl::FeedValues> m_vdFeedValues; std::vector<IRA::ReceiverControl::FeedValues> m_idFeedValues; std::vector<IRA::ReceiverControl::FeedValues> m_vgFeedValues; }; Loading
SRT/Servers/SRTQBandReceiver/src/SRTQBandCore.cpp +29 −35 Original line number Diff line number Diff line Loading @@ -15,14 +15,14 @@ SRTQBandCore::~SRTQBandCore() {} void SRTQBandCore::initialize(maci::ContainerServices* services) { m_vdStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_idStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_vgStageValues = std::vector<IRA::ReceiverControl::StageValues>(NUMBER_OF_FEEDS); m_vdFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); m_idFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); m_vgFeedValues = std::vector<IRA::ReceiverControl::FeedValues>(NUMBER_OF_FEEDS); CComponentCore::initialize(services); } ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD stage) ACS::doubleSeq SRTQBandCore::getFeedValues(const IRA::ReceiverControl::FetValue& control, DWORD ifs, DWORD feed) { baci::ThreadSyncGuard guard(&m_mutex); Loading @@ -30,12 +30,12 @@ ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue values.length(getFeeds()); cout << "getFeeds() " << getFeeds() << endl; cout << "ifs " << ifs << endl; cout << "stage " << stage << endl; cout << "feed " << feed << endl; cout << "m_configuration.getIFs() " << m_configuration.getIFs() << endl; cout << "m_configuration.getFeeds()" << m_configuration.getFeeds() << endl; for(size_t i=0; i<getFeeds(); i++) values[i] = 0.0; if (ifs >= m_configuration.getIFs() || stage > NUMBER_OF_FEEDS || stage < 1) if (ifs >= m_configuration.getIFs() || feed > NUMBER_OF_FEEDS || feed < 1) return values; cout << "m_polarization[ifs] " << m_polarization[ifs] << endl; cout << "Receivers::RCV_LCP " << Receivers::RCV_LCP << endl; Loading @@ -43,64 +43,58 @@ ACS::doubleSeq SRTQBandCore::getStageValues(const IRA::ReceiverControl::FetValue cout << "IRA::ReceiverControl::DRAIN_VOLTAGE " << IRA::ReceiverControl::DRAIN_VOLTAGE << endl; cout << "IRA::ReceiverControl::DRAIN_CURRENT " << IRA::ReceiverControl::DRAIN_CURRENT << endl; cout << "IRA::ReceiverControl::GATE_VOLTAGE " << IRA::ReceiverControl::GATE_VOLTAGE << endl; cout << "m_vdStageValues[stage-1].left_channel.size() " << m_vdStageValues[stage-1].left_channel.size() << endl; //cout << "m_vdStageValues[stage-1].left_channel " << m_vdStageValues[stage-1].left_channel << endl; cout << "m_idStageValues[stage-1].left_channel.size() " << m_idStageValues[stage-1].left_channel.size() << endl; //cout << "m_idStageValues[stage-1].left_channel " << m_idStageValues[stage-1].left_channel << endl; cout << "m_vgStageValues[stage-1].left_channel.size() " << m_vgStageValues[stage-1].left_channel.size() << endl; //cout << "m_vgStageValues[stage-1].left_channel " << m_vgStageValues[stage-1].left_channel << endl; cout << "m_vdStageValues[stage-1].right_channel.size() " << m_vdStageValues[stage-1].right_channel.size() << endl; //cout << "m_vdStageValues[stage-1].right_channel " << m_vdStageValues[stage-1].right_channel << endl; cout << "m_idStageValues[stage-1].right_channel.size() " << m_idStageValues[stage-1].right_channel.size() << endl; //cout << "m_idStageValues[stage-1].right_channel " << m_idStageValues[stage-1].right_channel << endl; cout << "m_vgStageValues[stage-1].right_channel.size() " << m_vgStageValues[stage-1].right_channel.size() << endl; //cout << "m_vgStageValues[stage-1].right_channel " << m_vgStageValues[stage-1].right_channel << endl; cout << "m_vdFeedValues[feed-1].left_channel.size() " << m_vdFeedValues[feed-1].left_channel.size() << endl; cout << "m_idFeedValues[feed-1].left_channel.size() " << m_idFeedValues[feed-1].left_channel.size() << endl; cout << "m_vgFeedeValues[feed-1].left_channel.size() " << m_vgFeedValues[feed-1].left_channel.size() << endl; cout << "m_vdFeedValues[feed-1].right_channel.size() " << m_vdFeedValues[feed-1].right_channel.size() << endl; cout << "m_idFeedValues[feed-1].right_channel.size() " << m_idFeedValues[feed-1].right_channel.size() << endl; cout << "m_vgFeedeValues[feed-1].right_channel.size() " << m_vgFeedValues[feed-1].right_channel.size() << endl; // Left Channel if(m_polarization[ifs] == (long)Receivers::RCV_LCP) { if (control == IRA::ReceiverControl::DRAIN_VOLTAGE) { if (getFeeds()>m_vdStageValues[stage-1].left_channel.size()) if (getFeeds()>m_vdFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) { values[i] = (m_vdStageValues[stage-1]).left_channel[i]; values[i] = (m_vdFeedValues[feed-1]).left_channel[i]; } } else { if (control == IRA::ReceiverControl::DRAIN_CURRENT) { if (getFeeds()>m_idStageValues[stage-1].left_channel.size()) if (getFeeds()>m_idFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_idStageValues[stage-1]).left_channel[i]; values[i] = (m_idFeedValues[feed-1]).left_channel[i]; } else { if (getFeeds()>m_vgStageValues[stage-1].left_channel.size()) if (getFeeds()>m_vgFeedValues[feed-1].left_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_vgStageValues[stage-1]).left_channel[i]; values[i] = (m_vgFeedValues[feed-1]).left_channel[i]; } } } // Right Channel if (m_polarization[ifs] == (long)Receivers::RCV_RCP) { if (control==IRA::ReceiverControl::DRAIN_VOLTAGE) { if (getFeeds()>m_vdStageValues[stage-1].right_channel.size()) if (getFeeds()>m_vdFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0;i<getFeeds();i++) values[i] = (m_vdStageValues[stage-1]).right_channel[i]; values[i] = (m_vdFeedValues[feed-1]).right_channel[i]; } else { if (control == IRA::ReceiverControl::DRAIN_CURRENT) { if (getFeeds()>m_idStageValues[stage-1].right_channel.size()) if (getFeeds()>m_idFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_idStageValues[stage-1]).right_channel[i]; values[i] = (m_idFeedValues[feed-1]).right_channel[i]; } else { if (getFeeds()>m_vgStageValues[stage-1].right_channel.size()) if (getFeeds()>m_vgFeedValues[feed-1].right_channel.size()) return values; for(size_t i=0; i<getFeeds(); i++) values[i] = (m_vgStageValues[stage-1]).right_channel[i]; values[i] = (m_vgFeedValues[feed-1]).right_channel[i]; } } } Loading Loading @@ -200,7 +194,7 @@ void SRTQBandCore::updateVdLNAControls() throw (ReceiversErrors::ReceiverControl try { cout << "Number of feeds per pcb " << NUMBER_OF_FEEDS << endl; for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_vdStageValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_VOLTAGE, i+1, SRTQBandCore::voltageConverter); m_vdFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_VOLTAGE, i+1, SRTQBandCore::voltageConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl,impl, "SRTQBandCore::updateVdLNAControls()"); Loading @@ -217,7 +211,7 @@ void SRTQBandCore::updateIdLNAControls() throw (ReceiversErrors::ReceiverControl // Not under the mutex protection because the m_control object is thread safe (at the micro controller board stage) try { for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_idStageValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_CURRENT, i+1, SRTQBandCore::currentConverter); m_idFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::DRAIN_CURRENT, i+1, SRTQBandCore::currentConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl, impl, "SRTQBandCore::updateIdLNAControls()"); Loading @@ -234,7 +228,7 @@ void SRTQBandCore::updateVgLNAControls() throw (ReceiversErrors::ReceiverControl // Not under the mutex protection because the m_control object is thread safe (at the micro controller board stage) try { for(size_t i=0; i<NUMBER_OF_FEEDS; i++) m_vgStageValues[i] = m_control->feedValues(IRA::ReceiverControl::GATE_VOLTAGE, i+1, SRTQBandCore::voltageConverter); m_vgFeedValues[i] = m_control->feedValues(IRA::ReceiverControl::GATE_VOLTAGE, i+1, SRTQBandCore::voltageConverter); } catch (IRA::ReceiverControlEx& ex) { _EXCPT(ReceiversErrors::ReceiverControlBoardErrorExImpl, impl, "SRTQBandCore::updateVgLNAControls()"); Loading