mirror of
https://github.com/kk7ds/chirp.git
synced 2024-09-21 02:27:21 +00:00
Fix spelling
Fixed with: codespell --skip=locale,./chirp/ui/fips.py --ignore-words-list=ans,parm,parms,rcall,sav,ser,setts,wth --summary --write-changes --interactive=2
This commit is contained in:
parent
2cc1e7c253
commit
d40963b3ed
@ -16,7 +16,7 @@ that you want unchanged.
|
||||
Cookbook
|
||||
========
|
||||
|
||||
This section provides copy-and-paste recipies for accomplishing some
|
||||
This section provides copy-and-paste recipes for accomplishing some
|
||||
tasks using the CLI.
|
||||
|
||||
|
||||
|
@ -690,7 +690,7 @@ class AlincoDJG7EG(AlincoStyleRadio):
|
||||
if self._identify():
|
||||
return True
|
||||
else:
|
||||
# Apparenly Alinco support suggests to try again at a lower baud
|
||||
# Apparently Alinco support suggests to try again at a lower baud
|
||||
# rate if their cable fails with the default rate. See #4355.
|
||||
LOG.info("Could not talk to radio. Trying again at 19200 baud")
|
||||
self.pipe.baudrate = 19200
|
||||
|
@ -391,7 +391,7 @@ struct {
|
||||
// // shown as range(0, 2000, 100) msec
|
||||
// u8 auto_rst_time; // Auto reset time * 10
|
||||
// // shown as range(0, 25, 0.1) sec
|
||||
// u8 unkonwn:7,
|
||||
// u8 unknown:7,
|
||||
// enc_sidetone; // Encode side-tone 0=off 1=on
|
||||
// u8 unknown2:4,
|
||||
// call_format:4; // Call format [A-B, A-C, A-D, B-A, B-C, B-D,
|
||||
|
@ -310,7 +310,7 @@ def _split(rf, f1, f2):
|
||||
|
||||
class BaofengCommonHT(chirp_common.CloneModeRadio,
|
||||
chirp_common.ExperimentalRadio):
|
||||
"""Baofeng HT Sytle Radios"""
|
||||
"""Baofeng HT Style Radios"""
|
||||
VENDOR = "Baofeng"
|
||||
MODEL = ""
|
||||
IDENT = ""
|
||||
|
@ -39,7 +39,7 @@ import logging
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
# A note about the memmory in these radios
|
||||
# A note about the memory in these radios
|
||||
#
|
||||
# The '9100' OEM software only manipulates the lower 0x0180 bytes on read/write
|
||||
# operations as we know, the file generated by the OEM software IS NOT an exact
|
||||
@ -690,7 +690,7 @@ class BFT1(chirp_common.CloneModeRadio, chirp_common.ExperimentalRadio):
|
||||
# get the eprom representation of this channel
|
||||
_mem = self._get_special(mem.number)
|
||||
|
||||
# if empty memmory
|
||||
# if empty memory
|
||||
if mem.empty:
|
||||
# the channel itself
|
||||
_mem.set_raw("\xFF" * 16)
|
||||
|
@ -612,7 +612,7 @@ class BFT8Radio(chirp_common.CloneModeRadio):
|
||||
if self.HAS_NAMES:
|
||||
_nam = self._set_nam(mem.number)
|
||||
|
||||
# if empty memmory
|
||||
# if empty memory
|
||||
if mem.empty:
|
||||
if mem.number <= 22 and self._frs:
|
||||
_mem.set_raw("\xFF" * 8 + "\x00" * 5 + "\xFF" * 3)
|
||||
|
@ -63,7 +63,7 @@ class BJ9900Radio(chirp_common.CloneModeRadio,
|
||||
# plus an empty line at the end
|
||||
_datsize = (_memsize * 2) / 96 * 98 + 2
|
||||
|
||||
# block are read in same order as original sw eventhough they are not
|
||||
# block are read in same order as original sw even though they are not
|
||||
# in physical order
|
||||
_blocks = [
|
||||
(0x400, 0x1BFF, 0x30),
|
||||
|
@ -322,7 +322,7 @@ class BoblovX3Plus(chirp_common.CloneModeRadio,
|
||||
if memory.duplex == 'off':
|
||||
for i in range(0, 4):
|
||||
rmem.txfreq[i].set_raw('\xFF')
|
||||
# If recieve only then txtone value should be none
|
||||
# If receive only then txtone value should be none
|
||||
self._encode_tone(rmem.txtone, mode='', value=None, pol=None)
|
||||
set_txtone = False
|
||||
elif memory.duplex == 'split':
|
||||
|
@ -30,7 +30,7 @@ from textwrap import dedent
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
# A note about the memmory in these radios
|
||||
# A note about the memory in these radios
|
||||
#
|
||||
# The real memory of these radios extends to 0x4000
|
||||
# On read the factory software only uses up to 0x3200
|
||||
@ -63,7 +63,7 @@ LIST_COLOR4 = ["Off", "Blue", "Orange", "Purple"]
|
||||
LIST_COLOR8 = ["White", "Red", "Blue", "Green", "Yellow", "Indigo",
|
||||
"Purple", "Gray"]
|
||||
LIST_COLOR9 = ["Black"] + LIST_COLOR8
|
||||
LIST_DTMFST = ["OFF", "Keyboard", "ANI", "Keyboad + ANI"]
|
||||
LIST_DTMFST = ["OFF", "Keyboard", "ANI", "Keyboard + ANI"]
|
||||
LIST_EMCTP = ["TX alarm sound", "TX ANI", "Both"]
|
||||
LIST_EMCTPX = ["Off"] + LIST_EMCTP
|
||||
LIST_LANGUA = ["English", "Chinese"]
|
||||
@ -429,7 +429,7 @@ def _do_ident(radio, status, upload=False):
|
||||
radio.pipe.baudrate = 9600
|
||||
radio.pipe.parity = "N"
|
||||
|
||||
# lengthen the timeout here as these radios are reseting due to timeout
|
||||
# lengthen the timeout here as these radios are resetting due to timeout
|
||||
radio.pipe.timeout = 0.75
|
||||
|
||||
# send the magic word
|
||||
@ -553,7 +553,7 @@ def _upload(radio):
|
||||
"""Upload procedure"""
|
||||
|
||||
# The UPLOAD mem is restricted to lower than 0x3100,
|
||||
# so we will overide that here localy
|
||||
# so we will override that here localy
|
||||
MEM_SIZE = radio.UPLOAD_MEM_SIZE
|
||||
|
||||
# UI progress
|
||||
@ -933,7 +933,7 @@ class BTechMobileCommon(chirp_common.CloneModeRadio,
|
||||
LOG.debug("This mem was empty before")
|
||||
mem_was_empty = True
|
||||
|
||||
# if empty memmory
|
||||
# if empty memory
|
||||
if mem.empty:
|
||||
# the channel itself
|
||||
_mem.set_raw("\xFF" * 16)
|
||||
@ -1027,7 +1027,7 @@ class BTechMobileCommon(chirp_common.CloneModeRadio,
|
||||
# scan add property
|
||||
_mem.add = SKIP_VALUES.index(mem.skip)
|
||||
|
||||
# reseting unknowns, this have to be set by hand
|
||||
# resetting unknowns, this have to be set by hand
|
||||
_mem.unknown0 = 0
|
||||
_mem.unknown1 = 0
|
||||
_mem.unknown2 = 0
|
||||
@ -2912,7 +2912,7 @@ class BTechMobileCommon(chirp_common.CloneModeRadio,
|
||||
ext_length = _mem._5tone_settings._5tone_first_digit_ext_length
|
||||
if ext_length == 255:
|
||||
ext_length = 0
|
||||
LOG.debug("1st Tone ext lenght unconfigured! Resetting to 0")
|
||||
LOG.debug("1st Tone ext length unconfigured! Resetting to 0")
|
||||
|
||||
if ext_length <= len(LIST_5TONE_DELAY):
|
||||
list = RadioSettingValueList(
|
||||
|
@ -221,7 +221,7 @@ def do_program(radio):
|
||||
#
|
||||
# Even FDX-288 software appears to match the model by any other
|
||||
# mean, so I detected on a few images that the 3 first bytes are
|
||||
# unique to each radio model, so for now we use that method untill
|
||||
# unique to each radio model, so for now we use that method until
|
||||
# proven otherwise
|
||||
# ###################################################################
|
||||
|
||||
@ -353,7 +353,7 @@ class FeidaxinFD2x8yRadio(chirp_common.CloneModeRadio):
|
||||
"DTCS->Tone",
|
||||
"->Tone",
|
||||
"DTCS->DTCS"]
|
||||
# Power levels are golbal and no per channel, so disabled
|
||||
# Power levels are global and no per channel, so disabled
|
||||
# rf.valid_power_levels = POWER_LEVELS
|
||||
# this radio has no skips
|
||||
rf.valid_skips = []
|
||||
@ -589,7 +589,7 @@ class FeidaxinFD2x8yRadio(chirp_common.CloneModeRadio):
|
||||
else:
|
||||
vfo = int(_mem.vfo.vrx_freq) * 10
|
||||
|
||||
# frecuency apply_callback
|
||||
# frequency apply_callback
|
||||
def apply_freq(setting, obj):
|
||||
"""Setting is the UI returned value, obj is the memmap object"""
|
||||
value = chirp_common.parse_freq(str(setting.value))
|
||||
@ -842,7 +842,7 @@ class FD268BRadio(FeidaxinFD2x8yRadio):
|
||||
# #####################################################################
|
||||
# FD-288 Family: the only difference from this family to the FD-268's
|
||||
# are the ANI settings
|
||||
# Tested hacking the FD-268A memmory
|
||||
# Tested hacking the FD-268A memory
|
||||
|
||||
|
||||
@directory.register
|
||||
@ -864,7 +864,7 @@ class FD288BRadio(FeidaxinFD2x8yRadio):
|
||||
|
||||
|
||||
# #####################################################################
|
||||
# The following radios was tested hacking the FD-268A memmory with
|
||||
# The following radios was tested hacking the FD-268A memory with
|
||||
# the software and found to be clones of FD-268 ones
|
||||
# please report any problems to driver author (see head of this file)
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# FT-1500M Clone Proceedure
|
||||
# FT-1500M Clone Procedure
|
||||
# 1. Turn radio off.
|
||||
# 2. Connect cable to mic jack.
|
||||
# 3. Press and hold in the [MHz],[LOW] and [D/MR] keys
|
||||
|
@ -13,7 +13,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# FT-1802 Clone Proceedure
|
||||
# FT-1802 Clone Procedure
|
||||
# 1. Turn radio off.
|
||||
# 2. Connect cable to mic jack.
|
||||
# 3. Press and hold in the [LOW(A/N)] key while turning the radio on.
|
||||
|
@ -338,7 +338,7 @@ struct {
|
||||
char dst_callsign[9];
|
||||
char path[30];
|
||||
u16 flags;
|
||||
u8 seperator;
|
||||
u8 separator;
|
||||
char body[%d];
|
||||
} aprs_beacon_pkt[%d];
|
||||
|
||||
|
@ -257,7 +257,7 @@ class FT2800Radio(YaesuCloneModeRadio):
|
||||
return
|
||||
|
||||
if _mem.get_raw()[0] == "\xFF":
|
||||
# Emtpy -> Non-empty, so initialize
|
||||
# Empty -> Non-empty, so initialize
|
||||
_mem.set_raw("\x00" * (_mem.size() / 8))
|
||||
|
||||
_mem.freq = mem.freq / 10
|
||||
|
@ -152,7 +152,7 @@ class FT2D(ft1d.FT1Radio):
|
||||
|
||||
@directory.register
|
||||
class FT2Dv2(FT2D):
|
||||
"""Yaesu FT-2D v2 firwmare"""
|
||||
"""Yaesu FT-2D v2 firmware"""
|
||||
VARIANT = "Rv2"
|
||||
|
||||
_model = "AH60G"
|
||||
|
@ -571,7 +571,7 @@ CHARSET = CW_ID_CHARS + "abcdefghijklmnopqrstuvwxyz*+-/@"
|
||||
PMSNAMES = ["%s%02d" % (c, i) for i in range(1, 11) for c in ('L', 'U')]
|
||||
|
||||
# Four separate arrays of special channel mems.
|
||||
# Each special has unique constrants: band, name yes/no, and pms L/U
|
||||
# Each special has unique constraints: band, name yes/no, and pms L/U
|
||||
# The FT-65 class replaces the "prog" entry in this list.
|
||||
# The name field must be the name of a slot array in MEM_FORMAT
|
||||
SPECIALS_FT4 = [
|
||||
@ -735,8 +735,8 @@ class YaesuSC35GenericRadio(chirp_common.CloneModeRadio,
|
||||
# callback for setting byte arrays: DTMF[0-9], passwd, and CW_ID
|
||||
def apply_str_to_bytearray(self, element, obj):
|
||||
lng = len(obj)
|
||||
strng = (element.value.get_value() + " ")[:lng]
|
||||
bytes = bytearray(strng, "ascii")
|
||||
string = (element.value.get_value() + " ")[:lng]
|
||||
bytes = bytearray(string, "ascii")
|
||||
for x in range(0, lng): # memobj cannot iterate, so byte-by-byte
|
||||
obj[x] = bytes[x]
|
||||
return
|
||||
|
@ -289,7 +289,7 @@ class FT450DRadio(yaesu_clone.YaesuCloneModeRadio):
|
||||
|
||||
#seekto 0x3C3;
|
||||
struct mem_struct memory[500];
|
||||
struct mem_struct pms[4]; // Programed Scan limits @ x387F
|
||||
struct mem_struct pms[4]; // Programmed Scan limits @ x387F
|
||||
|
||||
#seekto 0x3906;
|
||||
struct {
|
||||
@ -378,7 +378,7 @@ class FT450DRadio(yaesu_clone.YaesuCloneModeRadio):
|
||||
50m HOME memories and all the A and B VFO memories.
|
||||
There are VFO memories for the last frequency dialed in
|
||||
each band. The last mem-tune config is also stored.
|
||||
These Special Channels allow limited field editting.
|
||||
These Special Channels allow limited field editing.
|
||||
This driver also populates the 'Other' tab in the channel
|
||||
memory Properties window. This tab contains values for
|
||||
those channel memory settings that don't fall under the
|
||||
@ -554,7 +554,7 @@ class FT450DRadio(yaesu_clone.YaesuCloneModeRadio):
|
||||
if isinstance(number, str):
|
||||
return self._get_special(number)
|
||||
elif number < 0:
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
@ -921,7 +921,7 @@ class FT450DRadio(yaesu_clone.YaesuCloneModeRadio):
|
||||
|
||||
for setting in mem.extra:
|
||||
if setting.get_name() == "notch_pos":
|
||||
vx = 0 # Overide list string with signed value
|
||||
vx = 0 # Override list string with signed value
|
||||
stx = str(setting.value)
|
||||
if stx == "<-":
|
||||
vx = -13
|
||||
|
@ -162,7 +162,7 @@ TONES = list(chirp_common.OLD_TONES)
|
||||
# the = displays as an underscored dash on radio
|
||||
# the first ? is an uppercase delta - \xA7
|
||||
# the second ? is an uppercase gamma - \xD1
|
||||
# the thrid ? is an uppercase sigma - \xCF
|
||||
# the third ? is an uppercase sigma - \xCF
|
||||
NUMERIC_CHARSET = list("0123456789")
|
||||
CHARSET = [str(x) for x in range(0, 10)] + \
|
||||
[chr(x) for x in range(ord("A"), ord("Z")+1)] + \
|
||||
@ -218,7 +218,7 @@ class FT50Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
rf.valid_characters = "".join(CHARSET)
|
||||
rf.valid_name_length = 4
|
||||
rf.valid_modes = MODES
|
||||
# Specials not yet implementd
|
||||
# Specials not yet implemented
|
||||
# rf.valid_special_chans = SPECIALS
|
||||
rf.valid_bands = [(76000000, 200000000),
|
||||
(300000000, 540000000),
|
||||
|
@ -627,7 +627,7 @@ class FT60Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
# RXSAVE
|
||||
opts = ["OFF", "200 MS", "300 MS", "500 MS", "1 S", "2 S"]
|
||||
power.append(RadioSetting(
|
||||
"rxsave", "Receive Mode Batery Savery Interval",
|
||||
"rxsave", "Receive Mode Battery Savery Interval",
|
||||
RadioSettingValueList(opts, opts[_settings.rxsave])))
|
||||
|
||||
# S.SRCH
|
||||
|
@ -332,7 +332,7 @@ MEM_FORMAT = """
|
||||
pskip:1, // PSkip (Select?)
|
||||
skip:1, // Skip memory during scan
|
||||
used:1, // Memory used
|
||||
valid:1; // Aways 1?
|
||||
valid:1; // Always 1?
|
||||
} flag[%d];
|
||||
"""
|
||||
|
||||
|
@ -479,7 +479,7 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
if isinstance(number, str):
|
||||
return self._get_special(number)
|
||||
elif number < 0:
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
@ -774,7 +774,7 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
rs = RadioSetting("ars_430", "430 ARS",
|
||||
RadioSettingValueBoolean(_settings.ars_430))
|
||||
basic.append(rs)
|
||||
rs = RadioSetting("pkt9600_mic", "Paket 9600 mic level",
|
||||
rs = RadioSetting("pkt9600_mic", "Packet 9600 mic level",
|
||||
RadioSettingValueInteger(0, 100,
|
||||
_settings.pkt9600_mic))
|
||||
packet.append(rs)
|
||||
@ -1119,7 +1119,7 @@ class FT817NDRadio(FT817Radio):
|
||||
class FT817NDUSRadio(FT817Radio):
|
||||
|
||||
"""Yaesu FT-817ND (US version)"""
|
||||
# seems that radios configured for 5MHz operations send one paket
|
||||
# seems that radios configured for 5MHz operations send one packet
|
||||
# more than others so we have to distinguish sub models
|
||||
MODEL = "FT-817ND (US)"
|
||||
|
||||
@ -1185,7 +1185,7 @@ class FT817NDUSRadio(FT817Radio):
|
||||
return self._get_special_60m(number)
|
||||
elif number < 0 and \
|
||||
self.SPECIAL_MEMORIES_REV[number] in self.SPECIAL_60M.keys():
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special_60m(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
|
@ -320,7 +320,7 @@ class FT818NDUSRadio(FT818Radio):
|
||||
return self._get_special_60m(number)
|
||||
elif number < 0 and \
|
||||
self.SPECIAL_MEMORIES_REV[number] in self.SPECIAL_60M.keys():
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special_60m(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
|
@ -483,7 +483,7 @@ class FT857Radio(ft817.FT817Radio):
|
||||
elif mem.tmode == "TSQL":
|
||||
mem.rtone = mem.ctone = chirp_common.TONES[_mem.tone]
|
||||
elif mem.tmode == "DTCS Enc": # UI does not support it yet but
|
||||
# this code has alreay been tested
|
||||
# this code has already been tested
|
||||
mem.dtcs = mem.rx_dtcs = chirp_common.DTCS_CODES[_mem.dcs]
|
||||
elif mem.tmode == "DTCS":
|
||||
mem.dtcs = mem.rx_dtcs = chirp_common.DTCS_CODES[_mem.dcs]
|
||||
@ -510,7 +510,7 @@ class FT857Radio(ft817.FT817Radio):
|
||||
elif mem.tmode == "TSQL":
|
||||
_mem.tone = _mem.rxtone = chirp_common.TONES.index(mem.ctone)
|
||||
elif mem.tmode == "DTCS Enc": # UI does not support it yet but
|
||||
# this code has alreay been tested
|
||||
# this code has already been tested
|
||||
_mem.dcs = _mem.rxdcs = chirp_common.DTCS_CODES.index(mem.dtcs)
|
||||
elif mem.tmode == "DTCS":
|
||||
_mem.dcs = _mem.rxdcs = chirp_common.DTCS_CODES.index(mem.rx_dtcs)
|
||||
@ -1108,7 +1108,7 @@ class FT857Radio(ft817.FT817Radio):
|
||||
@directory.register
|
||||
class FT857USRadio(FT857Radio):
|
||||
"""Yaesu FT857/897 (US version)"""
|
||||
# seems that radios configured for 5MHz operations send one paket more
|
||||
# seems that radios configured for 5MHz operations send one packet more
|
||||
# than others so we have to distinguish sub models
|
||||
MODEL = "FT-857/897 (US)"
|
||||
|
||||
@ -1178,7 +1178,7 @@ class FT857USRadio(FT857Radio):
|
||||
return self._get_special_60m(number)
|
||||
elif number < 0 and \
|
||||
self.SPECIAL_MEMORIES_REV[number] in self.SPECIAL_60M.keys():
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special_60m(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
|
@ -67,7 +67,7 @@ u8 pch2; // Priority channel 1
|
||||
|
||||
#seekto 0x010;
|
||||
struct {
|
||||
u8 notx:1, // 0 = Tx posible, 1 = Tx disabled
|
||||
u8 notx:1, // 0 = Tx possible, 1 = Tx disabled
|
||||
empty:1, // 0 = channel enabled, 1 = channed empty
|
||||
tot:1, // 0 = tot disabled, 1 = tot enabled
|
||||
power:1, // 0 = high, 1 = low
|
||||
@ -514,7 +514,7 @@ class ftlx011(chirp_common.CloneModeRadio, chirp_common.ExperimentalRadio):
|
||||
|
||||
# this radio has a primitive mode to show the channel number on a 7-segment
|
||||
# two digit LCD, we will use channel number
|
||||
# we will use a trick to show the numbers < 10 wit a space not a zero in front
|
||||
# we will use a trick to show the numbers < 10 with a space not a zero in front
|
||||
chname = int_to_bcd(mem.number)
|
||||
if mem.number < 10:
|
||||
# convert to F# as BCD
|
||||
@ -598,7 +598,7 @@ class ftlx011(chirp_common.CloneModeRadio, chirp_common.ExperimentalRadio):
|
||||
|
||||
# this radio has a primitive mode to show the channel number on a 7-segment
|
||||
# two digit LCD, we will use channel number
|
||||
# we will use a trick to show the numbers < 10 wit a space not a zero in front
|
||||
# we will use a trick to show the numbers < 10 with a space not a zero in front
|
||||
chname = int_to_bcd(mem.number)
|
||||
if mem.number < 10:
|
||||
# convert to F# as BCD
|
||||
|
@ -85,7 +85,7 @@ _TMODES = ["", "Tone", "TSQL", "-RVT", "DTCS", "-PR", "-PAG"]
|
||||
TMODES = ["", "Tone", "TSQL", "", "DTCS", "", ""]
|
||||
MODES = ["FM", "AM", "NFM", "", "WFM"]
|
||||
DUPLEXES = ["", "", "-", "+", "split"]
|
||||
# TODO: add japaneese characters (viewable in special menu, scroll backwards)
|
||||
# TODO: add japanese characters (viewable in special menu, scroll backwards)
|
||||
CHARSET = \
|
||||
('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"' +
|
||||
'#$%&`()*+,-./:;<=>?@[\\]^_`{|}~?????? ' + '?' * 91)
|
||||
|
@ -284,7 +284,7 @@ class H777Radio(chirp_common.CloneModeRadio):
|
||||
SIDEKEYFUNCTION_LIST = ["Off", "Monitor", "Transmit Power", "Alarm"]
|
||||
|
||||
# This code currently requires that ranges start at 0x0000
|
||||
# and are continious. In the original program 0x0388 and 0x03C8
|
||||
# and are continuous. In the original program 0x0388 and 0x03C8
|
||||
# are only written (all bytes 0xFF), not read.
|
||||
# _ranges = [
|
||||
# (0x0000, 0x0110),
|
||||
|
@ -732,7 +732,7 @@ class IC2730Radio(icf.IcomRawCloneModeRadio):
|
||||
return
|
||||
|
||||
def myset_bitmask(setting, obj, ndx, atrb, knt):
|
||||
""" Callback to gnerate byte-array bitmask from string"""
|
||||
""" Callback to generate byte-array bitmask from string"""
|
||||
# knt is BIT count to process
|
||||
lsx = str(setting.value).strip().split(",")
|
||||
for kx in range(0, len(lsx)):
|
||||
@ -985,7 +985,7 @@ class IC2730Radio(icf.IcomRawCloneModeRadio):
|
||||
abset.append(rset)
|
||||
|
||||
# --- Microphone Keys
|
||||
# The Mic keys get wierd: stored values are indecis to the full
|
||||
# The Mic keys get weird: stored values are indecis to the full
|
||||
# options list, but only a subset is valid...
|
||||
shortopts = ["Off", "Monitor", "MR (Ch 0)", "MR (Ch 1)", "Band/Bank",
|
||||
"Scan", "Temp Skip", "Mode", "Low", "Dup", "Priority",
|
||||
|
@ -990,7 +990,7 @@ class Icom7300Radio(IcomCIVRadio): # Added March, 2021 by Rick DeWitt
|
||||
|
||||
|
||||
def probe_model(ser):
|
||||
"""Probe the radio attatched to @ser for its model"""
|
||||
"""Probe the radio attached to @ser for its model"""
|
||||
f = Frame()
|
||||
f.set_command(0x19, 0x00)
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
from chirp.drivers import icf
|
||||
from chirp import chirp_common, directory, bitwise
|
||||
|
||||
# memory nuber:
|
||||
# memory number:
|
||||
# 000 - 999 regular memory channels (supported, others not)
|
||||
# 1000 - 1049 scan edges
|
||||
# 1050 - 1249 auto write channels
|
||||
|
@ -880,7 +880,7 @@ def reorder_banks(icx90, preserve_position, preserve_unknown, banks_templ):
|
||||
bank_pos = banks_cnt[bank]
|
||||
banks_cnt[bank] += 1
|
||||
print("%s\t-> %s, %02d" % (mem.name, BANK_INDEX[bank], bank_pos))
|
||||
# explictly set non empty channel as visible
|
||||
# explicitly set non empty channel as visible
|
||||
icx90.memobj.banks[mi].invisible_channel = 0
|
||||
if bank >= BANKS or bank_pos >= BANK_NUM:
|
||||
bank = None
|
||||
|
@ -158,7 +158,7 @@ class ID51PLUSRadio(id31.ID31Radio):
|
||||
|
||||
def get_repeater_call_list(self):
|
||||
calls = []
|
||||
# Unlike previos DStar radios, there is not a seperate repeater
|
||||
# Unlike previous DStar radios, there is not a separate repeater
|
||||
# callsign list. It's only the DV Memory banks.
|
||||
for repeater in self._memobj.repeaters:
|
||||
call = id31._decode_call(repeater.call)
|
||||
|
@ -112,7 +112,7 @@ def decode_call(sevenbytes):
|
||||
# places for the next round
|
||||
rem = (byte & mask) << 7 - i
|
||||
|
||||
# After seven trips gathering overflow bits, we chould have seven
|
||||
# After seven trips gathering overflow bits, we should have seven
|
||||
# left, which is the final character
|
||||
call += chr(rem)
|
||||
|
||||
|
@ -1664,7 +1664,7 @@ class TS480Radio(KenwoodLiveRadio):
|
||||
mem.number = number
|
||||
spec0 = command(self.pipe, "MR0%03i" % mem.number)
|
||||
spec1 = command(self.pipe, "MR1%03i" % mem.number)
|
||||
# Add 1 to string idecis if refering to CAT manual
|
||||
# Add 1 to string idecis if referring to CAT manual
|
||||
mem.name = spec0[41:49] # Max 8-Char Name if assigned
|
||||
mem.name = mem.name.strip()
|
||||
mem.name = mem.name.upper()
|
||||
|
@ -405,7 +405,7 @@ def _pkt_decode(data):
|
||||
cksum_match = (cksum & 0xf) == payload[-1]
|
||||
if (not cksum_match):
|
||||
LOG.debug(
|
||||
"Checksum missmatch: %x != %x; " % (cksum, payload[-1]))
|
||||
"Checksum mismatch: %x != %x; " % (cksum, payload[-1]))
|
||||
return (cksum_match, op, payload[:-1])
|
||||
|
||||
# UI callbacks to process input for mapping UI fields to memory cells
|
||||
@ -427,7 +427,7 @@ def int2freq(freq):
|
||||
"""
|
||||
Convert a u32 frequency to a string for UI data entry/display
|
||||
This is stored in the radio as units of 10Hz which we compensate to Hz.
|
||||
A value of -1 indicates <no freqency>, i.e. unused channel.
|
||||
A value of -1 indicates <no frequency>, i.e. unused channel.
|
||||
"""
|
||||
if (int(freq) > 0):
|
||||
f = chirp_common.format_freq(freq)
|
||||
|
@ -458,8 +458,8 @@ class LT725UV(chirp_common.CloneModeRadio):
|
||||
# Low = 5W, Med = 10W, High = 25W
|
||||
# The band power selection in a VFO applies to the VFO and overrides
|
||||
# the stored channel power selection
|
||||
# The firmware chanel memory structure provides only 1 bit for
|
||||
# individual chanel power settings, limiting potential channel
|
||||
# The firmware channel memory structure provides only 1 bit for
|
||||
# individual channel power settings, limiting potential channel
|
||||
# power selection options to 2 levels: Low or High.
|
||||
POWER_LEVELS = [chirp_common.PowerLevel("Low", watts=5.00),
|
||||
chirp_common.PowerLevel("High", watts=30.00)]
|
||||
|
@ -1184,7 +1184,7 @@ class Puxing_PX888K_Radio(chirp_common.CloneModeRadio):
|
||||
_priority = None
|
||||
if number in SPECIAL_NUMBERS.keys():
|
||||
index = number
|
||||
# speical by index
|
||||
# special by index
|
||||
designator = SPECIAL_NUMBERS[number]
|
||||
elif number in SPECIAL_CHANNELS.keys():
|
||||
# special by name
|
||||
|
@ -454,7 +454,7 @@ class RadioddityR2(chirp_common.CloneModeRadio):
|
||||
mem.duplex = "+"
|
||||
mem.offset = txfreq - mem.freq
|
||||
|
||||
# get bandwith FM or NFM
|
||||
# get bandwidth FM or NFM
|
||||
mem.mode = MODE_LIST[_mem.mode]
|
||||
|
||||
# tone data
|
||||
|
@ -164,7 +164,7 @@ def short2tone(tone):
|
||||
def _rb15_enter_programming_mode(radio):
|
||||
serial = radio.pipe
|
||||
|
||||
# lengthen the timeout here as these radios are reseting due to timeout
|
||||
# lengthen the timeout here as these radios are resetting due to timeout
|
||||
radio.pipe.timeout = 0.75
|
||||
|
||||
exito = False
|
||||
@ -547,7 +547,7 @@ class RB15RadioBase(chirp_common.CloneModeRadio):
|
||||
LOG.debug("Setting %i(%s)" % (mem.number, mem.extd_number))
|
||||
_mem = self._memobj.channels[mem.number - 1]
|
||||
|
||||
# if empty memmory
|
||||
# if empty memory
|
||||
if mem.empty:
|
||||
_mem.set_raw("\xFF" * 8 + "\x00" * 5 + "\xFF" * 3)
|
||||
return
|
||||
|
@ -477,7 +477,7 @@ class RB17P_Base(chirp_common.CloneModeRadio):
|
||||
basic.append(rs)
|
||||
|
||||
# Menu 05 - Battery Save
|
||||
rs = RadioSetting("batterysave", "Batery Save",
|
||||
rs = RadioSetting("batterysave", "Battery Save",
|
||||
RadioSettingValueList(
|
||||
BATTERYSAVE_LIST,
|
||||
BATTERYSAVE_LIST[_settings.batterysave]))
|
||||
|
@ -103,7 +103,7 @@ struct {
|
||||
u8 code3_len; // Stun Code length
|
||||
u8 code3[5]; // Stun Code
|
||||
u8 unknown9[10];
|
||||
u8 code1[8]; // PTT ID(beggining of TX)
|
||||
u8 code1[8]; // PTT ID(beginning of TX)
|
||||
u8 code2[8]; // PTT ID(end of TX)
|
||||
} dtmf;
|
||||
|
||||
|
@ -93,9 +93,9 @@ struct {
|
||||
u8 unknown_1a0a; // 1A0B
|
||||
u8 pttlt; // 1A0C PTT Delay
|
||||
u8 unknown_1a0d:6, // 1A0D
|
||||
mdfa:2; // Channle A Display
|
||||
mdfa:2; // Channel A Display
|
||||
u8 unknown_1a0e:6, // 1A0E
|
||||
mdfb:2; // Channle B Display
|
||||
mdfb:2; // Channel B Display
|
||||
u8 unknown_1a0f:7, // 1A0F
|
||||
bcl:1; // BCL
|
||||
u8 unknown_1a10:7, // 1A10
|
||||
@ -109,9 +109,9 @@ struct {
|
||||
u8 unknown_1a14:7, // 1A14
|
||||
ste:1; // Tail Noise Clear
|
||||
u8 unknown_1a15:4, // 1A15
|
||||
rpste:4; // Pass Repet Noise
|
||||
rpste:4; // Pass Repeat Noise
|
||||
u8 unknown_1a16:4, // 1A16
|
||||
rptrl:4; // Pass Repet Noise
|
||||
rptrl:4; // Pass Repeat Noise
|
||||
u8 unknown_1a17:7, // 1A17
|
||||
roger:1; // Roger
|
||||
u8 unknown_1a18; // 1A18
|
||||
@ -882,12 +882,12 @@ class RT76PRadio(chirp_common.CloneModeRadio):
|
||||
rset.set_apply_callback(apply_skey_listvalue, _skey.longp)
|
||||
advanced.append(rset)
|
||||
|
||||
# Pass Repet Noise
|
||||
# Pass Repeat Noise
|
||||
rs = RadioSettingValueList(RPSTE_LIST, RPSTE_LIST[_settings.rpste])
|
||||
rset = RadioSetting("rpste", "Squelch Tail Eliminate (repeater)", rs)
|
||||
advanced.append(rset)
|
||||
|
||||
# Pass Repet Noise
|
||||
# Pass Repeat Noise
|
||||
rs = RadioSettingValueList(RPSTE_LIST, RPSTE_LIST[_settings.rptrl])
|
||||
rset = RadioSetting("rptrl", "STE Repeater Delay", rs)
|
||||
advanced.append(rset)
|
||||
|
@ -151,7 +151,7 @@ SETTING_LISTS = {
|
||||
# 1 u8 unknown0
|
||||
# 1 u8
|
||||
# :1 reverse:1 reverse flag, 0=off, 1=on (reverses
|
||||
# transmit and receive freqencies)
|
||||
# transmit and receive frequencies)
|
||||
# :1 txoff:1 transmitt off flag, 0=transmit, 1=do not
|
||||
# transmit
|
||||
# :2 power:2 transmit power setting, value range 0-2,
|
||||
|
@ -489,7 +489,7 @@ class QuanshengTGUV2P(chirp_common.CloneModeRadio,
|
||||
options, options[_rxmode]))
|
||||
cfg_grp.append(rs)
|
||||
|
||||
# Busy chanel lock
|
||||
# Busy channel lock
|
||||
rs = RadioSetting("busy_lockout", "Busy Channel Lock",
|
||||
RadioSettingValueBoolean(
|
||||
not _settings.busy_lockout))
|
||||
|
@ -631,7 +631,7 @@ def _upload(radio, memsize=0xF400, blocksize=0x80):
|
||||
|
||||
if data != radio._mmap[:radio._mmap_offset]:
|
||||
raise errors.RadioError(
|
||||
"Model mis-match: \n%s\n%s" %
|
||||
"Model mismatch: \n%s\n%s" %
|
||||
(util.hexprint(data),
|
||||
util.hexprint(radio._mmap[:radio._mmap_offset])))
|
||||
# in the factory software they update the last program date when
|
||||
|
@ -166,7 +166,7 @@ struct {
|
||||
#
|
||||
# bytes:bit type description
|
||||
# ---------------------------------------------------------------------------
|
||||
# 6 u8 bootup_passwd[6] bootup passwd, 6 chars, numberic chars
|
||||
# 6 u8 bootup_passwd[6] bootup passwd, 6 chars, numeric chars
|
||||
# 30-39 , see boot_passwd checkbox to set
|
||||
# 10 u8 unknown;
|
||||
#
|
||||
|
@ -729,7 +729,7 @@ def _upload(radio, memsize=0xF400, blocksize=0x80):
|
||||
|
||||
if data != radio._mmap[:radio._mmap_offset]:
|
||||
raise errors.RadioError(
|
||||
"Model mis-match: \n%s\n%s" %
|
||||
"Model mismatch: \n%s\n%s" %
|
||||
(util.hexprint(data),
|
||||
util.hexprint(radio._mmap[:radio._mmap_offset])))
|
||||
# in the factory software they update the last program date when
|
||||
|
@ -623,7 +623,7 @@ class THUV8000Radio(chirp_common.CloneModeRadio):
|
||||
if isinstance(number, str):
|
||||
return self._get_special(number)
|
||||
elif number < 0:
|
||||
# I can't stop delete operation from loosing extd_number but
|
||||
# I can't stop delete operation from losing extd_number but
|
||||
# I know how to get it back
|
||||
return self._get_special(self.SPECIAL_MEMORIES_REV[number])
|
||||
else:
|
||||
@ -887,7 +887,7 @@ class THUV8000Radio(chirp_common.CloneModeRadio):
|
||||
|
||||
# All mem.extra << Once the channel is defined
|
||||
for setting in mem.extra:
|
||||
# Overide list strings with signed value
|
||||
# Override list strings with signed value
|
||||
if setting.get_name() == "ptt":
|
||||
sx = str(setting.value)
|
||||
for i in range(0, 4):
|
||||
@ -1275,7 +1275,7 @@ class THUV8000Radio(chirp_common.CloneModeRadio):
|
||||
|
||||
rx = RadioSettingValueBoolean(bool(_sets.rxinhib))
|
||||
rset = RadioSetting("setstuf.rxinhib",
|
||||
"Rcvr Will Interupt FM (DW)", rx)
|
||||
"Rcvr Will Interrupt FM (DW)", rx)
|
||||
fmb.append(rset)
|
||||
|
||||
_fmfrq = self._memobj.fm_stations
|
||||
|
@ -87,7 +87,7 @@ def tyt_uvf8d_upload(radio):
|
||||
radio.pipe.timeout = 1
|
||||
|
||||
if data != radio._mmap[:32]:
|
||||
raise errors.RadioError("Model mis-match: \n%s\n%s" %
|
||||
raise errors.RadioError("Model mismatch: \n%s\n%s" %
|
||||
(util.hexprint(data),
|
||||
util.hexprint(radio._mmap[:32])))
|
||||
|
||||
|
@ -56,11 +56,11 @@ u8 active[4]; // 4 bytes / bit LSBF for the active cha
|
||||
|
||||
#seekto 0x0340;
|
||||
struct {
|
||||
u8 kMoni; // monitor key funcion
|
||||
u8 kScan; // scan key funcion
|
||||
u8 kDial; // dial key funcion
|
||||
u8 kTa; // ta key funcion
|
||||
u8 kLo; // low key funcion
|
||||
u8 kMoni; // monitor key function
|
||||
u8 kScan; // scan key function
|
||||
u8 kDial; // dial key function
|
||||
u8 kTa; // ta key function
|
||||
u8 kLo; // low key function
|
||||
u8 unknown40[7];
|
||||
// 0x034c
|
||||
u8 tot; // TOT val * 30 steps (x00-0xa)
|
||||
@ -405,11 +405,11 @@ class Kenwood_P60_Radio(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
raise errors.RadioError("Error uploading data to radio")
|
||||
|
||||
def set_variant(self):
|
||||
"""Select and set the correct variables for the class acording
|
||||
"""Select and set the correct variables for the class according
|
||||
to the correct variant of the radio"""
|
||||
rid = get_radio_id(self._mmap)
|
||||
|
||||
# indentify the radio variant and set the enviroment to it's values
|
||||
# identify the radio variant and set the environment to it's values
|
||||
try:
|
||||
self._upper, low, high, self._kind = self.VARIANTS[rid]
|
||||
|
||||
@ -744,7 +744,7 @@ class Kenwood_P60_Radio(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
# off
|
||||
sett.tot_reset = 0
|
||||
if int(sett.sql) == 0xff:
|
||||
# a confortable level ~6
|
||||
# a comfortable level ~6
|
||||
sett.sql = 6
|
||||
|
||||
tot = RadioSetting("settings.tot", "Time Out Timer (TOT)",
|
||||
|
@ -87,7 +87,7 @@ KEYS = {
|
||||
0x01: "Monitor",
|
||||
0x02: "Talk Around",
|
||||
0x03: "Horn Alert",
|
||||
0x04: "Public Adress",
|
||||
0x04: "Public Address",
|
||||
0x05: "Auxiliary",
|
||||
0x06: "Scan",
|
||||
0x07: "Scan Del/Add",
|
||||
@ -237,7 +237,7 @@ def open_radio(radio):
|
||||
raise errors.RadioError(msg)
|
||||
|
||||
handshake(radio, "Comm error after ident", True)
|
||||
LOG.debug("Correct get ident and hanshake")
|
||||
LOG.debug("Correct get ident and handshake")
|
||||
|
||||
if not (radio.TYPE in ident):
|
||||
LOG.debug("Incorrect model ID:")
|
||||
@ -426,11 +426,11 @@ class Kenwood_M60_Radio(chirp_common.CloneModeRadio,
|
||||
raise errors.RadioError("Error uploading data to radio")
|
||||
|
||||
def set_variant(self):
|
||||
"""Select and set the correct variables for the class acording
|
||||
"""Select and set the correct variables for the class according
|
||||
to the correct variant of the radio"""
|
||||
rid = get_rid(self._mmap)
|
||||
|
||||
# indentify the radio variant and set the enviroment to it's values
|
||||
# identify the radio variant and set the environment to it's values
|
||||
try:
|
||||
self._upper, low, high, self._kind = self.VARIANTS[rid]
|
||||
|
||||
@ -453,7 +453,7 @@ class Kenwood_M60_Radio(chirp_common.CloneModeRadio,
|
||||
"Wrong Kenwood radio, ID or unknown variant, see LOG output.")
|
||||
|
||||
def _prep_data(self):
|
||||
"""Prepare the areas in the memmap to do a consistend write
|
||||
"""Prepare the areas in the memmap to do a consistent write
|
||||
it has to make an update on the x200 flag data"""
|
||||
achs = 0
|
||||
|
||||
|
@ -44,7 +44,7 @@ struct {
|
||||
u8 tot_rekey; // x12 TOT Re-key value range(0, 60); off= 0
|
||||
u8 unknown1; // x13 unknown
|
||||
u8 tot_reset; // x14 TOT Re-key value range(0, 60); off= 0
|
||||
u8 unknown2; // x15 unknows
|
||||
u8 unknown2; // x15 unknowns
|
||||
u8 tot_alert; // x16 TOT pre alert: range(0,10); 0 = off
|
||||
u8 unknown3[7]; // x17-x1d unknown
|
||||
u8 sql_level; // x1e SQ reference level
|
||||
@ -81,9 +81,9 @@ struct {
|
||||
control_tone:1, // 1 bit control tone (key tone), enabled: 1-on
|
||||
poweron_tone:1; // 1 bit power on tone, enabled: 1-on
|
||||
u8 unknown19[5]; // x85-x89
|
||||
u8 min_vol; // minimum volume posible: range(0,32); 0 = off
|
||||
u8 tone_vol; // minimum tone volume posible:
|
||||
// xff = continous, range(0, 31)
|
||||
u8 min_vol; // minimum volume possible: range(0,32); 0 = off
|
||||
u8 tone_vol; // minimum tone volume possible:
|
||||
// xff = continuous, range(0, 31)
|
||||
u8 unknown20[4]; // x8c-x8f
|
||||
// --
|
||||
u8 unknown21[4]; // x90-x93
|
||||
@ -108,11 +108,11 @@ struct {
|
||||
#seekto 0x0110;
|
||||
struct {
|
||||
u8 kA; // Portable > Closed circle
|
||||
u8 kDA; // Protable > Triangle to Left
|
||||
u8 kGROUP_DOWN; // Protable > Triangle to Right
|
||||
u8 kGROUP_UP; // Protable > Side 1
|
||||
u8 kDA; // Portable > Triangle to Left
|
||||
u8 kGROUP_DOWN; // Portable > Triangle to Right
|
||||
u8 kGROUP_UP; // Portable > Side 1
|
||||
u8 kSCN; // Portable > Open Circle
|
||||
u8 kMON; // Protable > Side 2
|
||||
u8 kMON; // Portable > Side 2
|
||||
u8 kFOOT;
|
||||
u8 kCH_UP;
|
||||
u8 kCH_DOWN;
|
||||
@ -289,7 +289,7 @@ TOT_REKEY = ["off"] + ["%s" % x for x in range(1, 61)]
|
||||
TOT_RESET = ["off"] + ["%s" % x for x in range(1, 16)]
|
||||
VOL = ["off"] + ["%s" % x for x in range(1, 32)]
|
||||
TVOL = ["%s" % x for x in range(0, 33)]
|
||||
TVOL[32] = "Continous"
|
||||
TVOL[32] = "Continuous"
|
||||
SQL = ["off"] + ["%s" % x for x in range(1, 10)]
|
||||
|
||||
## BOT = 0, EOT = 1, Both = 2, NONE = 3
|
||||
@ -300,7 +300,7 @@ debug = False
|
||||
|
||||
KEYS = {
|
||||
0x33: "Display character",
|
||||
0x35: "Home Channel", # Posible portable only, chek it
|
||||
0x35: "Home Channel", # Possible portable only, check it
|
||||
0x37: "CH down",
|
||||
0x38: "CH up",
|
||||
0x39: "Key lock",
|
||||
@ -313,7 +313,7 @@ KEYS = {
|
||||
0x40: "Monitor A: open mommentary",
|
||||
0x41: "Monitor B: Open Toggle",
|
||||
0x42: "Monitor C: Carrier mommentary",
|
||||
0x43: "Monitor D: Carrier toogle",
|
||||
0x43: "Monitor D: Carrier toggle",
|
||||
0x44: "Operator selectable tone",
|
||||
0x45: "Redial",
|
||||
0x46: "RF Power Low", # portable only ?
|
||||
@ -485,7 +485,7 @@ def _open_radio(radio, status):
|
||||
|
||||
if exito is False:
|
||||
_close_radio(radio)
|
||||
LOG.debug("Radio did not accepted PROGRAM command in %s atempts" % tries)
|
||||
LOG.debug("Radio did not accepted PROGRAM command in %s attempts" % tries)
|
||||
raise errors.RadioError("The radio doesn't accept program mode")
|
||||
|
||||
# DEBUG
|
||||
@ -552,7 +552,7 @@ def do_download(radio):
|
||||
# now we get the data
|
||||
d = _recv(radio)
|
||||
# if empty block, it return false
|
||||
# aka we asume a empty 256 xFF block
|
||||
# aka we assume a empty 256 xFF block
|
||||
if d is False:
|
||||
d = EMPTY_BLOCK
|
||||
|
||||
@ -697,7 +697,7 @@ class memBank(chirp_common.Bank):
|
||||
|
||||
|
||||
class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRadio):
|
||||
"""Kenwood Serie 60G Radios base class"""
|
||||
"""Kenwood Series 60G Radios base class"""
|
||||
VENDOR = "Kenwood"
|
||||
BAUD_RATE = 9600
|
||||
_memsize = MEM_SIZE
|
||||
@ -783,7 +783,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
self._mmap[offset + addr] = data[addr]
|
||||
|
||||
def _prep_data(self):
|
||||
"""Prepare the areas in the memmap to do a consistend write
|
||||
"""Prepare the areas in the memmap to do a consistent write
|
||||
it has to make an update on the x300 area with banks and channel
|
||||
info; other in the x1000 with banks and channel counts
|
||||
and a last one in x7000 with flag data"""
|
||||
@ -814,7 +814,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
fdata = ""
|
||||
|
||||
for k, v in data.iteritems():
|
||||
# posible bad data
|
||||
# possible bad data
|
||||
if k == 0:
|
||||
k = 1
|
||||
raise errors.InvalidValueError(
|
||||
@ -859,11 +859,11 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
self._fill(0x7000, fldata)
|
||||
|
||||
def _set_variant(self):
|
||||
"""Select and set the correct variables for the class acording
|
||||
"""Select and set the correct variables for the class according
|
||||
to the correct variant of the radio"""
|
||||
rid = self._mmap[0xA7:0xAE]
|
||||
|
||||
# indentify the radio variant and set the enviroment to it's values
|
||||
# identify the radio variant and set the environment to it's values
|
||||
try:
|
||||
self._upper, low, high, self._kind = self.VARIANTS[rid]
|
||||
|
||||
@ -913,7 +913,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
|
||||
def process_mmap(self):
|
||||
"""Process the memory object"""
|
||||
# how many channels are programed
|
||||
# how many channels are programmed
|
||||
self._chs_progs = ord(self._mmap[15])
|
||||
|
||||
# load the memobj
|
||||
@ -1081,7 +1081,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
# get the eprom representation of this channel
|
||||
_mem = self._memobj.memory[mem.number - 1]
|
||||
|
||||
# if empty memmory
|
||||
# if empty memory
|
||||
if mem.empty:
|
||||
_mem.set_raw("\xFF" * 48)
|
||||
return
|
||||
@ -1089,7 +1089,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
# frequency
|
||||
_mem.rxfreq = mem.freq / 10
|
||||
|
||||
# this are a mistery yet, but so falr there is no impact
|
||||
# this are a mystery yet, but so falr there is no impact
|
||||
# whit this default values for new channels
|
||||
if int(_mem.rx_unkw) == 0xff:
|
||||
_mem.rx_unkw = 0x35
|
||||
@ -1180,7 +1180,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
# buttons
|
||||
fkeys = RadioSettingGroup("keys", "Front keys config")
|
||||
|
||||
# TODO / PLANED
|
||||
# TODO / PLANNED
|
||||
# adjust feqs
|
||||
#freqs = RadioSettingGroup("freqs", "Adjust Frequencies")
|
||||
|
||||
@ -1302,7 +1302,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
dealer.append(fmw)
|
||||
|
||||
# front keys
|
||||
# The Mobile only parameters are wraped here
|
||||
# The Mobile only parameters are wrapped here
|
||||
if self.TYPE[0] == "M":
|
||||
vu = RadioSetting("keys.kVOL_UP", "VOL UP",
|
||||
RadioSettingValueList(KEYS.values(),
|
||||
@ -1517,7 +1517,7 @@ class Kenwood_Serie_60G(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa
|
||||
raise errors.InvalidDataError(msg)
|
||||
|
||||
|
||||
# This kenwwood family is known as "60-G Serie"
|
||||
# This kenwwood family is known as "60-G Series"
|
||||
# all this radios ending in G are compatible:
|
||||
#
|
||||
# Portables VHF TK-260G/270G/272G/278G
|
||||
|
@ -1578,7 +1578,7 @@ if HAS_FUTURE: # Only register drivers if environment is PY3 compliant
|
||||
sx = "Block 0x%x read error: " % bkx
|
||||
sx += "Got %i bytes, expected 260." % len(resp0)
|
||||
LOG.error(sx)
|
||||
sx = "Block read errror! Check debug.log"
|
||||
sx = "Block read error! Check debug.log"
|
||||
raise errors.RadioError(sx)
|
||||
if bkx == 0: # 1st packet of 1st block
|
||||
mht = resp0[4:7] # [57 00 00 00] 03 4b 01 ff ff ...
|
||||
@ -2020,7 +2020,7 @@ if HAS_FUTURE: # Only register drivers if environment is PY3 compliant
|
||||
sx = "Block 0x%x, 0x%x read error: " % (blkn, bkx)
|
||||
sx += "Got %i bytes, expected %i." % (lb, xb)
|
||||
LOG.error(sx)
|
||||
sx = "Block read errror! Check debug.log"
|
||||
sx = "Block read error! Check debug.log"
|
||||
raise errors.RadioError(sx)
|
||||
if blkn == 0 and bkx == 0: # 1st packet of 1st block
|
||||
mht = resp0[5:9] # Magic Header Thingy after cmd echo
|
||||
|
@ -275,7 +275,7 @@ def _read_settings(radio):
|
||||
""" Continue filling memory map"""
|
||||
global MEMSEL
|
||||
# setc: the list of CAT commands for downloaded settings
|
||||
# Block paramters first. In the exact order of MEM_FORMAT
|
||||
# Block parameters first. In the exact order of MEM_FORMAT
|
||||
setc = radio.SETC
|
||||
setc.extend(radio.EX) # Menu A EX params
|
||||
setc.extend(radio.EX) # Menu B
|
||||
@ -459,7 +459,7 @@ class TS480_CRadio(chirp_common.CloneModeRadio):
|
||||
# Settings read/write cmd sequence list
|
||||
SETC = ["AS0", "SS", "AG0", "AN", "FA", "FB",
|
||||
"MF", "MG", "PC", "RG", "TY", "MF0"]
|
||||
# This is the TS-590SG MENU A/B read_settings paramter tuple list
|
||||
# This is the TS-590SG MENU A/B read_settings parameter tuple list
|
||||
# The order is mandatory; to match the Mem_Format sequence
|
||||
EX = ["EX000", "EX003", "EX007", "EX008", "EX009", "EX010", "EX011",
|
||||
"EX012", "EX013", "EX014", "EX021", "EX022", "EX048", "EX049",
|
||||
@ -679,7 +679,7 @@ class TS480_CRadio(chirp_common.CloneModeRadio):
|
||||
return
|
||||
|
||||
def _parse_mem_spec(self, spec0, spec1):
|
||||
""" Extract ascii memory paramters; build data string """
|
||||
""" Extract ascii memory parameters; build data string """
|
||||
# spec0 is Rx freq string, spec1 is Tx
|
||||
# pad string so indexes match Kenwood docs
|
||||
spec0 = "x" + spec0 # match CAT document 1-based description
|
||||
|
@ -330,7 +330,7 @@ def _read_settings(radio):
|
||||
""" Continue filling memory map"""
|
||||
global MEMSEL
|
||||
# setc: the list of CAT commands for downloaded settings
|
||||
# Block paramters first. In the exact order of MEM_FORMAT
|
||||
# Block parameters first. In the exact order of MEM_FORMAT
|
||||
setc = radio.SETC
|
||||
setc.extend(radio.EX) # Menu A EX params
|
||||
setc.extend(radio.EX) # Menu B
|
||||
@ -574,7 +574,7 @@ class TS590Radio(chirp_common.CloneModeRadio):
|
||||
# Settings read/write cmd sequence list
|
||||
SETC = ["AS0", "SS", "EQ", "AG0", "AN", "FA", "FB",
|
||||
"FV", "MF", "MG", "PC", "RG", "TP", "MF0"]
|
||||
# This is the TS-590SG MENU A/B read_settings paramter tuple list
|
||||
# This is the TS-590SG MENU A/B read_settings parameter tuple list
|
||||
# The order is mandatory; to match the Mem_Format sequence
|
||||
EX = ["EX001", "EX002", "EX003", "EX005", "EX006", "EX007",
|
||||
"EX008", "EX009", "EX010", "EX011", "EX012", "EX013", "EX016",
|
||||
@ -878,7 +878,7 @@ class TS590Radio(chirp_common.CloneModeRadio):
|
||||
return
|
||||
|
||||
def _parse_mem_spec(self, spec0, spec1):
|
||||
""" Extract ascii memory paramters; build data string """
|
||||
""" Extract ascii memory parameters; build data string """
|
||||
# spec0 is simplex result, spec1 is split
|
||||
# pad string so indexes match Kenwood docs
|
||||
spec0 = "x" + spec0 # match CAT document 1-based description
|
||||
|
@ -420,12 +420,12 @@ def _do_ident(radio, magic, secondack=True):
|
||||
serial.write("\x02")
|
||||
|
||||
# Until recently, the "ident" returned by the radios supported by this
|
||||
# driver have always been 8 bytes long. The image sturcture is the 8 byte
|
||||
# driver have always been 8 bytes long. The image structure is the 8 byte
|
||||
# "ident" followed by the downloaded memory data. So all of the settings
|
||||
# structures are offset by 8 bytes. The ident returned from a UV-6 radio
|
||||
# can be 8 bytes (original model) or now 12 bytes.
|
||||
#
|
||||
# To accomodate this, the "ident" is now read one byte at a time until the
|
||||
# To accommodate this, the "ident" is now read one byte at a time until the
|
||||
# last byte ("\xdd") is encountered. The bytes containing the value "\x01"
|
||||
# are discarded to shrink the "ident" length down to 8 bytes to keep the
|
||||
# image data aligned with the existing settings structures.
|
||||
|
@ -93,12 +93,12 @@ struct {
|
||||
workmoda:1; // work mode (left side)
|
||||
u8 scansb:1, // scan stop beep
|
||||
aftone:3, // af tone control
|
||||
scand:1, // scan directon
|
||||
scand:1, // scan direction
|
||||
scanr:3; // scan resume
|
||||
u8 rxexp:1, // rx expansion
|
||||
ptt:1, // ptt mode
|
||||
display:1, // display select (frequency/clock)
|
||||
omode:1, // operaton mode
|
||||
omode:1, // operation mode
|
||||
beep:2, // beep volume
|
||||
spkr:2; // speaker
|
||||
u8 cpuclk:1, // operating mode(cpu clock)
|
||||
@ -869,7 +869,7 @@ class VGCStyleRadio(chirp_common.CloneModeRadio,
|
||||
if dname and not dname.changed():
|
||||
dname.value = False
|
||||
|
||||
# reseting unknowns, this has to be set by hand
|
||||
# resetting unknowns, this has to be set by hand
|
||||
_mem.unknown0 = 0
|
||||
_mem.unknown1 = 0
|
||||
_mem.unknown2 = 0
|
||||
|
@ -106,7 +106,7 @@ class VX170Radio(ft7800.FTx800Radio):
|
||||
3. Press and hold in the [moni] key while turning the radio on.
|
||||
4. Select CLONE in menu, then press F. Radio restarts in clone mode.
|
||||
("CLONE" will appear on the display).
|
||||
5. <b>After clicking OK</b>, breifly hold [PTT] key to send image.
|
||||
5. <b>After clicking OK</b>, briefly hold [PTT] key to send image.
|
||||
("-TX-" will appear on the LCD). """))
|
||||
rp.pre_upload = _(dedent("""\
|
||||
1. Turn radio off.
|
||||
|
@ -775,7 +775,7 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
rs = RadioSetting(
|
||||
"my_key", "My key",
|
||||
RadioSettingValueList(keys, keys[_settings.my_key - 16]))
|
||||
# TODO: fix keys list isnt exactly right order
|
||||
# TODO: fix keys list isn't exactly right order
|
||||
# leave disabled in settings for now
|
||||
# basic.append(rs)
|
||||
|
||||
|
@ -823,7 +823,7 @@ class VX6Radio(yaesu_clone.YaesuCloneModeRadio):
|
||||
return self._get_settings()
|
||||
except:
|
||||
import traceback
|
||||
pring(traceback.format_exc())
|
||||
print(traceback.format_exc())
|
||||
return None
|
||||
|
||||
def set_settings(self, uisettings):
|
||||
|
@ -379,12 +379,12 @@ class KGUVD1PRadio(chirp_common.CloneModeRadio,
|
||||
50, 174, decode_freq(
|
||||
self._memobj.freq_ranges.vhf_tx_stop)))
|
||||
freq_ranges.append(rs)
|
||||
rs = RadioSetting("uhf_tx_start", "2st band TX Lower Limit (MHz)",
|
||||
rs = RadioSetting("uhf_tx_start", "2nd band TX Lower Limit (MHz)",
|
||||
RadioSettingValueInteger(
|
||||
136, 520, decode_freq(
|
||||
self._memobj.freq_ranges.uhf_tx_start)))
|
||||
freq_ranges.append(rs)
|
||||
rs = RadioSetting("uhf_tx_stop", "2st band TX Upper Limit (MHz)",
|
||||
rs = RadioSetting("uhf_tx_stop", "2nd band TX Upper Limit (MHz)",
|
||||
RadioSettingValueInteger(
|
||||
136, 520, decode_freq(
|
||||
self._memobj.freq_ranges.uhf_tx_stop)))
|
||||
|
@ -504,7 +504,7 @@ def install_module(domain, localedir):
|
||||
:returns: an anonymous function object, based on domain and localedir.
|
||||
Codeset is always UTF-8.
|
||||
|
||||
You may find this function usefull when writing localized modules.
|
||||
You may find this function useful when writing localized modules.
|
||||
Use this code to make _() available to your module:
|
||||
|
||||
.. sourcecode:: python
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
r"""
|
||||
The chirp.logger module provides the core logging facilties for CHIRP.
|
||||
The chirp.logger module provides the core logging facilities for CHIRP.
|
||||
It sets up the console and (optionally) a log file. For early debugging,
|
||||
it checks the CHIRP_DEBUG, CHIRP_LOG, and CHIRP_LOG_LEVEL environment
|
||||
variables.
|
||||
|
@ -374,9 +374,9 @@ class MemoryEditor(common.Editor):
|
||||
|
||||
# Verify a change was made
|
||||
if new == prev:
|
||||
# Restore all columns to their orginal values, a given editor
|
||||
# may modify mutliple columns so we need to restore each of them
|
||||
# to their previous values in order to restore the orginal state.
|
||||
# Restore all columns to their original values, a given editor
|
||||
# may modify multiple columns so we need to restore each of them
|
||||
# to their previous values in order to restore the original state.
|
||||
self._restore(iter, vals)
|
||||
return
|
||||
|
||||
@ -389,7 +389,7 @@ class MemoryEditor(common.Editor):
|
||||
if msgs:
|
||||
common.show_error(_("Error setting memory") + ": " +
|
||||
"\r\n\r\n".join(msgs))
|
||||
# Restore to orginal values and exit
|
||||
# Restore to original values and exit
|
||||
self._restore(iter, vals)
|
||||
return
|
||||
|
||||
|
2
chirpc
2
chirpc
@ -63,7 +63,7 @@ class DTCSPolarityAction(argparse.Action):
|
||||
value = values[0]
|
||||
if value not in ["NN", "RN", "NR", "RR"]:
|
||||
raise argparse.ArgumentError(
|
||||
self, "Invaid DTCS polarity: %s" % value)
|
||||
self, "Invalid DTCS polarity: %s" % value)
|
||||
setattr(namespace, self.dest, value)
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
# by the Free Software Foundation, either version 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# This sofware is distributed in the hope that it will be useful, but WITHOUT
|
||||
# This software is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
# License for more details.
|
||||
|
@ -94,7 +94,7 @@ void hexdump(char *buf, int len, FILE *dest)
|
||||
*
|
||||
* The amendment of this procedure to support the "total_hex" variable
|
||||
* allows for the user to pass a command line argument instantiating a
|
||||
* desired number of hexadecimal bytes (and their ASCII equivelent) to
|
||||
* desired number of hexadecimal bytes (and their ASCII equivalent) to
|
||||
* be displayed.
|
||||
*
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user