libcyberradio 22.01.24
TunerComponent.h
1/***************************************************************************
2 * \file TunerComponent.h
3 * \brief Defines the tuner interface for the NDR472.
4 * \author DA
5 * \author NH
6 * \author MN
7 * \copyright (c) 2017 CyberRadio Solutions, Inc. All rights reserved.
8 *
9 ***************************************************************************/
10
11#ifndef INCLUDED_LIBCYBERRADIO_DRIVER_NDR472_TUNERCOMPONENT_H
12#define INCLUDED_LIBCYBERRADIO_DRIVER_NDR472_TUNERCOMPONENT_H
13
14#include "LibCyberRadio/Driver/TunerComponent.h"
15#include <string>
16
17
21namespace LibCyberRadio
22{
26 namespace Driver
27 {
28 // Forward declaration for RadioHandler
29 class RadioHandler;
30
34 namespace NDR472
35 {
36
48 {
49 public:
60 TunerComponent(int index = 1,
62 bool debug = false,
63 double frequency = 800e6,
64 double attenuation = 0.0,
65 int filter = 0);
69 virtual ~TunerComponent();
74 TunerComponent(const TunerComponent& other);
80 virtual TunerComponent& operator=(const TunerComponent& other);
81
82 protected:
83 // RadioComponent interface
84 // OVERRIDE
85 virtual void initConfigurationDict();
86 // OVERRIDE
87 virtual void updateConfigurationDict();
88 // OVERRIDE
89 virtual void queryConfiguration();
90 // TunerComponent extensions
91 // OVERRIDE
92 virtual bool executeEnableQuery(int index, bool& enabled);
93 // OVERRIDE
94 virtual bool executeFreqQuery(int index, double& freq);
95 // OVERRIDE
96 virtual bool executeAttenQuery(int index, double& atten);
97 // OVERRIDE
98 virtual bool executeFilterQuery(int index, int& filter);
99 // OVERRIDE
100 virtual bool executeTimingAdjustmentQuery(int index, int& timingAdj);
101 // OVERRIDE
102 virtual bool executeFilterCommand(int index, int& filter);
103
104 }; /* class TunerComponent */
105
106 } /* namespace NDR472 */
107
108 } // namespace Driver
109
110} // namespace LibCyberRadio
111
112
113#endif // INCLUDED_LIBCYBERRADIO_DRIVER_NDR472_TUNERCOMPONENT_H
virtual int debug(const char *format,...)
Outputs debug information.
virtual TunerComponent & operator=(const TunerComponent &other)
Assignment operator for TunerComponent objects.
virtual void queryConfiguration()
Tells the component to query its hardware configuration in order to create its configuration dictiona...
virtual bool executeFreqQuery(int index, double &freq)
Executes the tuner frequency query command.
virtual bool executeFilterQuery(int index, int &filter)
Executes the tuner filter query command.
virtual void updateConfigurationDict()
Updates the configuration dictionary from component settings.
virtual void initConfigurationDict()
Initializes the configuration dictionary, defining the allowed keys.
TunerComponent(int index=1, ::LibCyberRadio::Driver::RadioHandler *parent=NULL, bool debug=false, double frequency=800e6, double attenuation=0.0, int filter=0)
Constructs a TunerComponent object.
virtual bool executeEnableQuery(int index, bool &enabled)
Executes the tuner enabled query command.
virtual bool executeTimingAdjustmentQuery(int index, int &timingAdj)
Executes the tuner timing adjustment query.
virtual ~TunerComponent()
Destroys a TunerComponent object.
virtual bool executeFilterCommand(int index, int &filter)
Executes the tuner filter set command.
virtual bool executeAttenQuery(int index, double &atten)
Executes the tuner attenuation query command.
Generic radio handler class.
Base tuner component class.
Provides programming elements for driving NDR472 radios.
Provides programming elements for driving CRS NDR-class radios.
Defines functionality for LibCyberRadio applications.
Definition App.h:24