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
|
/* -*- c++ -*- */
/*
* Copyright 2013-2017 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 boost::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=7200000, int RxFreq1=7200000, int RxFreq2=7200000, int RxFreq3=7200000,
int RxFreq4=7200000, int RxFreq5=7200000, int RxFreq6=7200000, int RxFreq7=7200000,
int TxFreq=7200000, int RxPre=0,
int PTTModeSel=0, int PTTTxMute=1, int PTTRxMute=1,
unsigned char TxDr=0, int RxSmp=192000, const char* Intfc="eth0",
const char * ClkS="0xF8", int AlexRA=0, int AlexTA=0,
int AlexHPF=0x00, int AlexLPF=0x00, int Verbose=0, int NumRx=1,
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 */
|