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 
21 namespace 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,
61  ::LibCyberRadio::Driver::RadioHandler* parent = NULL,
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 bool executeFilterQuery(int index, int &filter)
Executes the tuner filter query command.
virtual bool executeAttenQuery(int index, double &atten)
Executes the tuner attenuation query command.
virtual bool executeFreqQuery(int index, double &freq)
Executes the tuner frequency query command.
virtual TunerComponent & operator=(const TunerComponent &other)
Assignment operator for TunerComponent objects.
Tuner component class for the NDR472.
virtual bool executeEnableQuery(int index, bool &enabled)
Executes the tuner enabled query command.
Generic radio handler class.
Definition: RadioHandler.h:54
virtual int debug(const char *format,...)
Outputs debug information.
Definition: Debuggable.cpp:95
virtual ~TunerComponent()
Destroys a TunerComponent object.
Defines functionality for LibCyberRadio applications.
Definition: App.h:23
virtual bool executeTimingAdjustmentQuery(int index, int &timingAdj)
Executes the tuner timing adjustment query.
Base tuner component class.
virtual void updateConfigurationDict()
Updates the configuration dictionary from component settings.
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 void initConfigurationDict()
Initializes the configuration dictionary, defining the allowed keys.
virtual void queryConfiguration()
Tells the component to query its hardware configuration in order to create its configuration dictiona...
virtual bool executeFilterCommand(int index, int &filter)
Executes the tuner filter set command.