Developers
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2016
- 8 participants
- 31 discussions
[chirp_devel] [PATCH] Support pySerial 3+. Fixes #3167 #3209 #3521 #3671 #3703
by Tom Hayward 03 Feb '18
by Tom Hayward 03 Feb '18
03 Feb '18
# HG changeset patch
# User Tom Hayward <tom(a)tomh.us>
# Date 1465361362 25200
# Tue Jun 07 21:49:22 2016 -0700
# Node ID d1bc2c9177858ff87c86e08447513f53794c2868
# Parent 333a280ca0c4e856258ebf9dfdb7c547fa9ec90c
Support pySerial 3+. Fixes #3167 #3209 #3521 #3671 #3703
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/detect.py
--- a/chirp/detect.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/detect.py Tue Jun 07 21:49:22 2016 -0700
@@ -39,7 +39,7 @@
# ICOM VHF/UHF Clone-type radios @ 9600 baud
try:
- ser.setBaudrate(9600)
+ ser.baudrate = 9600
md = icf.get_model_data(ser)
return _icom_model_data_to_rclass(md)
except errors.RadioError, e:
@@ -47,7 +47,7 @@
# ICOM IC-91/92 Live-mode radios @ 4800/38400 baud
- ser.setBaudrate(4800)
+ ser.baudrate = 4800
try:
ic9x_ll.send_magic(ser)
return _icom_model_data_to_rclass("ic9x")
@@ -58,7 +58,7 @@
for rate in [9600, 4800, 19200]:
try:
- ser.setBaudrate(rate)
+ ser.baudrate = rate
return icomciv.probe_model(ser)
except errors.RadioError:
pass
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/btech.py Tue Jun 07 21:49:22 2016 -0700
@@ -332,7 +332,7 @@
# touching the serial timeout to optimize the flushing
# restored at the end to the default value
- radio.pipe.setTimeout(0.1)
+ radio.pipe.timeout = 0.1
dump = "1"
datacount = 0
@@ -347,7 +347,7 @@
raise errors.RadioError(seriale)
# restore the default serial timeout
- radio.pipe.setTimeout(STIMEOUT)
+ radio.pipe.timeout = STIMEOUT
except Exception:
raise errors.RadioError("Unknown error cleaning the serial buffer")
@@ -477,8 +477,8 @@
def _do_ident(radio, status, upload=False):
"""Put the radio in PROGRAM mode & identify it"""
# set the serial discipline
- radio.pipe.setBaudrate(9600)
- radio.pipe.setParity("N")
+ radio.pipe.baudrate = 9600
+ radio.pipe.parity = "N"
# open the radio into program mode
if _start_clone_mode(radio, status) is False:
@@ -516,7 +516,7 @@
# has the check value in the _id2 var, others simply False
if radio._id2 is not False:
# lower the timeout here as this radios are reseting due to timeout
- radio.pipe.setTimeout(0.05)
+ radio.pipe.timeout = 0.05
# query & receive the extra ID
_send(radio, _make_frame("S", 0x3DF0, 16))
@@ -561,7 +561,7 @@
raise errors.RadioError("Radio didn't ACK the upload")
# restore the default serial timeout
- radio.pipe.setTimeout(STIMEOUT)
+ radio.pipe.timeout = STIMEOUT
# DEBUG
LOG.info("Positive ident, this is a %s %s" % (radio.VENDOR, radio.MODEL))
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/ft2800.py
--- a/chirp/drivers/ft2800.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/ft2800.py Tue Jun 07 21:49:22 2016 -0700
@@ -195,7 +195,7 @@
return rf
def sync_in(self):
- self.pipe.setParity("E")
+ self.pipe.parity = "E"
start = time.time()
try:
self._mmap = _download(self)
@@ -208,7 +208,7 @@
def sync_out(self):
self.pipe.timeout = 1
- self.pipe.setParity("E")
+ self.pipe.parity = "E"
start = time.time()
try:
_upload(self)
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/ic9x_ll.py
--- a/chirp/drivers/ic9x_ll.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/ic9x_ll.py Tue Jun 07 21:49:22 2016 -0700
@@ -439,31 +439,31 @@
def send_magic(pipe):
"""Send the magic incantation to wake up an ic9x radio"""
- if pipe.getBaudrate() == 38400:
+ if pipe.baudrate == 38400:
resp = _send_magic_38400(pipe)
if resp:
return
LOG.info("Switching from 38400 to 4800")
- pipe.setBaudrate(4800)
+ pipe.baudrate = 4800
resp = _send_magic_4800(pipe)
- pipe.setBaudrate(38400)
+ pipe.baudrate = 38400
if resp:
return
raise errors.RadioError("Radio not responding")
- elif pipe.getBaudrate() == 4800:
+ elif pipe.baudrate == 4800:
resp = _send_magic_4800(pipe)
if resp:
return
LOG.info("Switching from 4800 to 38400")
- pipe.setBaudrate(38400)
+ pipe.baudrate = 38400
resp = _send_magic_38400(pipe)
if resp:
return
- pipe.setBaudrate(4800)
+ pipe.baudrate = 4800
raise errors.RadioError("Radio not responding")
else:
raise errors.InvalidDataError("Radio in unknown state (%i)" %
- pipe.getBaudrate())
+ pipe.baudrate)
def get_memory_frame(pipe, vfo, number):
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/icf.py
--- a/chirp/drivers/icf.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/icf.py Tue Jun 07 21:49:22 2016 -0700
@@ -251,7 +251,7 @@
LOG.debug("Response:\n%s" % util.hexprint(resp))
LOG.info("Switching to 38400 baud")
- radio.pipe.setBaudrate(38400)
+ radio.pipe.baudrate = 38400
buf = ("\xFE" * 14) + \
"\xEE\xEF" + \
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/kenwood_live.py
--- a/chirp/drivers/kenwood_live.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/kenwood_live.py Tue Jun 07 21:49:22 2016 -0700
@@ -103,7 +103,7 @@
LAST_DELIMITER = delimiter
LOG.info("Trying ID at baud %i with delimiter \"%s\"" %
(i, repr(delimiter)))
- ser.setBaudrate(i)
+ ser.baudrate = i
ser.write(LAST_DELIMITER[0])
ser.read(25)
resp = command(ser, "ID")
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/thd72.py
--- a/chirp/drivers/thd72.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/thd72.py Tue Jun 07 21:49:22 2016 -0700
@@ -231,7 +231,7 @@
def _detect_baud(self):
for baud in [9600, 19200, 38400, 57600]:
- self.pipe.setBaudrate(baud)
+ self.pipe.baudrate = baud
try:
self.pipe.write("\r\r")
except:
@@ -422,9 +422,11 @@
raise errors.RadioError("No response from self")
allblocks = range(self._memsize/256)
- self.pipe.setBaudrate(57600)
- self.pipe.getCTS()
- self.pipe.setRTS()
+ self.pipe.baudrate = 57600
+ try:
+ self.pipe.setRTS()
+ except AttributeError:
+ self.pipe.rts = True
self.pipe.read(1)
data = ""
LOG.debug("reading blocks %d..%d" % (blocks[0], blocks[-1]))
@@ -458,9 +460,11 @@
if self.command("0M PROGRAM") != "0M":
raise errors.RadioError("No response from self")
- self.pipe.setBaudrate(57600)
- self.pipe.getCTS()
- self.pipe.setRTS()
+ self.pipe.baudrate = 57600
+ try:
+ self.pipe.setRTS()
+ except AttributeError:
+ self.pipe.rts = True
self.pipe.read(1)
LOG.debug("writing blocks %d..%d" % (blocks[0], blocks[-1]))
total = len(blocks)
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/tk270.py
--- a/chirp/drivers/tk270.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/tk270.py Tue Jun 07 21:49:22 2016 -0700
@@ -194,10 +194,9 @@
"""Open the radio into program mode and check if it's the correct model"""
# Set serial discipline
try:
- radio.pipe.setParity("N")
- radio.pipe.setTimeout(TIMEOUT)
- radio.pipe.flushOutput()
- radio.pipe.flushInput()
+ radio.pipe.parity = "N"
+ radio.pipe.timeout = TIMEOUT
+ radio.pipe.flush()
except:
msg = "Serial error: Can't set serial line discipline"
raise errors.RadioError(msg)
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/tk760.py
--- a/chirp/drivers/tk760.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/tk760.py Tue Jun 07 21:49:22 2016 -0700
@@ -188,10 +188,9 @@
"""Open the radio into program mode and check if it's the correct model"""
# Set serial discipline
try:
- radio.pipe.setParity("N")
- radio.pipe.setTimeout(TIMEOUT)
- radio.pipe.flushOutput()
- radio.pipe.flushInput()
+ radio.pipe.parity = "N"
+ radio.pipe.timeout = TIMEOUT
+ radio.pipe.flush()
LOG.debug("Serial port open successful")
except:
msg = "Serial error: Can't set serial line discipline"
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/tk760g.py
--- a/chirp/drivers/tk760g.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/tk760g.py Tue Jun 07 21:49:22 2016 -0700
@@ -441,8 +441,8 @@
def _open_radio(radio, status):
"""Open the radio into program mode and check if it's the correct model"""
# linux min is 0.13, win min is 0.25; set to bigger to be safe
- radio.pipe.setTimeout(0.25)
- radio.pipe.setParity("E")
+ radio.pipe.timeout = 0.25
+ radio.pipe.parity = "E"
# DEBUG
LOG.debug("Entering program mode.")
@@ -525,17 +525,17 @@
# set the timeout and if windows keep it bigger
if sys.platform in ["win32", "cygwin"]:
# bigger timeout
- radio.pipe.setTimeout(0.55)
+ radio.pipe.timeout = 0.55
else:
# Linux can keep up, MAC?
- radio.pipe.setTimeout(0.05)
+ radio.pipe.timeout = 0.05
# DEBUG
LOG.debug("Starting the download from radio")
for addr in MEM_BLOCKS:
# send request, but before flush the rx buffer
- radio.pipe.flushInput()
+ radio.pipe.flush()
_send(radio, _make_frame("R", addr))
# now we get the data
@@ -574,7 +574,7 @@
radio.status_fn(status)
# the default for the original soft as measured
- radio.pipe.setTimeout(0.5)
+ radio.pipe.timeout = 0.5
# DEBUG
LOG.debug("Starting the upload to the radio")
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/tk8102.py
--- a/chirp/drivers/tk8102.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/tk8102.py Tue Jun 07 21:49:22 2016 -0700
@@ -99,7 +99,7 @@
def do_download(radio):
- radio.pipe.setParity("E")
+ radio.pipe.parity = "E"
radio.pipe.timeout = 1
do_ident(radio)
@@ -129,7 +129,7 @@
def do_upload(radio):
- radio.pipe.setParity("E")
+ radio.pipe.parity = "E"
radio.pipe.timeout = 1
do_ident(radio)
diff -r 333a280ca0c4 -r d1bc2c917785 chirp/drivers/tmv71.py
--- a/chirp/drivers/tmv71.py Wed Jun 01 17:30:31 2016 -0700
+++ b/chirp/drivers/tmv71.py Tue Jun 07 21:49:22 2016 -0700
@@ -36,7 +36,7 @@
def _detect_baud(self):
for baud in [9600, 19200, 38400, 57600]:
- self.pipe.setBaudrate(baud)
+ self.pipe.baudrate = baud
self.pipe.write("\r\r")
self.pipe.read(32)
try:
2
4
Hi,
patch http://intrepid.danplanet.com/pipermail/chirp_devel/2016-November/004368.ht… adds 2-Tones for the btech-driver.
As I did not use 2-Tone-signalling yet, I implemented and verified the setting just by reverse-engineering the OEM-software (and also used the same labels for all settings), but I do not know what the settings are actually doing and how to test them.
Could someone explain me the functionality/meaning of the 2-tone decoding-settings? (respectively give advice for more intuitive labels for the settings? )
73,
Michael
1
1
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Fix JT270MH not uploading the first few memories
Also a few other debugging tweaks
Bug #4253
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 4e61983edcb2d0a70aaa220fd6b39873056bcaca
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune 4e61983edcb2d0a70aaa220fd6b39873056bcaca
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson2144275989446757322.sh
[workspace] $ /bin/sh -xe /tmp/hudson3784536648410571677.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.049s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/drivers/alinco.py:595:1: E302 expected 2 blank lines, found 1
./chirp/drivers/alinco.py:603:80: E501 line too long (114 > 79 characters)
./chirp/drivers/alinco.py:608:26: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:608:80: E501 line too long (84 > 79 characters)
./chirp/drivers/alinco.py:616:26: E222 multiple spaces after operator
./chirp/drivers/alinco.py:718:80: E501 line too long (89 > 79 characters)
./chirp/drivers/alinco.py:736:32: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:749:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:750:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:754:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:755:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:758:80: E501 line too long (81 > 79 characters)
./chirp/drivers/alinco.py:763:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:764:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:770:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:771:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:775:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:776:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:779:55: E231 missing whitespace after ','
./chirp/drivers/kyd.py:212:1: E302 expected 2 blank lines, found 1
./chirp/drivers/kyd.py:512:14: E111 indentation is not a multiple of four
real 0m7.555s
user 0m7.440s
sys 0m0.056s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-11-22 11:33:06,850] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-11-22 11:33:06,888] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-11-22 11:33:06,889] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-11-22 11:33:06,890] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-11-22 11:33:06,890] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-11-22 11:33:06,890] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-11-22 11:33:06,890] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-11-22 11:33:06,890] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-11-22 11:33:06,891] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-11-22 11:33:06,892] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-11-22 11:33:06,892] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-11-22 11:33:06,892] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-11-22 11:33:06,892] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-11-22 11:33:06,893] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-11-22 11:33:06,893] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2016-11-22 11:33:06,893] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2016-11-22 11:33:06,893] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2016-11-22 11:33:06,894] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2016-11-22 11:33:06,894] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-11-22 11:33:06,895] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-11-22 11:33:06,896] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-11-22 11:33:06,897] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-11-22 11:33:06,898] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-11-22 11:33:06,899] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-11-22 11:33:06,899] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-11-22 11:33:06,899] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-11-22 11:33:06,899] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-11-22 11:33:06,900] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-11-22 11:33:06,900] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-11-22 11:33:06,900] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-11-22 11:33:06,900] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-11-22 11:33:06,901] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-11-22 11:33:06,901] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-11-22 11:33:06,901] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-11-22 11:33:06,901] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-11-22 11:33:06,902] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-11-22 11:33:06,902] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-11-22 11:33:06,902] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-11-22 11:33:06,902] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-11-22 11:33:06,903] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-11-22 11:33:06,903] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-11-22 11:33:06,903] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-11-22 11:33:06,903] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-11-22 11:33:06,911] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-11-22 11:33:06,911] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2016-11-22 11:33:06,914] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-11-22 11:33:06,915] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-11-22 11:33:06,915] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-11-22 11:33:06,915] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-11-22 11:33:06,915] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-11-22 11:33:06,916] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-11-22 11:33:06,916] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-11-22 11:33:06,916] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-11-22 11:33:06,916] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-11-22 11:33:06,917] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-11-22 11:33:06,917] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-11-22 11:33:06,917] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-11-22 11:33:06,917] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-11-22 11:33:06,917] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-11-22 11:33:06,918] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-11-22 11:33:06,918] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-11-22 11:33:06,918] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-11-22 11:33:06,918] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-11-22 11:33:06,918] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-11-22 11:33:06,919] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-11-22 11:33:06,919] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-11-22 11:33:06,919] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-11-22 11:33:06,919] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-11-22 11:33:06,920] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-11-22 11:33:06,920] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-11-22 11:33:06,920] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-11-22 11:33:06,921] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-11-22 11:33:06,921] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-11-22 11:33:06,921] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2016-11-22 11:33:06,921] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-11-22 11:33:06,921] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-11-22 11:33:06,922] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-11-22 11:33:06,924] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2016-11-22 11:33:06,924] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2016-11-22 11:33:06,924] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2016-11-22 11:33:06,924] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2016-11-22 11:33:06,924] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2016-11-22 11:33:06,925] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-11-22 11:33:06,925] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-11-22 11:33:06,925] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-11-22 11:33:06,925] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-11-22 11:33:06,925] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-11-22 11:33:06,926] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-11-22 11:33:06,926] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-11-22 11:33:06,926] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-11-22 11:33:06,926] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-11-22 11:33:06,927] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-11-22 11:33:06,927] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-11-22 11:33:06,927] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-11-22 11:33:06,927] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-11-22 11:33:06,928] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-11-22 11:33:06,929] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-11-22 11:33:06,930] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-11-22 11:33:06,931] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-11-22 11:33:06,931] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-11-22 11:33:06,931] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-11-22 11:33:06,931] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-11-22 11:33:06,931] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-11-22 11:33:06,932] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-11-22 11:33:06,932] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-11-22 11:33:06,932] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-11-22 11:33:06,933] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-11-22 11:33:06,933] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-11-22 11:33:06,933] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-11-22 11:33:06,934] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-11-22 11:33:06,934] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-11-22 11:33:06,934] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-11-22 11:33:06,934] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-11-22 11:33:06,935] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-11-22 11:33:06,935] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-11-22 11:33:06,935] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-11-22 11:33:06,936] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-11-22 11:33:06,936] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Make Jetstream JT-270MH properly a dual-bank radio
#4241
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 9d973edb69b0ef502baa4ddb511db184eaaab3cb
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune 9d973edb69b0ef502baa4ddb511db184eaaab3cb
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson5004570537660788340.sh
[workspace] $ /bin/sh -xe /tmp/hudson7606765323893740694.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.056s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/drivers/alinco.py:595:1: E302 expected 2 blank lines, found 1
./chirp/drivers/alinco.py:603:80: E501 line too long (114 > 79 characters)
./chirp/drivers/alinco.py:608:26: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:608:80: E501 line too long (84 > 79 characters)
./chirp/drivers/alinco.py:616:26: E222 multiple spaces after operator
./chirp/drivers/alinco.py:718:80: E501 line too long (89 > 79 characters)
./chirp/drivers/alinco.py:736:32: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:749:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:750:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:754:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:755:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:758:80: E501 line too long (81 > 79 characters)
./chirp/drivers/alinco.py:763:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:764:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:770:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:771:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:775:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:776:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:779:55: E231 missing whitespace after ','
./chirp/drivers/kyd.py:212:1: E302 expected 2 blank lines, found 1
./chirp/drivers/kyd.py:512:14: E111 indentation is not a multiple of four
real 0m7.657s
user 0m7.520s
sys 0m0.060s
================================================
Tests FAILED: driver tests
Build step 'Execute shell' marked build as failure
Email was triggered for: Failure
Sending email for trigger: Failure
1
1
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Merge an accidental branch
#0
[Jim Unroe <rock.unroe(a)gmail.com>] [NC-630A] Driver Cleanup
The main purpose of this patch is a general cleanup of the kyd.py driver. Some
things were tweaked to more closely match how the "factory" software behaves
during the cloning process. Also, code was also added to be more selective in
detecting KYD NC-630A images.
Except for adding an alias for the Plant-Tours MT-700, this patch does not add
any new features and does not make any changes that will be apparent to the
CHIRP user.
Related to #4235
[Michael Wagner <michael.wagner(a)gmx.at>] [btech] Adding 2-Tone settings. Last part of #4051
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 2b00d3e5555c5a4cd886aa9f5b4a6ef851ae412b
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune 2b00d3e5555c5a4cd886aa9f5b4a6ef851ae412b
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson6355729031732681481.sh
[workspace] $ /bin/sh -xe /tmp/hudson8149262716408984273.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.050s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/drivers/alinco.py:595:1: E302 expected 2 blank lines, found 1
./chirp/drivers/alinco.py:603:80: E501 line too long (114 > 79 characters)
./chirp/drivers/alinco.py:608:26: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:608:80: E501 line too long (84 > 79 characters)
./chirp/drivers/alinco.py:616:26: E222 multiple spaces after operator
./chirp/drivers/alinco.py:718:80: E501 line too long (89 > 79 characters)
./chirp/drivers/alinco.py:736:32: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:749:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:750:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:754:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:755:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:758:80: E501 line too long (81 > 79 characters)
./chirp/drivers/alinco.py:763:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:764:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:770:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:771:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:775:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:776:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:779:55: E231 missing whitespace after ','
./chirp/drivers/kyd.py:212:1: E302 expected 2 blank lines, found 1
./chirp/drivers/kyd.py:512:14: E111 indentation is not a multiple of four
real 0m7.203s
user 0m7.188s
sys 0m0.004s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-11-19 18:08:03,198] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-11-19 18:08:03,234] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-11-19 18:08:03,234] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-11-19 18:08:03,235] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-11-19 18:08:03,236] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-11-19 18:08:03,237] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-11-19 18:08:03,238] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-11-19 18:08:03,239] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-11-19 18:08:03,240] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-11-19 18:08:03,240] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2016-11-19 18:08:03,241] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-11-19 18:08:03,242] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-11-19 18:08:03,242] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-11-19 18:08:03,242] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-11-19 18:08:03,242] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-11-19 18:08:03,243] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-11-19 18:08:03,243] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-11-19 18:08:03,243] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-11-19 18:08:03,243] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-11-19 18:08:03,243] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-11-19 18:08:03,244] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-11-19 18:08:03,245] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-11-19 18:08:03,247] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-11-19 18:08:03,247] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-11-19 18:08:03,247] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-11-19 18:08:03,248] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-11-19 18:08:03,248] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-11-19 18:08:03,248] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-11-19 18:08:03,249] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-11-19 18:08:03,249] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-11-19 18:08:03,249] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-11-19 18:08:03,249] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-11-19 18:08:03,249] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-11-19 18:08:03,250] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-11-19 18:08:03,250] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-11-19 18:08:03,250] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-11-19 18:08:03,250] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-11-19 18:08:03,251] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-11-19 18:08:03,252] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-11-19 18:08:03,252] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-11-19 18:08:03,252] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-11-19 18:08:03,252] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-11-19 18:08:03,260] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-11-19 18:08:03,260] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2016-11-19 18:08:03,264] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-11-19 18:08:03,264] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-11-19 18:08:03,264] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-11-19 18:08:03,264] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-11-19 18:08:03,265] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-11-19 18:08:03,265] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-11-19 18:08:03,265] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-11-19 18:08:03,265] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-11-19 18:08:03,266] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-11-19 18:08:03,266] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-11-19 18:08:03,266] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-11-19 18:08:03,266] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-11-19 18:08:03,267] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-11-19 18:08:03,267] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-11-19 18:08:03,267] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-11-19 18:08:03,267] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-11-19 18:08:03,268] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-11-19 18:08:03,268] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-11-19 18:08:03,268] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-11-19 18:08:03,268] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-11-19 18:08:03,268] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-11-19 18:08:03,269] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-11-19 18:08:03,269] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-11-19 18:08:03,269] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-11-19 18:08:03,270] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-11-19 18:08:03,270] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-11-19 18:08:03,270] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-11-19 18:08:03,270] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-11-19 18:08:03,270] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2016-11-19 18:08:03,271] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-11-19 18:08:03,271] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-11-19 18:08:03,271] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-11-19 18:08:03,271] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-11-19 18:08:03,272] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-11-19 18:08:03,272] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-11-19 18:08:03,272] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-11-19 18:08:03,272] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-11-19 18:08:03,273] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2016-11-19 18:08:03,273] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2016-11-19 18:08:03,274] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2016-11-19 18:08:03,274] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2016-11-19 18:08:03,274] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2016-11-19 18:08:03,274] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-11-19 18:08:03,275] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-11-19 18:08:03,276] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-11-19 18:08:03,276] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-11-19 18:08:03,276] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-11-19 18:08:03,277] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-11-19 18:08:03,278] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-11-19 18:08:03,279] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-11-19 18:08:03,280] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-11-19 18:08:03,281] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-11-19 18:08:03,281] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-11-19 18:08:03,281] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-11-19 18:08:03,281] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-11-19 18:08:03,282] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-11-19 18:08:03,282] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-11-19 18:08:03,283] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-11-19 18:08:03,283] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-11-19 18:08:03,284] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-11-19 18:08:03,285] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-11-19 18:08:03,286] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-11-19 18:08:03,286] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-11-19 18:08:03,287] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-11-19 18:08:03,287] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-11-19 18:08:03,288] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-11-19 18:08:03,289] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-11-19 18:08:03,289] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-11-19 18:08:03,290] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-11-19 18:08:03,290] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Add support for Jetstream JT270MH
Thanks to Jetstream for donating a radio!
Fixes #4219
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev cb8d0bab7c18aff9cd59d1e4393019bb7f5b754b
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune cb8d0bab7c18aff9cd59d1e4393019bb7f5b754b
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson302646167075126042.sh
[workspace] $ /bin/sh -xe /tmp/hudson7151085385579813098.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.053s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/drivers/alinco.py:595:1: E302 expected 2 blank lines, found 1
./chirp/drivers/alinco.py:603:80: E501 line too long (114 > 79 characters)
./chirp/drivers/alinco.py:608:26: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:608:80: E501 line too long (84 > 79 characters)
./chirp/drivers/alinco.py:616:26: E222 multiple spaces after operator
./chirp/drivers/alinco.py:718:80: E501 line too long (89 > 79 characters)
./chirp/drivers/alinco.py:736:32: E261 at least two spaces before inline comment
./chirp/drivers/alinco.py:749:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:750:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:754:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:755:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:758:80: E501 line too long (81 > 79 characters)
./chirp/drivers/alinco.py:763:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:764:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:770:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:771:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:775:80: E501 line too long (86 > 79 characters)
./chirp/drivers/alinco.py:776:47: E128 continuation line under-indented for visual indent
./chirp/drivers/alinco.py:779:55: E231 missing whitespace after ','
real 0m7.662s
user 0m7.544s
sys 0m0.048s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-11-19 15:13:07,688] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-11-19 15:13:07,726] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-11-19 15:13:07,727] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-11-19 15:13:07,728] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-11-19 15:13:07,728] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-11-19 15:13:07,728] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-11-19 15:13:07,728] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-11-19 15:13:07,728] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-11-19 15:13:07,729] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-11-19 15:13:07,730] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-11-19 15:13:07,730] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-11-19 15:13:07,730] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-11-19 15:13:07,731] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-11-19 15:13:07,731] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2016-11-19 15:13:07,731] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2016-11-19 15:13:07,731] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2016-11-19 15:13:07,731] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2016-11-19 15:13:07,732] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-11-19 15:13:07,732] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-11-19 15:13:07,732] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-11-19 15:13:07,733] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-11-19 15:13:07,734] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-11-19 15:13:07,735] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-11-19 15:13:07,736] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-11-19 15:13:07,736] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-11-19 15:13:07,737] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-11-19 15:13:07,737] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-11-19 15:13:07,737] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-11-19 15:13:07,738] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-11-19 15:13:07,738] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-11-19 15:13:07,738] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-11-19 15:13:07,738] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-11-19 15:13:07,739] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-11-19 15:13:07,739] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-11-19 15:13:07,739] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-11-19 15:13:07,739] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-11-19 15:13:07,739] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-11-19 15:13:07,740] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-11-19 15:13:07,740] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-11-19 15:13:07,740] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-11-19 15:13:07,741] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-11-19 15:13:07,741] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-11-19 15:13:07,741] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-11-19 15:13:07,741] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-11-19 15:13:07,748] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-11-19 15:13:07,749] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2016-11-19 15:13:07,752] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-11-19 15:13:07,752] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-11-19 15:13:07,752] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-11-19 15:13:07,753] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-11-19 15:13:07,753] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-11-19 15:13:07,753] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-11-19 15:13:07,753] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-11-19 15:13:07,754] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-11-19 15:13:07,754] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-11-19 15:13:07,754] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-11-19 15:13:07,754] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-11-19 15:13:07,754] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-11-19 15:13:07,755] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-11-19 15:13:07,755] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-11-19 15:13:07,755] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-11-19 15:13:07,755] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-11-19 15:13:07,756] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-11-19 15:13:07,756] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-11-19 15:13:07,756] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-11-19 15:13:07,756] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-11-19 15:13:07,756] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-11-19 15:13:07,757] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-11-19 15:13:07,757] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-11-19 15:13:07,757] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-11-19 15:13:07,757] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-11-19 15:13:07,758] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-11-19 15:13:07,758] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-11-19 15:13:07,758] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-11-19 15:13:07,758] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2016-11-19 15:13:07,758] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-11-19 15:13:07,759] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-11-19 15:13:07,759] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-11-19 15:13:07,759] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-11-19 15:13:07,759] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-11-19 15:13:07,759] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-11-19 15:13:07,760] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-11-19 15:13:07,760] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-11-19 15:13:07,761] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2016-11-19 15:13:07,761] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2016-11-19 15:13:07,761] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2016-11-19 15:13:07,762] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2016-11-19 15:13:07,762] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2016-11-19 15:13:07,762] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-11-19 15:13:07,762] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-11-19 15:13:07,763] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-11-19 15:13:07,764] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-11-19 15:13:07,764] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-11-19 15:13:07,764] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-11-19 15:13:07,764] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-11-19 15:13:07,765] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-11-19 15:13:07,766] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-11-19 15:13:07,767] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-11-19 15:13:07,768] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-11-19 15:13:07,769] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-11-19 15:13:07,769] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-11-19 15:13:07,770] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-11-19 15:13:07,770] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-11-19 15:13:07,770] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-11-19 15:13:07,771] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-11-19 15:13:07,771] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-11-19 15:13:07,771] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-11-19 15:13:07,771] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-11-19 15:13:07,772] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-11-19 15:13:07,772] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-11-19 15:13:07,773] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-11-19 15:13:07,773] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-11-19 15:13:07,773] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-11-19 15:13:07,773] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1479507921 18000
# Node ID 09f726c48ffde792ab267a822e23dcf854fe9906
# Parent cb8d0bab7c18aff9cd59d1e4393019bb7f5b754b
[NC-630A] Driver Cleanup
The main purpose of this patch is a general cleanup of the kyd.py driver. Some
things were tweaked to more closely match how the "factory" software behaves
during the cloning process. Also, code was also added to be more selective in
detecting KYD NC-630A images.
Except for adding an alias for the Plant-Tours MT-700, this patch does not add
any new features and does not make any changes that will be apparent to the
CHIRP user.
Related to #4235
diff -r cb8d0bab7c18 -r 09f726c48ffd chirp/drivers/kyd.py
--- a/chirp/drivers/kyd.py Wed Nov 16 20:23:27 2016 -0800
+++ b/chirp/drivers/kyd.py Fri Nov 18 17:25:21 2016 -0500
@@ -63,7 +63,6 @@
"""
CMD_ACK = "\x06"
-BLOCK_SIZE = 0x08
NC630A_POWER_LEVELS = [chirp_common.PowerLevel("Low", watts=1.00),
chirp_common.PowerLevel("High", watts=5.00)]
@@ -91,8 +90,6 @@
serial = radio.pipe
try:
- serial.write("\x02")
- time.sleep(0.1)
serial.write("PROGRAM")
ack = serial.read(1)
except:
@@ -109,7 +106,7 @@
except:
raise errors.RadioError("Error communicating with radio")
- if not ident.startswith("P32073"):
+ if not ident.startswith(radio._fileid):
LOG.debug(util.hexprint(ident))
raise errors.RadioError("Radio returned unknown identification string")
@@ -123,24 +120,16 @@
raise errors.RadioError("Radio refused to enter programming mode")
-def _nc630a_exit_programming_mode(radio):
- serial = radio.pipe
- try:
- serial.write("E")
- except:
- raise errors.RadioError("Radio refused to exit programming mode")
-
-
def _nc630a_read_block(radio, block_addr, block_size):
serial = radio.pipe
- cmd = struct.pack(">cHb", 'R', block_addr, BLOCK_SIZE)
+ cmd = struct.pack(">cHb", 'R', block_addr, block_size)
expectedresponse = "W" + cmd[1:]
LOG.debug("Reading block %04x..." % (block_addr))
try:
serial.write(cmd)
- response = serial.read(4 + BLOCK_SIZE)
+ response = serial.read(4 + block_size)
if response[:4] != expectedresponse:
raise Exception("Error reading block %04x." % (block_addr))
@@ -160,8 +149,8 @@
def _nc630a_write_block(radio, block_addr, block_size):
serial = radio.pipe
- cmd = struct.pack(">cHb", 'W', block_addr, BLOCK_SIZE)
- data = radio.get_mmap()[block_addr:block_addr + 8]
+ cmd = struct.pack(">cHb", 'W', block_addr, block_size)
+ data = radio.get_mmap()[block_addr:block_addr + block_size]
LOG.debug("Writing Data:")
LOG.debug(util.hexprint(cmd + data))
@@ -187,18 +176,16 @@
status.cur = 0
status.max = radio._memsize
- for addr in range(0, radio._memsize, BLOCK_SIZE):
- status.cur = addr + BLOCK_SIZE
+ for addr in range(0, radio._memsize, radio._block_size):
+ status.cur = addr + radio._block_size
radio.status_fn(status)
- block = _nc630a_read_block(radio, addr, BLOCK_SIZE)
+ block = _nc630a_read_block(radio, addr, radio._block_size)
data += block
LOG.debug("Address: %04x" % addr)
LOG.debug(util.hexprint(block))
- _nc630a_exit_programming_mode(radio)
-
return memmap.MemoryMap(data)
@@ -212,25 +199,30 @@
status.max = radio._memsize
for start_addr, end_addr in radio._ranges:
- for addr in range(start_addr, end_addr, BLOCK_SIZE):
- status.cur = addr + BLOCK_SIZE
+ for addr in range(start_addr, end_addr, radio._block_size):
+ status.cur = addr + radio._block_size
radio.status_fn(status)
- _nc630a_write_block(radio, addr, BLOCK_SIZE)
+ _nc630a_write_block(radio, addr, radio._block_size)
- _nc630a_exit_programming_mode(radio)
+class MT700Alias(chirp_common.Alias):
+ VENDOR = "Plant-Tours"
+ MODEL = "MT-700"
@directory.register
class NC630aRadio(chirp_common.CloneModeRadio):
"""KYD NC-630A"""
VENDOR = "KYD"
MODEL = "NC-630A"
+ ALIASES = [MT700Alias]
BAUD_RATE = 9600
_ranges = [
- (0x0000, 0x0338),
+ (0x0000, 0x0330),
]
- _memsize = 0x0338
+ _memsize = 0x03C8
+ _block_size = 0x08
+ _fileid = "P32073"
def get_features(self):
rf = chirp_common.RadioFeatures()
@@ -403,9 +395,11 @@
_skp = self._memobj.skipflags[bytepos]
if mem.empty:
- _mem.set_raw("\xFF" * (_mem.size() / 8))
+ _mem.set_raw("\xFF" * 16)
return
+ _mem.set_raw("\x00" * 14 + "\xFF" * 2)
+
_mem.rxfreq = mem.freq / 10
if mem.duplex == "off":
@@ -504,3 +498,20 @@
except Exception, e:
LOG.debug(element.get_name())
raise
+
+ @classmethod
+ def match_model(cls, filedata, filename):
+ match_size = match_model = False
+
+ # testing the file data size
+ if len(filedata) in [0x338, 0x3C8]:
+ match_size = True
+
+ # testing model fingerprint
+ if filedata[0x01B8:0x01BE] == cls._fileid:
+ match_model = True
+
+ if match_size and match_model:
+ return True
+ else:
+ return False
1
0
I am trying to work with a user to get his radio supported by CHIRP.
The model (Baofeng UV-6R) is a supported model, but it is a different
firmware version and it behaves a little different in the cloning
process.
I can send him modified uv6r.py files that he can use the "Load
module" feature to test the changes. The issue is that this driver
depends on the baofeng_common.py driver for the cloning process
itself. I can modify this driver and send it to him, but even after
loading it using the "Load module" feature, the original driver
continues to be used.
My question is what do I have to do to be able to allow this user to
use a modified baofeng_common.py driver?
Thanks,
Jim KC9HI
2
5
[chirp_devel] [PATCH] [btech] Adding 2-Tone settings. Last part of #4051
by Michael Wagner (OE4AMW) 18 Nov '16
by Michael Wagner (OE4AMW) 18 Nov '16
18 Nov '16
# HG changeset patch
# User Michael Wagner <michael.wagner(a)gmx.at>
# Date 1479493548 -3600
# Fri Nov 18 19:25:48 2016 +0100
# Node ID b1bb9285f4e1af1be4a44b13fb3df961cc11eabe
# Parent cb8d0bab7c18aff9cd59d1e4393019bb7f5b754b
[btech] Adding 2-Tone settings. Last part of #4051
diff -r cb8d0bab7c18 -r b1bb9285f4e1 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Wed Nov 16 20:23:27 2016 -0800
+++ b/chirp/drivers/btech.py Fri Nov 18 19:25:48 2016 +0100
@@ -241,6 +241,43 @@
u8 resettime; // * 100 + 100ms
} dtmf_settings;
+#seekto 0x2D00;
+struct {
+ struct {
+ ul16 freq1;
+ u8 unused01[6];
+ ul16 freq2;
+ u8 unused02[6];
+ } _2tone_encode[15];
+ u8 duration_1st_tone; // *10ms
+ u8 duration_2nd_tone; // *10ms
+ u8 duration_gap; // *10ms
+ u8 unused03[13];
+ struct {
+ struct {
+ u8 dec; // one out of LIST_2TONE_DEC
+ u8 response; // one out of LIST_2TONE_RESPONSE
+ u8 alert; // 1-16
+ } decs[4];
+ u8 unused04[4];
+ } _2tone_decode[15];
+ u8 unused05[16];
+
+ struct {
+ ul16 freqA;
+ ul16 freqB;
+ ul16 freqC;
+ ul16 freqD;
+ // unknown what those values mean, but they are
+ // derived from configured frequencies
+ ul16 derived_from_freqA; // 2304000/freqA
+ ul16 derived_from_freqB; // 2304000/freqB
+ ul16 derived_from_freqC; // 2304000/freqC
+ ul16 derived_from_freqD; // 2304000/freqD
+ }freqs[15];
+ u8 reset_time; // * 100 + 100ms - 100-8000ms
+} _2tone;
+
#seekto 0x3000;
struct {
u8 freq[8];
@@ -346,7 +383,11 @@
LIST_DTMF_SPECIAL_VALUES = [ 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00]
LIST_DTMF_DELAY = ["%s ms" % x for x in range(100, 4100, 100)]
CHARSET_DTMF_DIGITS = "0123456789AaBbCcDd#*"
-
+LIST_2TONE_DEC = ["A-B", "A-C", "A-D",
+ "B-A", "B-C", "B-D",
+ "C-A", "C-B", "C-D",
+ "D-A", "D-B", "D-C"]
+LIST_2TONE_RESPONSE = ["None", "Alert", "Transpond", "Alert+Transpond"]
# This is a general serial timeout for all serial read functions.
# Practice has show that about 0.7 sec will be enough to cover all radios.
@@ -2279,6 +2320,216 @@
else:
LOG.debug("Invalid value decode reset time! Disabling.")
+ # 2 Tone
+ encode_2tone = RadioSettingGroup ("encode_2tone", "2 Tone Encode")
+ decode_2tone = RadioSettingGroup ("decode_2tone", "2 Code Decode")
+
+ top.append(encode_2tone)
+ top.append(decode_2tone)
+
+ duration_1st_tone = self._memobj._2tone.duration_1st_tone
+ if duration_1st_tone == 255:
+ LOG.debug("Duration of first 2 Tone digit is not yet " +
+ "configured. Setting to 600ms")
+ duration_1st_tone = 60
+
+ if duration_1st_tone <= len( LIST_5TONE_DELAY ):
+ line = RadioSetting("_2tone.duration_1st_tone",
+ "Duration 1st Tone",
+ RadioSettingValueList(LIST_5TONE_DELAY,
+ LIST_5TONE_DELAY[
+ duration_1st_tone]))
+ encode_2tone.append(line)
+
+ duration_2nd_tone = self._memobj._2tone.duration_2nd_tone
+ if duration_2nd_tone == 255:
+ LOG.debug("Duration of second 2 Tone digit is not yet " +
+ "configured. Setting to 600ms")
+ duration_2nd_tone = 60
+
+ if duration_2nd_tone <= len( LIST_5TONE_DELAY ):
+ line = RadioSetting("_2tone.duration_2nd_tone",
+ "Duration 2nd Tone",
+ RadioSettingValueList(LIST_5TONE_DELAY,
+ LIST_5TONE_DELAY[
+ duration_2nd_tone]))
+ encode_2tone.append(line)
+
+ duration_gap = self._memobj._2tone.duration_gap
+ if duration_gap == 255:
+ LOG.debug("Duration of gap is not yet " +
+ "configured. Setting to 300ms")
+ duration_gap = 30
+
+ if duration_gap <= len( LIST_5TONE_DELAY ):
+ line = RadioSetting("_2tone.duration_gap", "Duration of gap",
+ RadioSettingValueList(LIST_5TONE_DELAY,
+ LIST_5TONE_DELAY[
+ duration_gap]))
+ encode_2tone.append(line)
+
+ def _2tone_validate(value):
+ if value == 0:
+ return 65535
+ if value == 65535:
+ return value
+ if not (300 <= value and value <= 3000):
+ msg = ("2 Tone Frequency: Must be between 300 and 3000 Hz")
+ raise InvalidValueError(msg)
+ return value
+
+ def apply_2tone_freq(setting, obj):
+ val = int(setting.value)
+ if (val == 0) or (val == 65535):
+ obj.set_value(65535)
+ else:
+ obj.set_value(val)
+
+ i = 1
+ for code in self._memobj._2tone._2tone_encode:
+ code_2tone = RadioSettingGroup ("code_2tone_" + str(i),
+ "Encode Code " + str(i))
+ encode_2tone.append(code_2tone)
+
+ tmp = code.freq1
+ if tmp == 65535:
+ tmp = 0
+ val1 = RadioSettingValueInteger(0, 65535, tmp)
+ freq1 = RadioSetting("2tone_code_"+ str(i) + "_freq1",
+ "Frequency 1", val1)
+ val1.set_validate_callback(_2tone_validate)
+ freq1.set_apply_callback(apply_2tone_freq, code.freq1)
+ code_2tone.append(freq1)
+
+ tmp = code.freq2
+ if tmp == 65535:
+ tmp = 0
+ val2 = RadioSettingValueInteger(0, 65535, tmp)
+ freq2 = RadioSetting("2tone_code_"+ str(i) + "_freq2",
+ "Frequency 2", val2)
+ val2.set_validate_callback(_2tone_validate)
+ freq2.set_apply_callback(apply_2tone_freq, code.freq2)
+ code_2tone.append(freq2)
+
+ i = i + 1
+
+ decode_reset_time = _mem._2tone.reset_time
+ if decode_reset_time == 255:
+ decode_reset_time = 59
+ LOG.debug("Decode reset time unconfigured. resetting.")
+ if decode_reset_time <= len(LIST_5TONE_RESET):
+ list = RadioSettingValueList(
+ LIST_5TONE_RESET,
+ LIST_5TONE_RESET[
+ decode_reset_time])
+ line = RadioSetting("_2tone.reset_time",
+ "Decode reset time", list)
+ decode_2tone.append(line)
+ else:
+ LOG.debug("Invalid value decode reset time! Disabling.")
+
+ def apply_2tone_freq_pair(setting, obj):
+ val = int(setting.value)
+ derived_val = 65535
+ frqname = str(setting._name[-5:])
+ derivedname = "derived_from_" + frqname
+
+ if (val == 0):
+ val = 65535
+ derived_val = 65535
+ else:
+ derived_val = int(round(2304000.0/val))
+
+ obj[frqname].set_value( val )
+ obj[derivedname].set_value( derived_val )
+
+ LOG.debug("Apply " + frqname + ": " + str(val) + " | "
+ + derivedname + ": " + str(derived_val))
+
+ i = 1
+ for decode_code in self._memobj._2tone._2tone_decode:
+ _2tone_dec_code = RadioSettingGroup ("code_2tone_" + str(i),
+ "Decode Code " + str(i))
+ decode_2tone.append(_2tone_dec_code)
+
+ j = 1
+ for dec in decode_code.decs:
+ val = dec.dec
+ if val == 255:
+ LOG.debug("Dec for Code " + str(i) + " Dec " + str(j) +
+ " is not yet configured. Setting to 0.")
+ val = 0
+
+ if val <= len( LIST_2TONE_DEC ):
+ line = RadioSetting(
+ "_2tone_dec_settings_" + str(i) + "_dec_" + str(j),
+ "Dec " + str(j), RadioSettingValueList
+ (LIST_2TONE_DEC,
+ LIST_2TONE_DEC[val]))
+ line.set_apply_callback(apply_list_value, dec.dec)
+ _2tone_dec_code.append(line)
+ else:
+ LOG.debug("Invalid value for 2tone dec! Disabling.")
+
+ val = dec.response
+ if val == 255:
+ LOG.debug("Response for Code " + str(i) + " Dec " + str(j)+
+ " is not yet configured. Setting to 0.")
+ val = 0
+
+ if val <= len( LIST_2TONE_RESPONSE ):
+ line = RadioSetting(
+ "_2tone_dec_settings_" + str(i) + "_resp_" + str(j),
+ "Response " + str(j), RadioSettingValueList
+ (LIST_2TONE_RESPONSE,
+ LIST_2TONE_RESPONSE[val]))
+ line.set_apply_callback(apply_list_value, dec.response)
+ _2tone_dec_code.append(line)
+ else:
+ LOG.debug("Invalid value for 2tone response! Disabling.")
+
+ val = dec.alert
+ if val == 255:
+ LOG.debug("Alert for Code " + str(i) + " Dec " + str(j) +
+ " is not yet configured. Setting to 0.")
+ val = 0
+
+ if val <= len( PTTIDCODE_LIST ):
+ line = RadioSetting(
+ "_2tone_dec_settings_" + str(i) + "_alert_" + str(j),
+ "Alert " + str(j), RadioSettingValueList
+ (PTTIDCODE_LIST,
+ PTTIDCODE_LIST[val]))
+ line.set_apply_callback(apply_list_value, dec.alert)
+ _2tone_dec_code.append(line)
+ else:
+ LOG.debug("Invalid value for 2tone alert! Disabling.")
+ j = j + 1
+
+ freq = self._memobj._2tone.freqs[i-1]
+ for char in ['A', 'B', 'C', 'D']:
+ setting_name = "freq" + str(char)
+
+ tmp = freq[setting_name]
+ if tmp == 65535:
+ tmp = 0
+ if tmp != 0:
+ expected = int(round(2304000.0/tmp))
+ from_mem = freq["derived_from_" + setting_name]
+ if expected != from_mem:
+ LOG.error("Expected " + str(expected) +
+ " but read " + str(from_mem ) +
+ ". Disabling 2Tone Decode Freqs!")
+ break
+ val = RadioSettingValueInteger(0, 65535, tmp)
+ frq = RadioSetting("2tone_dec_"+ str(i) + "_freq" + str(char),
+ ("Decode Frequency " +str(char)), val)
+ val.set_validate_callback(_2tone_validate)
+ frq.set_apply_callback(apply_2tone_freq_pair, freq)
+ _2tone_dec_code.append(frq)
+
+ i = i + 1
+
return top
def set_settings(self, settings):
1
0
The "Alising for radio clones" wiki page says the followiong...
<quote>
For example, if you read and save an image of a Juentai JT-6188 Mini,
when you re-open it from the file in your hard drive, you will find
Chirp telling you that this image is for a QYT KT-8900, not the
Juentai JT-6188 Mini. This is completely normal and you are safe using
it for your clone radio.
</quote>
and this
<quote>
Once you want to save a copy of your radio data you will find Chirp is
suggesting you to use the {vendor}_{model}_{date}.img schema, for the
above example you will receive the suggestion to use this:
Juentai_JT-6188 Mini_{date}.img
</quote>
I don't find that his is the case. As soon as the download is
finished, CHIRP displays the {vendor}_{model} of the radio that the
selection is an alias of.
Is this wiki incorrect or am I implementing the "alias" feature incorrectly?
Reference: http://chirp.danplanet.com/projects/chirp/wiki/Aliasing_for_radio_clones
Jim
1
0