Quisk version 4.2.28
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# This hardware file is for use with the Hermes Lite 2. It disables the power amplifier when the
|
||||
# transmit frequency including the sidebands is outside of the band selected. Enter this file name
|
||||
# quisk_hardware_hl2_oob.py as your hardware file on the Config/radio/Hardware screen.
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import
|
||||
|
||||
from hermes.quisk_hardware import Hardware as BaseHardware
|
||||
|
||||
class Hardware(BaseHardware):
|
||||
def __init__(self, app, conf):
|
||||
BaseHardware.__init__(self, app, conf)
|
||||
self.bandEdge1 = 0
|
||||
self.bandEdge2 = 0
|
||||
def ChangeMode(self, mode):
|
||||
BaseHardware.ChangeMode(self, mode)
|
||||
self.FixBandEdge()
|
||||
def ChangeBand(self, band):
|
||||
BaseHardware.ChangeBand(self, band)
|
||||
self.FixBandEdge()
|
||||
def FixBandEdge(self): # Reduce the band edges accordig to the transmit mode sidebands
|
||||
if self.band in ("Audio", "Time"): # Rx only
|
||||
freq1 = 0
|
||||
freq2 = 0
|
||||
else:
|
||||
try:
|
||||
freq1, freq2 = self.conf.BandEdge[self.band]
|
||||
except:
|
||||
freq1 = 0
|
||||
freq2 = 0
|
||||
mode = self.mode
|
||||
if mode in ("CWL", "CWU"):
|
||||
freq1 += 40
|
||||
freq2 -= 40
|
||||
elif mode in ("USB", "DGT-U", "FDV-U", "IMD"):
|
||||
freq2 -= 3000
|
||||
elif mode in ("LSB", "DGT-L", "FDV-L"):
|
||||
freq1 += 3000
|
||||
elif mode == "AM":
|
||||
freq1 += 3000
|
||||
freq2 -= 3000
|
||||
elif mode in ("FM", "DGT-FM"):
|
||||
freq1 += 8000
|
||||
freq2 -= 8000
|
||||
else:
|
||||
freq1 += 3000
|
||||
freq2 -= 3000
|
||||
self.bandEdge1 = freq1
|
||||
self.bandEdge2 = freq2
|
||||
def HeartBeat(self):
|
||||
BaseHardware.HeartBeat(self)
|
||||
power_amp_enabled = self.pc2hermes[37] & 0b1000
|
||||
if self.bandEdge1 <= self.tx_frequency <= self.bandEdge2: # Tx frequency is in band
|
||||
if not power_amp_enabled and self.conf.hermes_power_amp:
|
||||
#print ("Turn HL2 power amp on")
|
||||
self.SetControlBit(0x09, 19, 1)
|
||||
elif power_amp_enabled and not self.conf.hermes_power_amp: # Should not happen
|
||||
#print ("Turn HL2 power amp ??")
|
||||
self.SetControlBit(0x09, 19, 0)
|
||||
else: # Tx frequency is out of band
|
||||
if power_amp_enabled:
|
||||
#print ("Turn HL2 power amp off")
|
||||
self.SetControlBit(0x09, 19, 0)
|
||||
Reference in New Issue
Block a user