Developers
Threads by month
- ----- 2025 -----
- January
- ----- 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
- 1 participants
- 2965 discussions
[chirp_devel] [PATCH] [btech] Add support for 16 FM presets for KT-8900R. Part of #4051
by Michael Wagner 26 Sep '16
by Michael Wagner 26 Sep '16
26 Sep '16
# HG changeset patch
# User Michael Wagner <michael.wagner(a)gmx.at>
# Date 1474921370 -7200
# Mon Sep 26 22:22:50 2016 +0200
# Node ID 51ab51073c320b2b383b1ca175cc728a95775273
# Parent 0e35f539fc38800907e088ab95d9d3a6c0071748
[btech] Add support for 16 FM presets for KT-8900R. Part of #4051
Add support for the 16 FM presets.
Tested only on QYT KT-8900R - tests on other devices supported by the btech-driver are welcome.
73,
Michael, OE4AMW
diff -r 0e35f539fc38 -r 51ab51073c32 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Fri Sep 23 19:43:18 2016 +0200
+++ b/chirp/drivers/btech.py Mon Sep 26 22:22:50 2016 +0200
@@ -27,7 +27,7 @@
from chirp.settings import RadioSettingGroup, RadioSetting, \
RadioSettingValueBoolean, RadioSettingValueList, \
RadioSettingValueString, RadioSettingValueInteger, \
- RadioSettings, InvalidValueError
+ RadioSettingValueFloat, RadioSettings, InvalidValueError
from textwrap import dedent
MEM_FORMAT = """
@@ -155,6 +155,13 @@
u8 unknown1[10];
} names[200];
+#seekto 0x3000;
+struct {
+ u8 freq[8];
+ char broadcast_station_name[6];
+ u8 unknown[2];
+} fm_radio_preset[16];
+
#seekto 0x3C90;
struct {
u8 vhf_low[3];
@@ -1110,7 +1117,8 @@
advanced = RadioSettingGroup("advanced", "Advanced Settings")
other = RadioSettingGroup("other", "Other Settings")
work = RadioSettingGroup("work", "Work Mode Settings")
- top = RadioSettings(basic, advanced, other, work)
+ fm_presets = RadioSettingGroup("fm_presets", "FM Presets")
+ top = RadioSettings(basic, advanced, other, work, fm_presets)
# Basic
tdr = RadioSetting("settings.tdr", "Transceiver dual receive",
@@ -1547,6 +1555,47 @@
PTTID_LIST[_mem.settings.pttid]))
work.append(pttid)
+ #FM presets
+ def fm_validate(value):
+ if value == 0:
+ return chirp_common.format_freq(value)
+ if not (87.5 <= value and value <= 108.0): # 87.5-108MHz
+ msg = ("FM-Preset-Frequency: Must be between 87.5 and 108 MHz")
+ raise InvalidValueError(msg)
+ return value
+
+ def apply_fm_preset_name(setting, obj):
+ valstring = str (setting.value)
+ for i in range(0,6):
+ if valstring[i] in VALID_CHARS:
+ obj[i] = valstring[i]
+ else:
+ obj[i] = '0xff'
+
+ def apply_fm_freq(setting, obj):
+ value = chirp_common.parse_freq(str(setting.value)) / 10
+ for i in range(7, -1, -1):
+ obj.freq[i] = value % 10
+ value /= 10
+
+ _presets = self._memobj.fm_radio_preset
+ i = 1
+ for preset in _presets:
+ line = RadioSetting("fm_presets_"+ str(i), "Station name " + str(i),
+ RadioSettingValueString(0, 6, _filter(
+ preset.broadcast_station_name)))
+ line.set_apply_callback(apply_fm_preset_name,
+ preset.broadcast_station_name)
+
+ val = RadioSettingValueFloat(0, 108, convert_bytes_to_freq(preset.freq))
+ fmfreq = RadioSetting("fm_presets_"+ str(i) + "_freq", "Frequency "+ str(i), val)
+ val.set_validate_callback(fm_validate)
+ fmfreq.set_apply_callback(apply_fm_freq, preset)
+ fm_presets.append(line)
+ fm_presets.append(fmfreq)
+
+ i = i + 1
+
return top
def set_settings(self, settings):
1
0
Tested changes:
[Leo Bärring <leo.barring(a)protonmail.com>] [px888k] Adding support for the Puxing PX-888K. Fixes, among others, #288
List of issues asking for support of the model:
#3447 #1659 #379 #288
[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 de4b21e1515d1fae6daa12740502d01a08070b65
[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 de4b21e1515d1fae6daa12740502d01a08070b65
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson8099531531143590885.sh
[workspace] $ /bin/sh -xe /tmp/hudson3348761285221433372.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/chirp_common.py:33:32: E202 whitespace before ']'
./chirp/drivers/ft2900.py:1236:1: E265 block comment should start with '# '
./chirp/drivers/ft60.py:522:45: W291 trailing whitespace
./chirp/drivers/ft60.py:523:25: E128 continuation line under-indented for visual indent
./chirp/drivers/ft60.py:524:13: E301 expected 1 blank line, found 0
./chirp/drivers/ft817.py:587:41: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:684:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:688:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:691:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:692:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:695:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:696:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:699:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:702:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:705:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:708:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:711:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:714:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:717:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:720:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:721:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:724:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:725:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:728:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:731:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:732:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:735:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:736:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:739:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:740:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:743:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:744:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:747:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:750:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:753:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:754:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:757:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:758:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:761:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:764:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:767:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:768:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:771:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:772:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:775:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:776:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:779:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:782:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:783:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:786:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:789:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:790:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:793:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:794:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:810:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:811:31: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:814:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:817:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:821:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:827:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:832:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:836:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:840:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:844:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:848:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:893:25: E128 continuation line under-indented for visual indent
./chirp/drivers/leixen.py:427:80: E501 line too long (82 > 79 characters)
./chirp/drivers/leixen.py:955:80: E501 line too long (87 > 79 characters)
./chirp/drivers/thd72.py:188:1: E302 expected 2 blank lines, found 1
./chirp/drivers/thd72.py:203:23: E201 whitespace after '['
./chirp/drivers/thd72.py:203:80: E501 line too long (171 > 79 characters)
./chirp/drivers/thd72.py:203:170: E202 whitespace before ']'
./chirp/drivers/thd72.py:204:13: E201 whitespace after '['
./chirp/drivers/thd72.py:204:61: E202 whitespace before ']'
./chirp/drivers/thd72.py:205:23: E201 whitespace after '['
./chirp/drivers/thd72.py:205:74: E202 whitespace before ']'
./chirp/drivers/thd72.py:206:18: E201 whitespace after '['
./chirp/drivers/thd72.py:206:65: E202 whitespace before ']'
./chirp/drivers/thd72.py:595:1: W293 blank line contains whitespace
./chirp/drivers/thd72.py:603:1: W293 blank line contains whitespace
./chirp/settings.py:245:80: E501 line too long (81 > 79 characters)
./chirp/settings.py:248:80: E501 line too long (81 > 79 characters)
./chirp/ui/mainapp.py:647:13: E128 continuation line under-indented for visual indent
./chirp/ui/mainapp.py:661:5: E303 too many blank lines (2)
./chirp/ui/mainapp.py:1374:80: E501 line too long (81 > 79 characters)
./chirp/ui/mainapp.py:1378:80: E501 line too long (80 > 79 characters)
./chirp/ui/mainapp.py:1663:80: E501 line too long (85 > 79 characters)
real 0m7.552s
user 0m7.456s
sys 0m0.032s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-09-25 08:03:00,374] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-09-25 08:03:00,410] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-09-25 08:03:00,411] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-09-25 08:03:00,412] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-09-25 08:03:00,413] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-09-25 08:03:00,414] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-09-25 08:03:00,415] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-09-25 08:03:00,416] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-09-25 08:03:00,416] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-09-25 08:03:00,416] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-09-25 08:03:00,416] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-09-25 08:03:00,417] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-09-25 08:03:00,418] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-09-25 08:03:00,419] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-09-25 08:03:00,420] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-09-25 08:03:00,420] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-09-25 08:03:00,421] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-09-25 08:03:00,421] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-09-25 08:03:00,421] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-09-25 08:03:00,422] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-09-25 08:03:00,422] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-09-25 08:03:00,422] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-09-25 08:03:00,422] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-09-25 08:03:00,423] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-09-25 08:03:00,423] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-09-25 08:03:00,423] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-09-25 08:03:00,423] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-09-25 08:03:00,423] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-09-25 08:03:00,424] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-09-25 08:03:00,424] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-09-25 08:03:00,425] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-09-25 08:03:00,425] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-09-25 08:03:00,425] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-09-25 08:03:00,425] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-09-25 08:03:00,432] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-09-25 08:03:00,435] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-09-25 08:03:00,436] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-09-25 08:03:00,436] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-09-25 08:03:00,436] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-09-25 08:03:00,436] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-09-25 08:03:00,436] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-09-25 08:03:00,437] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-09-25 08:03:00,437] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-09-25 08:03:00,437] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-09-25 08:03:00,437] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-09-25 08:03:00,438] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-09-25 08:03:00,438] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-09-25 08:03:00,438] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-09-25 08:03:00,438] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-09-25 08:03:00,439] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-09-25 08:03:00,440] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-09-25 08:03:00,440] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-09-25 08:03:00,440] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-09-25 08:03:00,440] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-09-25 08:03:00,441] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-09-25 08:03:00,441] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-09-25 08:03:00,441] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-09-25 08:03:00,441] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-09-25 08:03:00,442] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-09-25 08:03:00,442] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-09-25 08:03:00,442] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-09-25 08:03:00,443] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-09-25 08:03:00,443] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-09-25 08:03:00,443] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-09-25 08:03:00,443] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-09-25 08:03:00,443] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-09-25 08:03:00,444] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2016-09-25 08:03:00,445] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-09-25 08:03:00,445] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-09-25 08:03:00,445] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-09-25 08:03:00,445] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-09-25 08:03:00,445] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-09-25 08:03:00,446] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-09-25 08:03:00,446] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-09-25 08:03:00,446] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-09-25 08:03:00,446] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-09-25 08:03:00,446] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-09-25 08:03:00,447] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-09-25 08:03:00,447] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-09-25 08:03:00,447] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-09-25 08:03:00,447] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-09-25 08:03:00,447] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-09-25 08:03:00,448] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-09-25 08:03:00,449] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-09-25 08:03:00,450] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-09-25 08:03:00,451] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-09-25 08:03:00,451] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-09-25 08:03:00,451] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-09-25 08:03:00,451] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-09-25 08:03:00,451] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-09-25 08:03:00,452] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-09-25 08:03:00,452] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-09-25 08:03:00,452] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-09-25 08:03:00,453] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-09-25 08:03:00,453] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-09-25 08:03:00,453] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-09-25 08:03:00,454] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-09-25 08:03:00,454] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-09-25 08:03:00,454] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-09-25 08:03:00,455] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-09-25 08:03:00,455] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-09-25 08:03:00,455] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-09-25 08:03:00,455] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-09-25 08:03:00,456] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_PMjlkN.img /tmp/Alinco_DJ175_trjDVr.img /tmp/Alinco_DJ596_EBF1HH.img /tmp/Alinco_DJ596_WLwomJ.img /tmp/Alinco_DR235T_rLhuZd.img /tmp/Alinco_DR235T_rmjarE.img /tmp/AnyTone_OBLTR-8R_KSpDH9.img /tmp/AnyTone_OBLTR-8R_Whrl4B.img /tmp/AnyTone_TERMN-8R_bDMcgL.img /tmp/AnyTone_TERMN-8R_n4jO_T.img /tmp/BTECH_UV-2501+220_GgZdlb.img /tmp/BTECH_UV-2501+220_J5ziJu.img /tmp/BTECH_UV-5001_5yKp2q.img /tmp/BTECH_UV-5001_ZUXitH.img /tmp/BTECH_UV-50X3_NfeCGW.img /tmp/BTECH_UV-50X3_Svnofl.img /tmp/BTECH_UV-50X3_iQ6ouH.img /tmp/BTECH_UV-50X3_tw5z6H.img /tmp/BTECH_UV-50X3_u6YHiB.img /tmp/BTECH_UV-50X3_v4TIpp.img /tmp/BTECH_UV-5X3_ALhdcQ.img /tmp/BTECH_UV-5X3_Z6yIyP.img /tmp/Baofeng_BF-888_ForR4E.img /tmp/Baofeng_BF-888_V0YI7I.img /tmp/Baofeng_F-11_mIBG1Q.img /tmp/Baofeng_F-11_wZa5UL.img /tmp/Baofeng_UV-3R_mi4q5Y.img /tmp/Baofeng_UV-3R_wrFmEa.img /tmp/Baofeng_UV-5R_L6BsrI.img /tmp/Baofeng_UV-5R_XC_XQw.img /tmp/Baofeng_UV-6R_afHgLl.img /tmp/Baofeng_UV-6R_u_Rm01.img /tmp/Baofeng_UV-B5_2NaJrW.img /tmp/Baofeng_UV-B5_stqP8y.img /tmp/Baojie_BJ-9900_B2X_h1.img /tmp/Baojie_BJ-9900_FZ6585.img /tmp/Baojie_BJ-9900_IDTdo1.img /tmp/Baojie_BJ-9900_PW7DMh.img /tmp/Baojie_BJ-9900_zH_reK.img /tmp/Baojie_BJ-9900_z_rmGu.img /tmp/Feidaxin_FD-268A_9VeOHl.img /tmp/Feidaxin_FD-268A_mHeO3a.img /tmp/Feidaxin_FD-268B_WqwbWj.img /tmp/Feidaxin_FD-268B_e05svu.img /tmp/Feidaxin_FD-288B_OSJR3x.img /tmp/Feidaxin_FD-288B_cwtMNy.img /tmp/Icom_IC-208H_GkslxE.img /tmp/Icom_IC-208H_i1yhQ7.img /tmp/Icom_IC-2100H_Qa68I8.img /tmp/Icom_IC-2100H_ZaGC69.img /tmp/Icom_IC-2200H_Gr9Gwq.img /tmp/Icom_IC-2200H_VpmqZN.img /tmp/Icom_IC-2720H_LNjCXC.img /tmp/Icom_IC-2720H_PtExXY.img /tmp/Icom_IC-2820H_4Q0p3Z.img /tmp/Icom_IC-2820H_o8pQrs.img /tmp/Icom_IC-Q7A_2wlJYm.img /tmp/Icom_IC-Q7A_jPkLuS.img /tmp/Icom_IC-T70_1IjzGi.img /tmp/Icom_IC-T70_dqsHhU.img /tmp/Icom_IC-T7H_6pWUEr.img /tmp/Icom_IC-T7H_sr1V6Z.img /tmp/Icom_IC-T8A_mseJHz.img /tmp/Icom_IC-T8A_xsaO05.img /tmp/Icom_IC-V82_U82_Ftvt3y.img /tmp/Icom_IC-V82_U82_njQkpW.img /tmp/Icom_IC-W32A_GmKq3J.img /tmp/Icom_IC-W32A_MPScWu.img /tmp/Icom_IC-W32A_UWvFtZ.img /tmp/Icom_IC-W32A_doygCl.img /tmp/Icom_IC-W32A_qzHN1o.img /tmp/Icom_IC-W32A_zphFIR.img /tmp/Icom_IC-W32E_AxqoCg.img /tmp/Icom_IC-W32E_FA73Ga.img /tmp/Icom_IC-W32E_Kh0FKk.img /tmp/Icom_IC-W32E_e3l4Cw.img /tmp/Icom_IC-W32E_mEm8tr.img /tmp/Icom_IC-W32E_qaVw2o.img /tmp/Icom_ID-31A__zHIE6.img /tmp/Icom_ID-31A_tTzf0p.img /tmp/Icom_ID-51 Plus__b1MkT.img /tmp/Icom_ID-51 Plus_k3gQuu.img /tmp/Icom_ID-51_DpYpKD.img /tmp/Icom_ID-51_eEXumx.img /tmp/Icom_ID-800H_MWqxAn.img /tmp/Icom_ID-800H_ZyWixs.img /tmp/Icom_ID-880H_IKLxvL.img /tmp/Icom_ID-880H_nBtPF_.img /tmp/Jetstream_JT220M_9kqpc6.img /tmp/Jetstream_JT220M___3J_9.img /tmp/Jetstream_JT270M_O9QCnc.img /tmp/Jetstream_JT270M_Sqrov9.img /tmp/KYD_IP-620_4rrgLN.img /tmp/KYD_IP-620_ndPjYq.img /tmp/Kenwood_TH-D72 (clone mode)_NV_Ql_.img /tmp/Kenwood_TH-D72 (clone mode)_cvj3wR.img /tmp/Kenwood_TK-272G_daTH42.img /tmp/Kenwood_TK-272G_jgyrqp.img /tmp/Kenwood_TK-760G_3PfhgT.img /tmp/Kenwood_TK-760G_Qc3MXn.img /tmp/Kenwood_TK-8102_Wg8qWi.img /tmp/Kenwood_TK-8102_xKanyE.img /tmp/LUITON_LT-725UV_EypwOz.img /tmp/LUITON_LT-725UV_Njesmk.img /tmp/LUITON_LT-725UV_SjPwMI.img /tmp/LUITON_LT-725UV_duygXj.img /tmp/LUITON_LT-725UV_fSTkex.img /tmp/LUITON_LT-725UV_xdSDK4.img /tmp/Leixen_VV-898S_7xTGGn.img /tmp/Leixen_VV-898S_B3A_Fs.img /tmp/Leixen_VV-898_LS3YpC.img /tmp/Leixen_VV-898_Wm4_Rm.img /tmp/Polmar_DB-50M_PCUIm3.img /tmp/Polmar_DB-50M_W3PH2S.img /tmp/Puxing_PX-2R_cl4mA8.img /tmp/Puxing_PX-2R_h9RThw.img /tmp/Puxing_PX-777_QR67y7.img /tmp/Puxing_PX-777_ZRQF3I.img /tmp/TYT_TH-7800_2k1Di8.img /tmp/TYT_TH-7800_veQcRb.img /tmp/TYT_TH-9800_clJU3S.img /tmp/TYT_TH-9800_xOsqgv.img /tmp/TYT_TH-UV3R-25_XIRbjy.img /tmp/TYT_TH-UV3R-25_qzkk0v.img /tmp/TYT_TH-UV3R_S5BGfG.img /tmp/TYT_TH-UV3R_dGFIrc.img /tmp/TYT_TH-UVF1_DJgUfh.img /tmp/TYT_TH-UVF1_OY8YJe.img /tmp/TYT_TH9000_144_X7ISeD.img /tmp/TYT_TH9000_144_e4DNlv.img /tmp/Vertex Standard_VXA-700_HJhbEV.img /tmp/Vertex Standard_VXA-700_nBz14E.img /tmp/WACCOM_MINI-8900_GXba51.img /tmp/WACCOM_MINI-8900_LEjpzI.img /tmp/Wouxun_KG-816_g4Lxzm.img /tmp/Wouxun_KG-816_xBorJK.img /tmp/Wouxun_KG-818_0Vd4ri.img /tmp/Wouxun_KG-818_cAV4nf.img /tmp/Wouxun_KG-UV6_eRsstE.img /tmp/Wouxun_KG-UV6_qADceV.img /tmp/Wouxun_KG-UV8D_GxTfTy.img /tmp/Wouxun_KG-UV8D_el0df4.img /tmp/Wouxun_KG-UVD1P_X7MVOY.img /tmp/Wouxun_KG-UVD1P_u4pQts.img /tmp/Yaesu_FT-1802M_TwdYLH.img /tmp/Yaesu_FT-1802M_UWbvfD.img /tmp/Yaesu_FT-1D_FXksmF.img /tmp/Yaesu_FT-1D_qWE5ur.img /tmp/Yaesu_FT-2800M_mBuxbc.img /tmp/Yaesu_FT-2800M_zVcoHc.img /tmp/Yaesu_FT-2900R_1900R_4HWm0L.img /tmp/Yaesu_FT-2900R_1900R_JA5v7u.img /tmp/Yaesu_FT-50_AsdnDC.img /tmp/Yaesu_FT-50_rY_deb.img /tmp/Yaesu_FT-60_4Rgq3o.img /tmp/Yaesu_FT-60_PX7JE9.img /tmp/Yaesu_FT-7800_7900_4unokx.img /tmp/Yaesu_FT-7800_7900_JGkagV.img /tmp/Yaesu_FT-817ND (US)_GRvTxe.img /tmp/Yaesu_FT-817ND (US)_bcB60Q.img /tmp/Yaesu_FT-817ND_IJckUY.img /tmp/Yaesu_FT-817ND__ND5YG.img /tmp/Yaesu_FT-817_TW5zfM.img /tmp/Yaesu_FT-817__Rksdd.img /tmp/Yaesu_FT-857_897 (US)_bHtn7B.img /tmp/Yaesu_FT-857_897 (US)_z3O0en.img /tmp/Yaesu_FT-857_897_CX30vk.img /tmp/Yaesu_FT-857_897_M5Dkwg.img /tmp/Yaesu_FT-8800_DgLmlf.img /tmp/Yaesu_FT-8800_E4Gkk7.img /tmp/Yaesu_FT-8800_Xmk9Tt.img /tmp/Yaesu_FT-8800__2_Cyx.img /tmp/Yaesu_FT-8800_fniBZL.img /tmp/Yaesu_FT-8800_k8oasv.img /tmp/Yaesu_FT-8900_FZmE0b.img /tmp/Yaesu_FT-8900_QItZPH.img /tmp/Yaesu_FTM-350_33ko2J.img /tmp/Yaesu_FTM-350_MMY0ZX.img /tmp/Yaesu_FTM-350_aEABVi.img /tmp/Yaesu_FTM-350_pZDlp0.img /tmp/Yaesu_FTM-350_wVdtkV.img /tmp/Yaesu_FTM-350_zgEM4P.img /tmp/Yaesu_VX-2_ht4RoI.img /tmp/Yaesu_VX-2_om28wU.img /tmp/Yaesu_VX-3_DnxQSA.img /tmp/Yaesu_VX-3_fkLX6n.img /tmp/Yaesu_VX-5_YiEWOl.img /tmp/Yaesu_VX-5_cuzhI5.img /tmp/Yaesu_VX-6_2ENqMz.img /tmp/Yaesu_VX-6_keMYFi.img /tmp/Yaesu_VX-7_IEHD8P.img /tmp/Yaesu_VX-7_XXt05b.img /tmp/Yaesu_VX-8_OfTyWd.img /tmp/Yaesu_VX-8_gXmjvE.img
Email was triggered for: Success
Sending email for trigger: Success
1
0
[chirp_devel] [PATCH][px888k] Adding support for the Puxing PX-888K. Fixes, among others, #288
by Leo Bärring 24 Sep '16
by Leo Bärring 24 Sep '16
24 Sep '16
List of issues asking for support of the model:
#3447 #1659 #379 #288
The code has been formatted to fully comply with pep8 requirements,
which in my opinion in some cases makes it harder to read,
but I understand and appreciate the need for a common standard
in a multi-developer project.
Have a nice weekend.
Leo
1
0
[chirp_devel] [PATCH][uv5r] Initialize response to an empty string before use, should fix #4055
by Leo Bärring 23 Sep '16
by Leo Bärring 23 Sep '16
23 Sep '16
Not sure about the other things in the issue's debug.log, but this particular error should be fixed with the patch.
/Leo
2
2
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-5R] UV-82HP (local variable 'response' referenced before assignment)
Some how after my testing I reverted one of my changes. This patch
corrects that mistake.
Bug #3987
[Michael Wagner <michael.wagner(a)gmx.at>] [btech] Delay writes statically, to avoid invalid header-response from KT-8900. Fixes #3993
Much simpler approch to ommit the "0x05"-Respone-Bug on KT-8900 (and other radios) mostly on linux.
Instead of detecting platform or only delaying only on case of previous errors, the write is now always delayd.
Result of following thread:
http://intrepid.danplanet.com/pipermail/chirp_devel/2016-September/004264.h…
73,
OE4AMW
[Tom Hayward <tom(a)tomh.us>] Fix MemoryMapping bug that caused only the last-defined bank editor to load. #741
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-5X3] Increase Band Limits
The factory changed the 220 band limits of the BTECH UV-5X3. This patch
sets the driver band limits to match.
#4053
[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
4 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 1f9ff67ec2cdfe4ba55cb98fb741be712f3ebaf6
[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 1f9ff67ec2cdfe4ba55cb98fb741be712f3ebaf6
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson1164478687475705921.sh
[workspace] $ /bin/sh -xe /tmp/hudson5034142387711484207.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/chirp_common.py:33:32: E202 whitespace before ']'
./chirp/drivers/ft2900.py:1236:1: E265 block comment should start with '# '
./chirp/drivers/ft60.py:522:45: W291 trailing whitespace
./chirp/drivers/ft60.py:523:25: E128 continuation line under-indented for visual indent
./chirp/drivers/ft60.py:524:13: E301 expected 1 blank line, found 0
./chirp/drivers/ft817.py:587:41: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:684:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:688:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:691:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:692:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:695:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:696:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:699:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:702:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:705:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:708:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:711:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:714:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:717:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:720:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:721:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:724:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:725:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:728:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:731:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:732:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:735:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:736:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:739:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:740:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:743:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:744:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:747:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:750:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:753:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:754:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:757:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:758:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:761:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:764:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:767:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:768:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:771:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:772:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:775:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:776:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:779:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:782:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:783:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:786:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:789:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:790:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:793:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:794:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:810:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:811:31: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:814:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:817:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:821:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:827:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:832:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:836:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:840:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:844:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:848:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:893:25: E128 continuation line under-indented for visual indent
./chirp/drivers/leixen.py:427:80: E501 line too long (82 > 79 characters)
./chirp/drivers/leixen.py:955:80: E501 line too long (87 > 79 characters)
./chirp/drivers/thd72.py:188:1: E302 expected 2 blank lines, found 1
./chirp/drivers/thd72.py:203:23: E201 whitespace after '['
./chirp/drivers/thd72.py:203:80: E501 line too long (171 > 79 characters)
./chirp/drivers/thd72.py:203:170: E202 whitespace before ']'
./chirp/drivers/thd72.py:204:13: E201 whitespace after '['
./chirp/drivers/thd72.py:204:61: E202 whitespace before ']'
./chirp/drivers/thd72.py:205:23: E201 whitespace after '['
./chirp/drivers/thd72.py:205:74: E202 whitespace before ']'
./chirp/drivers/thd72.py:206:18: E201 whitespace after '['
./chirp/drivers/thd72.py:206:65: E202 whitespace before ']'
./chirp/drivers/thd72.py:595:1: W293 blank line contains whitespace
./chirp/drivers/thd72.py:603:1: W293 blank line contains whitespace
./chirp/settings.py:245:80: E501 line too long (81 > 79 characters)
./chirp/settings.py:248:80: E501 line too long (81 > 79 characters)
./chirp/ui/mainapp.py:647:13: E128 continuation line under-indented for visual indent
./chirp/ui/mainapp.py:661:5: E303 too many blank lines (2)
./chirp/ui/mainapp.py:1374:80: E501 line too long (81 > 79 characters)
./chirp/ui/mainapp.py:1378:80: E501 line too long (80 > 79 characters)
./chirp/ui/mainapp.py:1663:80: E501 line too long (85 > 79 characters)
real 0m7.616s
user 0m7.476s
sys 0m0.040s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-09-23 18:47:57,074] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-09-23 18:47:57,111] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-09-23 18:47:57,112] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-09-23 18:47:57,113] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-09-23 18:47:57,113] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-09-23 18:47:57,113] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-09-23 18:47:57,113] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-09-23 18:47:57,114] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-09-23 18:47:57,115] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-09-23 18:47:57,115] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-09-23 18:47:57,115] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-09-23 18:47:57,115] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-09-23 18:47:57,116] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-09-23 18:47:57,116] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-09-23 18:47:57,117] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-09-23 18:47:57,118] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-09-23 18:47:57,119] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-09-23 18:47:57,120] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-09-23 18:47:57,121] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-09-23 18:47:57,121] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-09-23 18:47:57,121] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-09-23 18:47:57,122] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-09-23 18:47:57,122] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-09-23 18:47:57,122] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-09-23 18:47:57,123] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-09-23 18:47:57,124] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-09-23 18:47:57,124] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-09-23 18:47:57,124] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-09-23 18:47:57,124] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-09-23 18:47:57,125] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-09-23 18:47:57,125] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-09-23 18:47:57,125] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-09-23 18:47:57,126] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-09-23 18:47:57,133] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-09-23 18:47:57,137] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-09-23 18:47:57,137] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-09-23 18:47:57,137] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-09-23 18:47:57,137] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-09-23 18:47:57,137] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-09-23 18:47:57,138] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-09-23 18:47:57,138] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-09-23 18:47:57,138] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-09-23 18:47:57,139] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-09-23 18:47:57,140] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-09-23 18:47:57,140] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-09-23 18:47:57,140] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-09-23 18:47:57,140] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-09-23 18:47:57,141] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-09-23 18:47:57,141] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-09-23 18:47:57,141] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-09-23 18:47:57,141] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-09-23 18:47:57,141] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-09-23 18:47:57,142] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-09-23 18:47:57,142] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-09-23 18:47:57,142] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-09-23 18:47:57,143] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-09-23 18:47:57,143] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-09-23 18:47:57,143] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-09-23 18:47:57,143] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-09-23 18:47:57,144] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-09-23 18:47:57,145] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-09-23 18:47:57,145] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-09-23 18:47:57,146] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-09-23 18:47:57,146] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-09-23 18:47:57,146] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-09-23 18:47:57,146] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-09-23 18:47:57,146] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-09-23 18:47:57,147] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-09-23 18:47:57,147] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-09-23 18:47:57,147] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-09-23 18:47:57,147] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-09-23 18:47:57,148] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-09-23 18:47:57,149] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-09-23 18:47:57,150] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-09-23 18:47:57,151] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-09-23 18:47:57,152] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-09-23 18:47:57,152] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-09-23 18:47:57,152] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-09-23 18:47:57,152] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-09-23 18:47:57,153] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-09-23 18:47:57,153] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-09-23 18:47:57,154] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-09-23 18:47:57,154] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-09-23 18:47:57,154] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-09-23 18:47:57,154] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-09-23 18:47:57,155] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-09-23 18:47:57,155] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-09-23 18:47:57,155] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-09-23 18:47:57,156] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-09-23 18:47:57,156] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-09-23 18:47:57,156] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-09-23 18:47:57,156] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_ReLp3Z.img /tmp/Alinco_DJ175_yHbjsL.img /tmp/Alinco_DJ596_EdCRhV.img /tmp/Alinco_DJ596_iFJcF_.img /tmp/Alinco_DR235T_2hWcmU.img /tmp/Alinco_DR235T_oe2hVF.img /tmp/AnyTone_OBLTR-8R_wI5Zhh.img /tmp/AnyTone_OBLTR-8R_xyzLSo.img /tmp/AnyTone_TERMN-8R_USSi2i.img /tmp/AnyTone_TERMN-8R_p6pKCB.img /tmp/BTECH_UV-2501+220_7Q7_0N.img /tmp/BTECH_UV-2501+220_fY5Wvl.img /tmp/BTECH_UV-5001_21Of4N.img /tmp/BTECH_UV-5001_wJ6O75.img /tmp/BTECH_UV-50X3_9GRKTg.img /tmp/BTECH_UV-50X3_AlyBod.img /tmp/BTECH_UV-50X3_AuW7K6.img /tmp/BTECH_UV-50X3_CfomLe.img /tmp/BTECH_UV-50X3_rz_2Xk.img /tmp/BTECH_UV-50X3_tMYdv1.img /tmp/BTECH_UV-5X3_8O7NN3.img /tmp/BTECH_UV-5X3_Su0_Bf.img /tmp/Baofeng_BF-888_JMzzyB.img /tmp/Baofeng_BF-888_g25AuP.img /tmp/Baofeng_F-11_2SnlYh.img /tmp/Baofeng_F-11_O4kwpR.img /tmp/Baofeng_UV-3R_5WCZ3Y.img /tmp/Baofeng_UV-3R_k2yS6v.img /tmp/Baofeng_UV-5R_JzmLmN.img /tmp/Baofeng_UV-5R_mCnrQ9.img /tmp/Baofeng_UV-6R_TluRXx.img /tmp/Baofeng_UV-6R_fpz3qf.img /tmp/Baofeng_UV-B5_UGhqrw.img /tmp/Baofeng_UV-B5_ed49pw.img /tmp/Baojie_BJ-9900_5hKSH6.img /tmp/Baojie_BJ-9900_GiozOo.img /tmp/Baojie_BJ-9900_L_dqie.img /tmp/Baojie_BJ-9900_b5mL78.img /tmp/Baojie_BJ-9900_cDnNvf.img /tmp/Baojie_BJ-9900_xC9XcB.img /tmp/Feidaxin_FD-268A_FXnk9F.img /tmp/Feidaxin_FD-268A_gmaTyI.img /tmp/Feidaxin_FD-268B_324iKD.img /tmp/Feidaxin_FD-268B_Bxmo65.img /tmp/Feidaxin_FD-288B_HFP2ef.img /tmp/Feidaxin_FD-288B_veMl6b.img /tmp/Icom_IC-208H_dFJoff.img /tmp/Icom_IC-208H_qF5eWy.img /tmp/Icom_IC-2100H_rFkHqs.img /tmp/Icom_IC-2100H_wfcTOG.img /tmp/Icom_IC-2200H_2e9mKG.img /tmp/Icom_IC-2200H_8tydv2.img /tmp/Icom_IC-2720H_HVUgeV.img /tmp/Icom_IC-2720H_n5QbvT.img /tmp/Icom_IC-2820H_fM17Pz.img /tmp/Icom_IC-2820H_qCaugC.img /tmp/Icom_IC-Q7A_Qu0oKG.img /tmp/Icom_IC-Q7A_g9iA0D.img /tmp/Icom_IC-T70_aAmWGi.img /tmp/Icom_IC-T70_nKnFhN.img /tmp/Icom_IC-T7H_HPuelw.img /tmp/Icom_IC-T7H_vOtpCw.img /tmp/Icom_IC-T8A_VDfOIQ.img /tmp/Icom_IC-T8A_pD7S3b.img /tmp/Icom_IC-V82_U82_pP6gtu.img /tmp/Icom_IC-V82_U82_qCjRWy.img /tmp/Icom_IC-W32A_C5W4HS.img /tmp/Icom_IC-W32A_DyfU3Y.img /tmp/Icom_IC-W32A_c7FSBD.img /tmp/Icom_IC-W32A_dmnpFl.img /tmp/Icom_IC-W32A_vaKRHW.img /tmp/Icom_IC-W32A_yQ8naU.img /tmp/Icom_IC-W32E_17Ku3X.img /tmp/Icom_IC-W32E_97v0wJ.img /tmp/Icom_IC-W32E_EYOV8p.img /tmp/Icom_IC-W32E_FDhbc7.img /tmp/Icom_IC-W32E_LACu1A.img /tmp/Icom_IC-W32E_Q4OUoS.img /tmp/Icom_ID-31A_UeJeKH.img /tmp/Icom_ID-31A_ofw4AE.img /tmp/Icom_ID-51 Plus_JbG6Ch.img /tmp/Icom_ID-51 Plus_eRjJ_o.img /tmp/Icom_ID-51_Ff3F7S.img /tmp/Icom_ID-51_d3FCoW.img /tmp/Icom_ID-800H_574uzj.img /tmp/Icom_ID-800H_EFDdUV.img /tmp/Icom_ID-880H_JZ4svc.img /tmp/Icom_ID-880H_RCO65W.img /tmp/Jetstream_JT220M_LPEsyn.img /tmp/Jetstream_JT220M_yHv_xX.img /tmp/Jetstream_JT270M_KvHRLW.img /tmp/Jetstream_JT270M_apPzuc.img /tmp/KYD_IP-620_794Z0w.img /tmp/KYD_IP-620_cgP7ht.img /tmp/Kenwood_TH-D72 (clone mode)_0zi87g.img /tmp/Kenwood_TH-D72 (clone mode)_x89JQg.img /tmp/Kenwood_TK-272G_54Virq.img /tmp/Kenwood_TK-272G_PMndGD.img /tmp/Kenwood_TK-760G_UffjbG.img /tmp/Kenwood_TK-760G_sExiyZ.img /tmp/Kenwood_TK-8102_SWeJv6.img /tmp/Kenwood_TK-8102_cMPrf_.img /tmp/LUITON_LT-725UV_GlToFB.img /tmp/LUITON_LT-725UV_YAGG3A.img /tmp/LUITON_LT-725UV_h3dqGQ.img /tmp/LUITON_LT-725UV_hQ0igW.img /tmp/LUITON_LT-725UV_j_aSnr.img /tmp/LUITON_LT-725UV_pMpG8N.img /tmp/Leixen_VV-898S_NfJFdC.img /tmp/Leixen_VV-898S_z4pn1O.img /tmp/Leixen_VV-898_DRF9ma.img /tmp/Leixen_VV-898_zWnVW2.img /tmp/Polmar_DB-50M_Nu2K86.img /tmp/Polmar_DB-50M_i76l9g.img /tmp/Puxing_PX-2R_HwL1I8.img /tmp/Puxing_PX-2R_dNyf4t.img /tmp/Puxing_PX-777_8Egd49.img /tmp/Puxing_PX-777_HvlY6a.img /tmp/TYT_TH-7800_aIzSBd.img /tmp/TYT_TH-7800_oNtB4I.img /tmp/TYT_TH-9800_9TbJYT.img /tmp/TYT_TH-9800_dAfff1.img /tmp/TYT_TH-UV3R-25_EuWcUj.img /tmp/TYT_TH-UV3R-25_qx99uB.img /tmp/TYT_TH-UV3R_Dbzcym.img /tmp/TYT_TH-UV3R_RsQ9kM.img /tmp/TYT_TH-UVF1_BFI4Lr.img /tmp/TYT_TH-UVF1_rNZlp9.img /tmp/TYT_TH9000_144_NUVBFd.img /tmp/TYT_TH9000_144_NxNV3B.img /tmp/Vertex Standard_VXA-700_25PyNC.img /tmp/Vertex Standard_VXA-700_hOJGm8.img /tmp/WACCOM_MINI-8900_fGQu_J.img /tmp/WACCOM_MINI-8900_gDxfLk.img /tmp/Wouxun_KG-816_GU9hD3.img /tmp/Wouxun_KG-816__mDwk3.img /tmp/Wouxun_KG-818_5vpL4m.img /tmp/Wouxun_KG-818_70bFxd.img /tmp/Wouxun_KG-UV6_LXTYyM.img /tmp/Wouxun_KG-UV6_wxBrCU.img /tmp/Wouxun_KG-UV8D_bnu334.img /tmp/Wouxun_KG-UV8D_w05MhA.img /tmp/Wouxun_KG-UVD1P_EYMQaE.img /tmp/Wouxun_KG-UVD1P_sNTosD.img /tmp/Yaesu_FT-1802M_affMud.img /tmp/Yaesu_FT-1802M_jS8okC.img /tmp/Yaesu_FT-1D_lY_x6Y.img /tmp/Yaesu_FT-1D_tKyH_M.img /tmp/Yaesu_FT-2800M_orFcvm.img /tmp/Yaesu_FT-2800M_vSu559.img /tmp/Yaesu_FT-2900R_1900R_DGCm5g.img /tmp/Yaesu_FT-2900R_1900R__m1SC0.img /tmp/Yaesu_FT-50_BayEEM.img /tmp/Yaesu_FT-50_bM9StH.img /tmp/Yaesu_FT-60_D8Pqsv.img /tmp/Yaesu_FT-60_WW0u39.img /tmp/Yaesu_FT-7800_7900_kI2i4d.img /tmp/Yaesu_FT-7800_7900_lLbVkJ.img /tmp/Yaesu_FT-817ND (US)_W4ct5p.img /tmp/Yaesu_FT-817ND (US)_wrbToX.img /tmp/Yaesu_FT-817ND_5WhiL1.img /tmp/Yaesu_FT-817ND_ig24Wn.img /tmp/Yaesu_FT-817_fZF3gb.img /tmp/Yaesu_FT-817_h6YTAg.img /tmp/Yaesu_FT-857_897 (US)_3Qkylq.img /tmp/Yaesu_FT-857_897 (US)_4_JdEK.img /tmp/Yaesu_FT-857_897_BFjvUQ.img /tmp/Yaesu_FT-857_897_uanlv0.img /tmp/Yaesu_FT-8800_BaFkBO.img /tmp/Yaesu_FT-8800_WBeynz.img /tmp/Yaesu_FT-8800_f1f4QQ.img /tmp/Yaesu_FT-8800_fXF9R3.img /tmp/Yaesu_FT-8800_knx0yc.img /tmp/Yaesu_FT-8800_zwBkSN.img /tmp/Yaesu_FT-8900_72Q3Pb.img /tmp/Yaesu_FT-8900_J6yLPm.img /tmp/Yaesu_FTM-350_8avLaj.img /tmp/Yaesu_FTM-350_8jipbh.img /tmp/Yaesu_FTM-350_HaaQnJ.img /tmp/Yaesu_FTM-350_WpjKx2.img /tmp/Yaesu_FTM-350_gr4cMV.img /tmp/Yaesu_FTM-350_kQwUiB.img /tmp/Yaesu_VX-2_CdLYlm.img /tmp/Yaesu_VX-2_YfjNzb.img /tmp/Yaesu_VX-3_Fj8NXo.img /tmp/Yaesu_VX-3_lOELiV.img /tmp/Yaesu_VX-5_3OdjVK.img /tmp/Yaesu_VX-5_QkPNym.img /tmp/Yaesu_VX-6_ZVoQM3.img /tmp/Yaesu_VX-6_c8LecC.img /tmp/Yaesu_VX-7_7z7paz.img /tmp/Yaesu_VX-7_t8HUjY.img /tmp/Yaesu_VX-8_0mI2OJ.img /tmp/Yaesu_VX-8_pZLMNL.img
Email was triggered for: Success
Sending email for trigger: Success
1
0
[chirp_devel] [PATCH] [UV-5R] UV-82HP (local variable 'response' referenced before assignment)
by Jim Unroe 23 Sep '16
by Jim Unroe 23 Sep '16
23 Sep '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1474665746 14400
# Node ID 26ee415f548b2135cd9b03ede8093a77e75520f0
# Parent a0c4bb0655448802bbea4107f4db767f75ad4b1f
[UV-5R] UV-82HP (local variable 'response' referenced before assignment)
Some how after my testing I reverted one of my changes. This patch
corrects that mistake.
Bug #3987
diff -r a0c4bb065544 -r 26ee415f548b chirp/drivers/uv5r.py
--- a/chirp/drivers/uv5r.py Thu Sep 22 20:47:49 2016 -0400
+++ b/chirp/drivers/uv5r.py Fri Sep 23 17:22:26 2016 -0400
@@ -424,7 +424,7 @@
# image data aligned with the existing settings structures.
# Ok, get the response
- ident = ""
+ response = ""
for i in range(1, 13):
byte = serial.read(1)
response += byte
1
0
[chirp_devel] [PATCH] [btech] Delay writes statically, to avoid invalid header-response from KT-8900. Fixes #3993
by Michael Wagner 23 Sep '16
by Michael Wagner 23 Sep '16
23 Sep '16
# HG changeset patch
# User Michael Wagner <michael.wagner(a)gmx.at>
# Date 1474652598 -7200
# Fri Sep 23 19:43:18 2016 +0200
# Node ID 0e35f539fc38800907e088ab95d9d3a6c0071748
# Parent 1f9ff67ec2cdfe4ba55cb98fb741be712f3ebaf6
[btech] Delay writes statically, to avoid invalid header-response from KT-8900. Fixes #3993
Much simpler approch to ommit the "0x05"-Respone-Bug on KT-8900 (and other radios) mostly on linux.
Instead of detecting platform or only delaying only on case of previous errors, the write is now always delayd.
Result of following thread:
http://intrepid.danplanet.com/pipermail/chirp_devel/2016-September/004264.h…
73,
OE4AMW
diff -r 1f9ff67ec2cd -r 0e35f539fc38 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Tue Sep 20 19:34:00 2016 -0400
+++ b/chirp/drivers/btech.py Fri Sep 23 19:43:18 2016 +0200
@@ -21,6 +21,7 @@
LOG = logging.getLogger(__name__)
+from time import sleep
from chirp import chirp_common, directory, memmap
from chirp import bitwise, errors, util
from chirp.settings import RadioSettingGroup, RadioSetting, \
@@ -396,6 +397,15 @@
try:
for byte in data:
radio.pipe.write(byte)
+ # Some OS (mainly Linux ones) are too fast on the serial and
+ # get the MCU inside the radio stuck in the early stages, this
+ # hits some models more than others.
+ #
+ # To cope with that we introduce a delay on the writes.
+ # Many option have been tested (delaying only after error occures, after short reads, only for linux, ...)
+ # Finally, a static delay was chosen as simplest of all solutions (Michael Wagner, OE4AMW)
+ # (for details, see issue 3993)
+ sleep(0.002)
# DEBUG
if debug is True:
1
0
[chirp_devel] [PATCH] [btech] Delayed retry on writing to radio in case of errornous response. Needed mostly on linux. Fixes issue #3993
by Michael Wagner 23 Sep '16
by Michael Wagner 23 Sep '16
23 Sep '16
# HG changeset patch
# User Michael Wagner <michael.wagner(a)gmx.at>
# Date 1474015004 -7200
# Fri Sep 16 10:36:44 2016 +0200
# Node ID d6ee4a5066611703778f4b341b0c8b3d5c51e1b4
# Parent a1b8b53606f6025fc1ad727331837cfc7759f178
[btech] Delayed retry on writing to radio in case of errornous response. Needed mostly on linux. Fixes issue #3993
If radio responds with the infamous '0x05', driver now retries, but delays after each sent byte. Happens mostly on linux, and on several radios of this family (found on a KT-8900R).
Might also affect/fix also #3587 and #3635.
Many Thanks to Pavel Milanes for his support (analysis, explainations of the driver, sharing his knowledge about this and similar bugs, helping me with python-codestyle), and for encouraging me to contribute this patch.
Michael Wagner,
OE4AMW
diff -r a1b8b53606f6 -r d6ee4a506661 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Sat Sep 10 11:34:01 2016 -0400
+++ b/chirp/drivers/btech.py Fri Sep 16 10:36:44 2016 +0200
@@ -21,6 +21,7 @@
LOG = logging.getLogger(__name__)
+from time import sleep
from chirp import chirp_common, directory, memmap
from chirp import bitwise, errors, util
from chirp.settings import RadioSettingGroup, RadioSetting, \
@@ -236,7 +237,7 @@
# this var controls the verbosity in the debug and by default it's low (False)
# make it True and you will to get a very verbose debug.log
-debug = False
+debug = True
# Power Levels
NORMAL_POWER_LEVELS = [chirp_common.PowerLevel("High", watts=25),
@@ -334,6 +335,9 @@
# magic string for all other models
MSTRING = "\x55\x20\x15\x09\x20\x45\x4d\x02"
+# this variables controls the forced delay and retry on Linux OS mainly. Added by OE4AMW to workaround Issue 3993
+NEEDS_DELAY = False
+RETRY_DELAYED = False
def _clean_buffer(radio):
"""Cleaning the read serial buffer, hard timeout to survive an infinite
@@ -383,6 +387,11 @@
if len(data) < amount:
LOG.warn("Short reading %d bytes from the %d requested." %
(len(data), amount))
+ # This problem can be and expression of the MCU getting stuck
+ # so from now own we must delay the write operations.
+ global NEEDS_DELAY
+ NEEDS_DELAY = True
+ LOG.debug("Delaying future writes.")
except:
raise errors.RadioError("Error reading data from radio")
@@ -396,11 +405,26 @@
try:
for byte in data:
radio.pipe.write(byte)
+ # Some OS (mainly Linux ones) are two fast on the serial and
+ # get the MCU inside the radio stuck in the early stages, this
+ # hits some models more than others.
+ #
+ # To cope with that we introduce a delay on the writes but only if
+ # we detect this problem, this was found by Michael Wagner who
+ # proposed a patch for it, well done.
+ if NEEDS_DELAY:
+ # 10 msec is proved to be safe, is better to be slow and right
+ # than fast and some times wrong. (5 msec is tested ok)
+ sleep(0.010)
# DEBUG
if debug is True:
+ if NEEDS_DELAY:
+ LOG.debug("This write was delayed")
+
LOG.debug("==> (%d) bytes:\n\n%s" %
(len(data), util.hexprint(data)))
+
except:
raise errors.RadioError("Error sending data to radio")
@@ -435,9 +459,21 @@
# header validation
c, a, l = struct.unpack(">BHB", block[1:5])
if a != addr or l != BLOCK_SIZE or c != ord("X"):
- LOG.debug("Invalid header for block 0x%04x" % addr)
+ LOG.error("Invalid header for block 0x%04x" % addr)
LOG.debug("CMD: %s ADDR: %04x SIZE: %02x" % (c, a, l))
- raise errors.RadioError("Invalid header for block 0x%04x:" % addr)
+
+ global RETRY_DELAYED
+ if not RETRY_DELAYED:
+ # first try with header problems, forcing a write delay
+ LOG.warn("Failure occured, trying once again with delay")
+ RETRY_DELAYED = True
+ global NEEDS_DELAY
+ NEEDS_DELAY = True
+ return False
+ else:
+ # second try, now we fail.
+ LOG.debug("This was already a retry")
+ raise errors.RadioError("Invalid header for block 0x%04x:" % addr)
# return the data
return block[5:]
@@ -613,6 +649,16 @@
# read
d = _recv(radio, addr)
+ if d == False:
+ # retry to get that block of data.
+ msg = "Previous block request failed."
+ msg += " Cleaning buffer and trying again."
+ LOG.info(msg)
+ _clean_buffer(radio)
+ d = _recv(radio, addr)
+ global RETRY_DELAYED
+ RETRY_DELAYED = False
+
# aggregate the data
data += d
@@ -821,7 +867,16 @@
def sync_in(self):
"""Download from radio"""
- data = _download(self)
+ try:
+ data = _download(self)
+ except errors.RadioError:
+ msg = "First download-attempt failed."
+ msg += " Retrying the whole procedure with delayed writes."
+ LOG.error(msg)
+ global NEEDS_DELAY
+ NEEDS_DELAY = True
+ data = _download(self)
+
self._mmap = memmap.MemoryMap(data)
self.process_mmap()
@@ -1284,7 +1339,7 @@
if self.MODEL in ("UV-2501", "UV-5001"):
vfomren = RadioSetting("settings2.vfomren", "VFO/MR switching",
RadioSettingValueBoolean(
- _mem.settings2.vfomren))
+ not _mem.settings2.vfomren))
advanced.append(vfomren)
reseten = RadioSetting("settings2.reseten", "RESET",
@@ -1569,6 +1624,8 @@
if element.has_apply_callback():
LOG.debug("Using apply callback")
element.run_apply_callback()
+ elif setting == "vfomren":
+ setattr(obj, setting, not int(element.value))
elif element.value.get_mutable():
LOG.debug("Setting %s = %s" % (setting, element.value))
setattr(obj, setting, element.value)
2
3
[chirp_devel] [PATCH] Fix MemoryMapping bug that caused only the last-defined bank editor to load. #741
by Tom Hayward 22 Sep '16
by Tom Hayward 22 Sep '16
22 Sep '16
# HG changeset patch
# User Tom Hayward <tom(a)tomh.us>
# Date 1474608412 25200
# Thu Sep 22 22:26:52 2016 -0700
# Node ID 0d9240704a4ad348e7400f089d45b1c6b86d720d
# Parent 3e267381f95348fd5163167dcb2249f51a975a4b
Fix MemoryMapping bug that caused only the last-defined bank editor to load. #741
diff -r 3e267381f953 -r 0d9240704a4a chirp/ui/editorset.py
--- a/chirp/ui/editorset.py Thu Sep 22 22:26:50 2016 -0700
+++ b/chirp/ui/editorset.py Thu Sep 22 22:26:52 2016 -0700
@@ -70,6 +70,7 @@
members.connect("changed", lambda x: names.mappings_changed())
names.connect("changed", lambda x: members.mappings_changed())
names.connect("changed", self.editor_changed)
+ sub_index += 1
def _make_device_editors(self, device, devrthread, index):
if isinstance(device, chirp_common.IcomDstarSupport):
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1474591669 14400
# Node ID a0c4bb0655448802bbea4107f4db767f75ad4b1f
# Parent 1f9ff67ec2cdfe4ba55cb98fb741be712f3ebaf6
[UV-5X3] Increase Band Limits
The factory changed the 220 band limits of the BTECH UV-5X3. This patch
sets the driver band limits to match.
#4053
diff -r 1f9ff67ec2cd -r a0c4bb065544 chirp/drivers/uv5x3.py
--- a/chirp/drivers/uv5x3.py Tue Sep 20 19:34:00 2016 -0400
+++ b/chirp/drivers/uv5x3.py Thu Sep 22 20:47:49 2016 -0400
@@ -122,7 +122,7 @@
POWER_LEVELS = [chirp_common.PowerLevel("High", watts=5.00),
chirp_common.PowerLevel("Low", watts=1.00)]
VALID_BANDS = [(130000000, 180000000),
- (222000000, 226000000),
+ (220000000, 226000000),
(400000000, 521000000)]
PTTID_LIST = LIST_PTTID
SCODE_LIST = LIST_SCODE
@@ -682,7 +682,7 @@
lower = 200
upper = 230
else:
- lower = 222
+ lower = 220
upper = 225
rs = RadioSetting("limits.vhf2.lower", "VHF2 Lower Limit (MHz)",
RadioSettingValueInteger(
1
0