GNU Radio's HPSDR Package
hermesNB_impl.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 #ifndef INCLUDED_HPSDR_HERMESNB_IMPL_H
22 #define INCLUDED_HPSDR_HERMESNB_IMPL_H
23 
24 #include <hpsdr/hermesNB.h>
25 
26 namespace gr {
27  namespace hpsdr {
28 
29  class hermesNB_impl : public hermesNB
30  {
31  private:
32  // Nothing to declare in this block.
33 
34  public:
35 
36 /*! \brief Construct a HermesNB module
37  * \param RxFreq0 Receiver 0 frequency, Hz.
38  * \param RxFreq1 Receiver 1 frequency, Hz.
39  * \param TxFreq Transmitter frequency, Hz.
40  * \param RxPre Rx Preamp on (1) / off (0)
41  * \param PTTModeSel PTT mode selector off (0), VOX (1), on (2)
42  * \param PTTTxMute Mute Tx on PTT
43  * \param PTTRxMute Mute Rx on PTT
44  * \param TxDr Transmit Drive Level (0..255)
45  * \param RxSmp Receive Sample Rate, 192000, 96000, or 48000
46  * \param Intfc Ethernet interface to use
47  * \param ClkS HPSDR Clock Source (register C1 when C0 = 0x00)
48  * \param AlexRA HPSDR Alex Rx Ant Selector
49  * \param AlexTA HPSDR Alex Tx Ant Selector
50  * \param AlexMan HPSDR Alex Manual Filter Enable
51  * \param AlexHPF HPSDR Alex Rx High Pass Filter Selector
52  * \param AlexLPF HPSDR Alex Tx Low Pass Filter Selector
53  * \param Verbose Turns Verbose mode on (=1) or off (=0)
54  * \param NumRx Number of Receivers (1 or 2)
55  * \param MACAddr MAC Address of target or * for first detected
56  *
57  */
58  hermesNB_impl(int RxFreq0, int RxFreq1, int RxFreq2, int RxFreq3,
59  int RxFreq4, int RxFreq5, int RxFreq6, int RxFreq7,
60  int TxFreq, int RxPre,
61  int PTTModeSel, int PTTTxMute, int PTTRxMute,
62  unsigned char TxDr, int RxSmp, const char* Intfc,
63  const char * ClkS, int AlexRA, int AlexTA,
64  int AlexHPF, int AlexLPF, int Verbose, int NumRx,
65  const char* MACAddr);
67 
68  // Where all the action really happens
69  void forecast (int noutput_items, gr_vector_int &ninput_items_required);
70 
71  int general_work(int noutput_items,
72  gr_vector_int &ninput_items,
73  gr_vector_const_void_star &input_items,
74  gr_vector_void_star &output_items);
75  };
76 
77  } // namespace hpsdr
78 } // namespace gr
79 
80 #endif /* INCLUDED_HPSDR_HERMESNB_IMPL_H */
81 
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
hermesNB_impl(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)
Construct a HermesNB module.
<+description of block+>
Definition: hermesNB.h:36
Definition: hermesNB_impl.h:29
Definition: hermesNB.h:28
void forecast(int noutput_items, gr_vector_int &ninput_items_required)