Quisk version 4.2.28
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
This directory has files for the Hermes-Lite project versions 1 and 2.
|
||||
Please perform all configuration with the Config screens in Quisk.
|
||||
To start, go to Config/Radios and add a new radio with the general type "Hermes".
|
||||
|
||||
Quisk fully supports the Hermes-Lite project. But you may need a custom Widget or
|
||||
Hardware file for special purposes. If you create these custom files, enter their
|
||||
location (path) on the Config/radio/Hardware screen. Do not modify the files supplied
|
||||
by Quisk, as these will be replaced with each new release.
|
||||
|
||||
|
||||
|
||||
# This is an example of a custom Widgets file. It changes the power calculations
|
||||
# to that required by an external power bridge. Any methods (functions) defined here are used
|
||||
# instead of the usual versions. See the original quisk_widgets.py to see what is available
|
||||
# for replacement.
|
||||
|
||||
from hermes.quisk_widgets import BottomWidgets as BaseWidgets
|
||||
|
||||
class BottomWidgets(BaseWidgets): # Add extra widgets to the bottom of the screen
|
||||
# This replaces the default version. You must alter the code to calculate watts for your
|
||||
# external power meter that is connected to the Hermes-Lite power ADC.
|
||||
def Code2FwdRevWatts(self): # Convert the HermesLite fwd/rev power code to watts forward and reverse
|
||||
# volts = m * code + b # The N2ADR power circuit is linear in voltage
|
||||
# power = (m**2 * code**2 + 2 * b * m * code + b**2) / 50
|
||||
fwd = self.hardware.hermes_fwd_power # forward and reverse binary code
|
||||
rev = self.hardware.hermes_rev_power
|
||||
Vfwd = 3.26 * fwd / 4096.0 # forward and reverse volts
|
||||
Vrev = 3.26 * rev / 4096.0
|
||||
Pfwd = 2.493 * Vfwd**2 + 0.1165 * Vfwd # conversion from volts to power in watts
|
||||
Prev = 2.493 * Vrev**2 + 0.1165 * Vrev
|
||||
return Pfwd, Prev # return forward and reverse power in watts
|
||||
|
||||
|
||||
|
||||
# This is an example of a custom Hardware file:
|
||||
|
||||
from hermes.quisk_hardware import Hardware as BaseHardware
|
||||
|
||||
class Hardware(BaseHardware):
|
||||
def __init__(self, app, conf):
|
||||
BaseHardware.__init__(self, app, conf)
|
||||
self.usingSpot = False # Use bit C2[7] as the Spot indicator
|
||||
def ChangeBand(self, band):
|
||||
# band is a string: "60", "40", "WWV", etc.
|
||||
# The call to BaseHardware will set C2 according to the Hermes_BandDict{}
|
||||
ret = BaseHardware.ChangeBand(self, band)
|
||||
if self.usingSpot:
|
||||
byte = self.GetControlByte(0, 2) # C0 index == 0, C2: user output
|
||||
byte |= 0b10000000
|
||||
self.SetControlByte(0, 2, byte)
|
||||
return ret
|
||||
def OnSpot(self, level):
|
||||
# level is -1 for Spot button Off; else the Spot level 0 to 1000.
|
||||
ret = BaseHardware.OnSpot(self, level)
|
||||
if level >= 0 and not self.usingSpot: # Spot was turned on
|
||||
byte = self.GetControlByte(0, 2)
|
||||
byte |= 0b10000000
|
||||
self.SetControlByte(0, 2, byte)
|
||||
self.usingSpot = True
|
||||
elif level < 0 and self.usingSpot: # Spot was turned off
|
||||
byte = self.GetControlByte(0, 2)
|
||||
byte &= 0b01111111
|
||||
self.SetControlByte(0, 2, byte)
|
||||
self.usingSpot = False
|
||||
return ret
|
||||
Reference in New Issue
Block a user