GNU Radio's HPSDR Package
hermesNB.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013-2017 Thomas C. McDermott, N5EG
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 
22 #ifndef INCLUDED_HPSDR_HERMESNB_H
23 #define INCLUDED_HPSDR_HERMESNB_H
24 
25 #include <hpsdr/api.h>
26 #include <gnuradio/block.h>
27 
28 namespace gr {
29  namespace hpsdr {
30 
31  /*!
32  * \brief <+description of block+>
33  * \ingroup hpsdr
34  *
35  */
36  class HPSDR_API hermesNB : virtual public gr::block
37  {
38  public:
39  typedef boost::shared_ptr<hermesNB> sptr;
40 
41  /*!
42  * \brief Return a shared_ptr to a new instance of hpsdr::hermesNB.
43  *
44  * To avoid accidental use of raw pointers, hpsdr::hermesNB's
45  * constructor is in a private implementation
46  * class. hpsdr::hermesNB::make is the public interface for
47  * creating new instances.
48  */
49  static sptr make(int RxFreq0, int RxFreq1, int RxFreq2, int RxFreq3,
50  int RxFreq4, int RxFreq5, int RxFreq6, int RxFreq7,
51  int TxFreq, int RxPre,
52  int PTTModeSel, int PTTTxMute, int PTTRxMute,
53  unsigned char TxDr, int RxSmp, const char* Intfc,
54  const char * ClkS, int AlexRA, int AlexTA,
55  int AlexHPF, int AlexLPF, int Verbose, int NumRx,
56  const char* MACAddr);
57 
58  void set_Receive0Frequency(float); // callback
59  void set_Receive1Frequency(float); // callback
60  void set_Receive2Frequency(float); // callback
61  void set_Receive3Frequency(float); // callback
62  void set_Receive4Frequency(float); // callback
63  void set_Receive5Frequency(float); // callback
64  void set_Receive6Frequency(float); // callback
65  void set_Receive7Frequency(float); // callback
66 
67  void set_TransmitFrequency(float); // callback
68  void set_RxSampRate(int); // callback
69  void set_RxPreamp(int); // callback
70  void set_PTTMode(int); // callback
71  void set_PTTOffMutesTx(int); // callback
72  void set_PTTOnMutesRx(int); // callback
73  void set_TxDrive(int); // callback
74  void set_ClockSource(const char *); // callback
75 //
76 // Break up Alex Control into individual registers
77 //
78  void set_AlexRxAntenna(int); // callback
79  void set_AlexTxAntenna(int); // callback
80  void set_AlexRxHPF(int); // callback
81  void set_AlexTxLPF(int); // callback
82 //
83 // Turn Verbose mode on / off
84 //
85  void set_Verbose(int); // callback
86 
87  bool stop(); // override
88  bool start(); // override
89 
90  };
91 
92  } // namespace hpsdr
93 } // namespace gr
94 
95 #endif /* INCLUDED_HPSDR_HERMESNB_H */
96 
gr::hpsdr::hermesNB::set_AlexTxAntenna
void set_AlexTxAntenna(int)
gr::hpsdr::hermesNB::set_AlexTxLPF
void set_AlexTxLPF(int)
gr::hpsdr::hermesNB::set_RxPreamp
void set_RxPreamp(int)
gr::hpsdr::hermesNB::start
bool start()
gr::hpsdr::hermesNB::sptr
boost::shared_ptr< hermesNB > sptr
Definition: hermesNB.h:39
gr::hpsdr::hermesNB::make
static sptr make(int RxFreq0, int RxFreq1, int RxFreq2, int RxFreq3, int RxFreq4, int RxFreq5, int RxFreq6, int RxFreq7, int TxFreq, int RxPre, int PTTModeSel, int PTTTxMute, int PTTRxMute, unsigned char TxDr, int RxSmp, const char *Intfc, const char *ClkS, int AlexRA, int AlexTA, int AlexHPF, int AlexLPF, int Verbose, int NumRx, const char *MACAddr)
Return a shared_ptr to a new instance of hpsdr::hermesNB.
gr::hpsdr::hermesNB::set_Verbose
void set_Verbose(int)
gr::hpsdr::hermesNB::set_ClockSource
void set_ClockSource(const char *)
gr::hpsdr::hermesNB
<+description of block+>
Definition: hermesNB.h:37
gr::hpsdr::hermesNB::set_RxSampRate
void set_RxSampRate(int)
gr::hpsdr::hermesNB::set_PTTMode
void set_PTTMode(int)
gr::hpsdr::hermesNB::set_Receive0Frequency
void set_Receive0Frequency(float)
gr::hpsdr::hermesNB::set_Receive3Frequency
void set_Receive3Frequency(float)
gr::hpsdr::hermesNB::set_Receive1Frequency
void set_Receive1Frequency(float)
gr::hpsdr::hermesNB::set_TransmitFrequency
void set_TransmitFrequency(float)
gr::hpsdr::hermesNB::set_PTTOnMutesRx
void set_PTTOnMutesRx(int)
gr::hpsdr::hermesNB::stop
bool stop()
gr::hpsdr::hermesNB::set_AlexRxHPF
void set_AlexRxHPF(int)
HPSDR_API
#define HPSDR_API
Definition: api.h:30
gr::hpsdr::hermesNB::set_Receive7Frequency
void set_Receive7Frequency(float)
gr
Definition: hermesNB.h:28
gr::hpsdr::hermesNB::set_PTTOffMutesTx
void set_PTTOffMutesTx(int)
gr::hpsdr::hermesNB::set_Receive4Frequency
void set_Receive4Frequency(float)
gr::hpsdr::hermesNB::set_TxDrive
void set_TxDrive(int)
gr::hpsdr::hermesNB::set_Receive5Frequency
void set_Receive5Frequency(float)
gr::hpsdr::hermesNB::set_AlexRxAntenna
void set_AlexRxAntenna(int)
gr::hpsdr::hermesNB::set_Receive6Frequency
void set_Receive6Frequency(float)
api.h
gr::hpsdr::hermesNB::set_Receive2Frequency
void set_Receive2Frequency(float)