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