GNU Radio's HERMESLITE2 Package
hermesNB.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2013-2015 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_HERMESLITE2_HERMESNB_H
23#define INCLUDED_HERMESLITE2_HERMESNB_H
24
25#include <hermeslite2/api.h>
26#include <gnuradio/block.h>
27
28namespace gr {
29 namespace hermeslite2 {
30
31 /*!
32 * \brief <+description of block+>
33 * \ingroup hpsdr
34 *
35 */
36 class HERMESLITE2_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,
52 int PTTModeSel, bool PTTTxMute, bool PTTRxMute,
53 unsigned char TxDr, int RxSmp, const char* Intfc,
54 int Verbose, int NumRx,
55 const char* MACAddr, bool AGC, int LNAG, bool PA, bool Q5);
56
57 void set_Receive0Frequency(float); // callback
58 void set_Receive1Frequency(float); // callback
59 void set_Receive2Frequency(float); // callback
60 void set_Receive3Frequency(float); // callback
61 void set_Receive4Frequency(float); // callback
62 void set_Receive5Frequency(float); // callback
63 void set_Receive6Frequency(float); // callback
64 void set_Receive7Frequency(float); // callback
65 void set_TransmitFrequency(float); // callback
66 void set_RxSampRate(int); // callback
67 void set_PTTMode(int); // callback
68 void set_PTTOffMutesTx(int); // callback
69 void set_PTTOnMutesRx(int); // callback
70 void set_TxDrive(int); // callback
71//
72// Turn Verbose mode on / off
73//
74 void set_Verbose(int); // callback
75
76 // Callbacks for HL2 Parameters
77 void set_HardwareAGC(bool AGC);
78 void set_LNAGain(int LNAG);
79 void set_OnboardPA(bool PA);
80 void set_Q5Switch(bool Q5);
81
82 bool stop(); // override
83 bool start(); // override
84
85 };
86
87 } // namespace hpsdr
88} // namespace gr
89
90#endif /* INCLUDED_HERMESLITE2_HERMESNB_H */
91
#define HERMESLITE2_API
Definition: api.h:31
<+description of block+>
Definition: hermesNB.h:37
void set_Receive4Frequency(float)
void set_Q5Switch(bool Q5)
void set_OnboardPA(bool PA)
void set_Receive7Frequency(float)
void set_Receive1Frequency(float)
void set_HardwareAGC(bool AGC)
void set_Receive2Frequency(float)
void set_Receive3Frequency(float)
static sptr make(int RxFreq0, int RxFreq1, int RxFreq2, int RxFreq3, int RxFreq4, int RxFreq5, int RxFreq6, int RxFreq7, int TxFreq, int PTTModeSel, bool PTTTxMute, bool PTTRxMute, unsigned char TxDr, int RxSmp, const char *Intfc, int Verbose, int NumRx, const char *MACAddr, bool AGC, int LNAG, bool PA, bool Q5)
Return a shared_ptr to a new instance of hpsdr::hermesNB.
void set_Receive0Frequency(float)
void set_LNAGain(int LNAG)
void set_Receive6Frequency(float)
void set_Receive5Frequency(float)
void set_TransmitFrequency(float)
boost::shared_ptr< hermesNB > sptr
Definition: hermesNB.h:39
Definition: hermesNB.h:28