Source code for pyfldigi.client.rig
'''
'''
[docs]class Rig(object):
'''Rig (CAT) control via flrig, hamlib, RigCAT, RTS/DTR, or GPIO
.. note:: An instance of this class automatically gets created under fldigi.Client() when it is constructed.
'''
def __init__(self, clientObj):
self.clientObj = clientObj
self.client = clientObj.client
@property
def name(self):
'''The rig name, e.g. 'FT-817' or 'IC-7300'
:getter: Returns the rig name previously set via rig.set_name
:setter: Sets the rig name for xmlrpc rig
:type: str
.. note::
This doesn't seem to have an effect when hamlib is enabled. However it
seems to work ex expected when using flrig via xml-rpc.
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.name
'FT-817'
'''
return self.client.rig.get_name()
@name.setter
def name(self, name):
'''Sets the rig name for xmlrpc rig
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
return self.client.rig.set_name(str(name))
@property
def frequency(self):
'''Returns the RF carrier frequency
:getter: Returns the RF carrier frequency, in Hz.
:setter: Sets the RF carrier frequency, in Hz.
:type: float
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.frequency # read to demonstrate its initial value
7070200.0
>>> fldigi.rig.frequency = 7000000.0 # Set to 7 MHz
>>> fldigi.rig.frequency # read back to demonstrate that it changed
7000000.0
'''
return self.client.rig.get_frequency()
@frequency.setter
def frequency(self, freq):
'''Sets the RF carrier frequency. Returns the old value
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
return self.client.rig.set_frequency(float(freq))
@property
def modes(self):
'''The list of available rig modes
:getter: Returns the list of available rig modes.
:setter: Sets the list of available rig modes
:type: list of str
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.modes # read to demonstrate its initial value
['NONE', 'AM', 'CW', 'USB', 'LSB', 'RTTY', 'FM', 'WFM', 'CWR', 'RTTYR', 'AMS', 'PKTLSB', 'PKTUSB', 'PKTFM']
'''
return self.client.rig.get_modes()
@modes.setter
def modes(self, value):
'''Sets the list of available rig modes
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
self.client.rig.set_modes(value)
@property
def mode(self):
'''The name of the current transceiver mode
:getter: Returns the name of the current transceiver mode
:setter: Selects a transceiver mode
:type: str
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.mode
'CW'
>>> fldigi.rig.mode = 'USB'
>>> fldigi.rig.mode
'USB'
'''
return self.client.rig.get_mode()
@mode.setter
def mode(self, value):
'''Selects a mode previously added by rig.set_modes
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
self.client.rig.set_mode(str(value))
@property
def bandwidths(self):
'''The list of available rig bandwidths
:getter: Returns the list of available rig bandwidths
:setter: Sets the list of available rig bandwidths
:type: str
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.bandwidths
[' '] # This is what my radio returns :-/
'''
return self.client.rig.get_bandwidths()
@bandwidths.setter
def bandwidths(self, bandwidths):
'''Sets the list of available rig bandwidths
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
self.client.rig.set_bandwidths(bandwidths)
@property
def bandwidth(self):
'''The name of the current transceiver bandwidth
:getter: Returns the name of the current transceiver bandwidth
:setter: Selects a bandwidth previously added by rig.set_bandwidths
:type: str
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.bandwidth
' '
'''
return self.client.rig.get_bandwidth()
@bandwidth.setter
def bandwidth(self, bandwidth):
'''Selects a bandwidth previously added by rig.set_bandwidths
NOTE: sphinx ignores docstrings from setters, the documentation is above under the @property'''
self.client.rig.set_bandwidth(bandwidth)
[docs] def take_control(self):
'''Switches rig control to XML-RPC
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.take_control()
'''
self.client.rig.take_control()
[docs] def release_control(self):
'''Switches rig control to previous setting before take_control() was called
:Example:
>>> import pyfldigi
>>> fldigi = pyfldigi.Client()
>>> fldigi.rig.release_control()
'''
self.client.rig.release_control()