GNU Radio's HERMESLITE2 Package
hermesNB.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2017-2023 Daniel Estevez <daniel@destevez.net>
4 * Copyright 2013-2015 Thomas C. McDermott, N5EG
5 *
6 * SPDX-License-Identifier: GPL-3.0-or-later
7 */
8
9#ifndef INCLUDED_HERMESLITE2_HERMESNB_H
10#define INCLUDED_HERMESLITE2_HERMESNB_H
11
12#include <gnuradio/block.h>
14
15namespace gr {
16namespace hermeslite2 {
17
18/*!
19 * \brief <+description of block+>
20 * \ingroup hermeslite2
21 *
22 */
23class HERMESLITE2_API hermesNB : virtual public gr::block
24{
25public:
26 typedef std::shared_ptr<hermesNB> sptr;
27
28 /*!
29 * \brief Return a shared_ptr to a new instance of hermeslite2::hermesNB.
30 *
31 * To avoid accidental use of raw pointers, hermeslite2::hermesNB's
32 * constructor is in a private implementation
33 * class. hermeslite2::hermesNB::make is the public interface for
34 * creating new instances.
35 */
36 static sptr make(int RxFreq0,
37 int RxFreq1,
38 int RxFreq2,
39 int RxFreq3,
40 int RxFreq4,
41 int RxFreq5,
42 int RxFreq6,
43 int RxFreq7,
44 int TxFreq,
45 int PTTModeSel,
46 bool PTTTxMute,
47 bool PTTRxMute,
48 unsigned char TxDr,
49 int RxSmp,
50 const char* Intfc,
51 int Verbose,
52 int NumRx,
53 const char* MACAddr,
54 bool AGC,
55 int LNAG,
56 bool PA,
57 bool Q5);
58
59 void set_Receive0Frequency(float); // callback
60 void set_Receive1Frequency(float); // callback
61 void set_Receive2Frequency(float); // callback
62 void set_Receive3Frequency(float); // callback
63 void set_Receive4Frequency(float); // callback
64 void set_Receive5Frequency(float); // callback
65 void set_Receive6Frequency(float); // callback
66 void set_Receive7Frequency(float); // callback
67 void set_TransmitFrequency(float); // callback
68 void set_RxSampRate(int); // callback
69 void set_PTTMode(int); // callback
70 void set_PTTOffMutesTx(int); // callback
71 void set_PTTOnMutesRx(int); // callback
72 void set_TxDrive(int); // callback
73 //
74 // Turn Verbose mode on / off
75 //
76 void set_Verbose(int); // callback
77
78 // Callbacks for HL2 Parameters
79 void set_HardwareAGC(bool AGC);
80 void set_LNAGain(int LNAG);
81 void set_OnboardPA(bool PA);
82 void set_Q5Switch(bool Q5);
83
84 bool stop(); // override
85 bool start(); // override
86};
87
88} // namespace hermeslite2
89} // namespace gr
90
91#endif /* INCLUDED_HERMESLITE2_HERMESNB_H */
#define HERMESLITE2_API
Definition api.h:19
<+description of block+>
Definition hermesNB.h:24
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)
std::shared_ptr< hermesNB > sptr
Definition hermesNB.h:26
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 hermeslite2::hermesNB.
void set_Receive0Frequency(float)
void set_LNAGain(int LNAG)
void set_Receive6Frequency(float)
void set_Receive5Frequency(float)
void set_TransmitFrequency(float)
Definition hermesNB.h:16
Definition hermesNB.h:15