four_multi
Multi-Antenna,Multi-Node,Multi-Band,Multi-Cell
core/super_node.hpp
00001 //
00002 // Copyright 2011-2013, Per Zetterberg, KTH Royal Institute of Technology
00003 //
00004 // This program is free software: you can redistribute it and/or modify
00005 // it under the terms of the GNU General Public License as published by
00006 // the Free Software Foundation, either version 3 of the License, or
00007 // (at your option) any later version.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License
00015 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016 //
00017 
00018 
00019 
00020 #ifndef SUPER_NODE_HPP
00021 #define SUPER_NODE_HPP
00022 
00023 
00024 #include <fstream>
00025 #include <uhd/device.hpp>
00026 #include <uhd/utils/thread_priority.hpp>
00027 #include <uhd/utils/safe_main.hpp>
00028 #include <uhd/usrp/multi_usrp.hpp>
00029 #include <boost/program_options.hpp>
00030 #include <boost/format.hpp>
00031 #include <iostream>
00032 #include <complex>
00033 #include <uhd/types/clock_config.hpp>
00034 #include "gps.hpp"
00035 #include "four_multi.hpp"
00036 #include "simulator.hpp"
00037 
00038 
00052 class super_node : public four_multi_node { 
00053   
00054   public:
00055   
00068    super_node(uint32_t no_ant1, 
00069                          uint32_t no_ant2 , bool use_external_10MHz,
00070              bool use_same_antenna, 
00071                           uint32_t skip_ant ,std::vector<four_multi_node*> *nodes);
00072 
00078    void set_nodes(std::vector<four_multi_node*> *nodes) { d_nodes=nodes;};
00079 
00080    
00081 
00082 
00088    super_node(uint32_t no_ant1, 
00089                          uint32_t no_ant2 , bool use_external_10MHz,
00090              bool use_same_antenna, 
00091               uint32_t skip_ant ,std::vector<four_multi_node*> *nodes,
00092               std::vector<double> override_gain_rx, 
00093               std::vector<double> override_gain_tx, 
00094               std::vector<double> override_frequency);
00095 
00096 
00097 
00098    protected:
00099 
00100    bool do_override;
00101    std::vector<double> d_override_gain_rx;
00102    std::vector<double> d_override_gain_tx; 
00103    std::vector<double> d_override_frequency;
00104    
00105 
00106    virtual frame_settings node_init(void) ;
00107    virtual frame_settings node_process(void) ;
00108    virtual void end_of_run(void) ;
00109 
00110    std::vector<four_multi_node*> *d_nodes;
00111 
00112 
00113 } ;
00114 
00115 #endif
00116 
 All Classes Functions Variables