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
Tested changes:
[Pavel Milanes (CO7WT) <pavelmc(a)gmail.com>] [PATCH][QYT KT8900R] New variant discovered in the wild, fixes #3993
A new variant of this radios was discovered on the wild, this patch giver Chirp support for it
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-5X3] Fix Out-of-Range Settings
The factory neglected to set 2 settings with valid values in the production
radios which caused CHIRP to fail with an out-of-range condition.
This patch adds bounds checking so that if these settings have out-of-range
values, they are set to the same default values as the pre-production radios.
Bug #3995
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev e45119059c9f885080d9a9679a4c0af34226fb6d
[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 e45119059c9f885080d9a9679a4c0af34226fb6d
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson5865276074351404981.sh
[workspace] $ /bin/sh -xe /tmp/hudson7070777561566098668.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.057s
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:521:45: W291 trailing whitespace
./chirp/drivers/ft60.py:522:25: E128 continuation line under-indented for visual indent
./chirp/drivers/ft60.py:523: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/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.598s
user 0m7.456s
sys 0m0.052s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-09-08 10:27:55,972] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-09-08 10:27:56,008] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-09-08 10:27:56,008] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-09-08 10:27:56,009] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-09-08 10:27:56,010] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-09-08 10:27:56,011] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-09-08 10:27:56,012] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-09-08 10:27:56,013] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-09-08 10:27:56,013] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-09-08 10:27:56,014] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-09-08 10:27:56,014] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-09-08 10:27:56,014] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-09-08 10:27:56,014] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-09-08 10:27:56,015] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-09-08 10:27:56,016] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-09-08 10:27:56,017] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-09-08 10:27:56,017] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-09-08 10:27:56,017] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-09-08 10:27:56,017] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-09-08 10:27:56,018] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-09-08 10:27:56,018] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-09-08 10:27:56,019] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-09-08 10:27:56,019] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-09-08 10:27:56,019] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-09-08 10:27:56,020] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-09-08 10:27:56,020] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-09-08 10:27:56,020] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-09-08 10:27:56,020] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-09-08 10:27:56,020] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-09-08 10:27:56,021] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-09-08 10:27:56,021] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-09-08 10:27:56,021] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-09-08 10:27:56,021] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-09-08 10:27:56,021] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-09-08 10:27:56,022] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-09-08 10:27:56,022] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-09-08 10:27:56,023] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-09-08 10:27:56,023] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-09-08 10:27:56,023] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-09-08 10:27:56,030] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-09-08 10:27:56,033] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-09-08 10:27:56,033] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-09-08 10:27:56,033] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-09-08 10:27:56,034] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-09-08 10:27:56,034] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-09-08 10:27:56,034] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-09-08 10:27:56,034] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-09-08 10:27:56,034] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-09-08 10:27:56,035] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-09-08 10:27:56,035] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-09-08 10:27:56,035] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-09-08 10:27:56,035] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-09-08 10:27:56,036] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-09-08 10:27:56,036] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-09-08 10:27:56,036] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-09-08 10:27:56,036] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-09-08 10:27:56,037] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-09-08 10:27:56,037] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-09-08 10:27:56,037] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-09-08 10:27:56,037] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-09-08 10:27:56,037] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-09-08 10:27:56,038] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-09-08 10:27:56,038] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-09-08 10:27:56,038] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-09-08 10:27:56,038] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-09-08 10:27:56,039] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-09-08 10:27:56,039] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-09-08 10:27:56,039] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-09-08 10:27:56,039] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-09-08 10:27:56,039] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-09-08 10:27:56,040] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-09-08 10:27:56,040] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-09-08 10:27:56,040] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-09-08 10:27:56,040] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-09-08 10:27:56,040] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-09-08 10:27:56,041] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-09-08 10:27:56,041] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-09-08 10:27:56,041] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-09-08 10:27:56,042] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-09-08 10:27:56,042] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-09-08 10:27:56,042] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-09-08 10:27:56,043] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-09-08 10:27:56,043] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-09-08 10:27:56,043] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-09-08 10:27:56,043] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-09-08 10:27:56,043] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-09-08 10:27:56,044] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-09-08 10:27:56,044] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-09-08 10:27:56,044] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-09-08 10:27:56,044] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-09-08 10:27:56,044] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-09-08 10:27:56,045] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-09-08 10:27:56,046] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-09-08 10:27:56,047] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-09-08 10:27:56,048] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-09-08 10:27:56,048] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-09-08 10:27:56,048] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-09-08 10:27:56,048] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-09-08 10:27:56,048] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-09-08 10:27:56,049] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-09-08 10:27:56,049] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-09-08 10:27:56,049] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-09-08 10:27:56,050] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-09-08 10:27:56,050] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-09-08 10:27:56,050] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-09-08 10:27:56,051] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-09-08 10:27:56,051] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-09-08 10:27:56,051] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-09-08 10:27:56,052] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-09-08 10:27:56,052] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-09-08 10:27:56,052] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-09-08 10:27:56,052] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-09-08 10:27:56,053] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_8CVcNr.img /tmp/Alinco_DJ175_R9108L.img /tmp/Alinco_DJ596_4YSk3J.img /tmp/Alinco_DJ596__UdQT1.img /tmp/Alinco_DR235T_F_xnkC.img /tmp/Alinco_DR235T_IDHq7i.img /tmp/AnyTone_OBLTR-8R_1EgRIm.img /tmp/AnyTone_OBLTR-8R_JWpVhB.img /tmp/AnyTone_TERMN-8R_LPe168.img /tmp/AnyTone_TERMN-8R_bZQCbU.img /tmp/BTECH_UV-2501+220_8GKKGn.img /tmp/BTECH_UV-2501+220_phVE8M.img /tmp/BTECH_UV-5001_Tyuttv.img /tmp/BTECH_UV-5001_vDhzDk.img /tmp/BTECH_UV-50X3_32XiYx.img /tmp/BTECH_UV-50X3_3mmgZz.img /tmp/BTECH_UV-50X3_BcrCcG.img /tmp/BTECH_UV-50X3_OIRXub.img /tmp/BTECH_UV-50X3_vSO2YV.img /tmp/BTECH_UV-50X3_xVux8F.img /tmp/BTECH_UV-5X3_4_LgJ1.img /tmp/BTECH_UV-5X3_bZk_Hp.img /tmp/Baofeng_BF-888_4HIDM0.img /tmp/Baofeng_BF-888_YZDYFc.img /tmp/Baofeng_F-11_30up67.img /tmp/Baofeng_F-11_V5MqFb.img /tmp/Baofeng_UV-3R_Kp8Aw9.img /tmp/Baofeng_UV-3R_wHqLOH.img /tmp/Baofeng_UV-5R_3eilPN.img /tmp/Baofeng_UV-5R_DFPUQz.img /tmp/Baofeng_UV-6R_YZzu2w.img /tmp/Baofeng_UV-6R_gl11nb.img /tmp/Baofeng_UV-B5_6g3gob.img /tmp/Baofeng_UV-B5_PD1T2b.img /tmp/Baojie_BJ-9900_0loAaD.img /tmp/Baojie_BJ-9900_5vbX7A.img /tmp/Baojie_BJ-9900_HwXNeQ.img /tmp/Baojie_BJ-9900_ffmOfe.img /tmp/Baojie_BJ-9900_kC2duT.img /tmp/Baojie_BJ-9900_wTYDWf.img /tmp/Feidaxin_FD-268A_4cmoC1.img /tmp/Feidaxin_FD-268A_4tAIcb.img /tmp/Feidaxin_FD-268B_PtgDxP.img /tmp/Feidaxin_FD-268B_U_YLwD.img /tmp/Feidaxin_FD-288B_6E7fUv.img /tmp/Feidaxin_FD-288B_znWMhr.img /tmp/Icom_IC-208H_BtpXuA.img /tmp/Icom_IC-208H_dGm9AF.img /tmp/Icom_IC-2100H_OuFORa.img /tmp/Icom_IC-2100H_yLW6o2.img /tmp/Icom_IC-2200H_GTacEE.img /tmp/Icom_IC-2200H_IFCqS4.img /tmp/Icom_IC-2720H_1d7JSj.img /tmp/Icom_IC-2720H_C1zlze.img /tmp/Icom_IC-2820H_KigL84.img /tmp/Icom_IC-2820H_xHgUAt.img /tmp/Icom_IC-Q7A_oZNWdn.img /tmp/Icom_IC-Q7A_qaGT14.img /tmp/Icom_IC-T70_EDtljV.img /tmp/Icom_IC-T70_ZgE_1X.img /tmp/Icom_IC-T7H_JD6bQB.img /tmp/Icom_IC-T7H_q8lEl0.img /tmp/Icom_IC-T8A_oZz4z8.img /tmp/Icom_IC-T8A_pgfqmZ.img /tmp/Icom_IC-V82_U82_ly51Cx.img /tmp/Icom_IC-V82_U82_vGIZ1F.img /tmp/Icom_IC-W32A_DLG7rS.img /tmp/Icom_IC-W32A_IBozzm.img /tmp/Icom_IC-W32A_MrsylU.img /tmp/Icom_IC-W32A_WozVFR.img /tmp/Icom_IC-W32A__WjI_g.img /tmp/Icom_IC-W32A_upU8Zf.img /tmp/Icom_IC-W32E_0BQKKH.img /tmp/Icom_IC-W32E_LOHY9T.img /tmp/Icom_IC-W32E_NgY3jc.img /tmp/Icom_IC-W32E_QzcrZk.img /tmp/Icom_IC-W32E_XaWTtu.img /tmp/Icom_IC-W32E_hDgt62.img /tmp/Icom_ID-31A_DpdVLF.img /tmp/Icom_ID-31A_LVLRBF.img /tmp/Icom_ID-51 Plus_62yYG4.img /tmp/Icom_ID-51 Plus_WwAyXm.img /tmp/Icom_ID-51_650Sg5.img /tmp/Icom_ID-51_dT_gZO.img /tmp/Icom_ID-800H_0GLZqb.img /tmp/Icom_ID-800H_wUbkXB.img /tmp/Icom_ID-880H_9OSdNR.img /tmp/Icom_ID-880H_XfbwJT.img /tmp/Jetstream_JT220M_7MAa0T.img /tmp/Jetstream_JT220M_r81SG_.img /tmp/Jetstream_JT270M_9bLqGE.img /tmp/Jetstream_JT270M_G7qUWe.img /tmp/KYD_IP-620_QtcL_3.img /tmp/KYD_IP-620_peaT5g.img /tmp/Kenwood_TH-D72 (clone mode)_m4W2Od.img /tmp/Kenwood_TH-D72 (clone mode)_sVcGZC.img /tmp/Kenwood_TK-272G_Dl3Wdx.img /tmp/Kenwood_TK-272G_dBF6Au.img /tmp/Kenwood_TK-760G_5qSC3h.img /tmp/Kenwood_TK-760G_8jsur7.img /tmp/Kenwood_TK-8102_PCllRF.img /tmp/Kenwood_TK-8102_ccwydg.img /tmp/LUITON_LT-725UV_5Oon3l.img /tmp/LUITON_LT-725UV_LSx4VR.img /tmp/LUITON_LT-725UV_MUxZDR.img /tmp/LUITON_LT-725UV_bqTzZP.img /tmp/LUITON_LT-725UV_mUgCYd.img /tmp/LUITON_LT-725UV_r7BOfd.img /tmp/Leixen_VV-898_C9sMug.img /tmp/Leixen_VV-898_kEeJPg.img /tmp/Polmar_DB-50M_H0G8eQ.img /tmp/Polmar_DB-50M_owF0Zu.img /tmp/Puxing_PX-2R_WBr2a4.img /tmp/Puxing_PX-2R_xtiSzK.img /tmp/Puxing_PX-777_Zqo7bQ.img /tmp/Puxing_PX-777_ciu61U.img /tmp/TYT_TH-7800_8Lmc0S.img /tmp/TYT_TH-7800_jsPvrv.img /tmp/TYT_TH-9800_PGFSzy.img /tmp/TYT_TH-9800_zLL4MJ.img /tmp/TYT_TH-UV3R-25_47Ms5s.img /tmp/TYT_TH-UV3R-25_I9xW_w.img /tmp/TYT_TH-UV3R_46B74H.img /tmp/TYT_TH-UV3R_LYm3dD.img /tmp/TYT_TH-UVF1_JBCBxc.img /tmp/TYT_TH-UVF1_h2MPed.img /tmp/TYT_TH9000_144_CzFtLU.img /tmp/TYT_TH9000_144_JGPziM.img /tmp/Vertex Standard_VXA-700_O5ZrE3.img /tmp/Vertex Standard_VXA-700_b1ZJJR.img /tmp/WACCOM_MINI-8900_IOeHFJ.img /tmp/WACCOM_MINI-8900_IigsbO.img /tmp/Wouxun_KG-816_IxhIyy.img /tmp/Wouxun_KG-816_WSgtP0.img /tmp/Wouxun_KG-818_ZZGSoX.img /tmp/Wouxun_KG-818_st4cuY.img /tmp/Wouxun_KG-UV6_Zm65rH.img /tmp/Wouxun_KG-UV6_qYyKW9.img /tmp/Wouxun_KG-UV8D_U94d4E.img /tmp/Wouxun_KG-UV8D_zgQQWu.img /tmp/Wouxun_KG-UVD1P_0aEw2N.img /tmp/Wouxun_KG-UVD1P_WP3pIj.img /tmp/Yaesu_FT-1802M_dIZfQn.img /tmp/Yaesu_FT-1802M_qsZcB6.img /tmp/Yaesu_FT-1D_WqkiqD.img /tmp/Yaesu_FT-1D_sMNp9D.img /tmp/Yaesu_FT-2800M_X5W0zK.img /tmp/Yaesu_FT-2800M_dL5JbE.img /tmp/Yaesu_FT-2900R_1900R_FndcXV.img /tmp/Yaesu_FT-2900R_1900R_QjDUw5.img /tmp/Yaesu_FT-50_IJ_ebJ.img /tmp/Yaesu_FT-50_zzvCH9.img /tmp/Yaesu_FT-60_SVjqJL.img /tmp/Yaesu_FT-60_q_lHTm.img /tmp/Yaesu_FT-7800_7900_9zN_go.img /tmp/Yaesu_FT-7800_7900_nQWMkD.img /tmp/Yaesu_FT-817ND (US)_W0g_pl.img /tmp/Yaesu_FT-817ND (US)_dsSymY.img /tmp/Yaesu_FT-817ND_EoA4kd.img /tmp/Yaesu_FT-817ND_fmHSh0.img /tmp/Yaesu_FT-817_smK8uS.img /tmp/Yaesu_FT-817_vkfYRB.img /tmp/Yaesu_FT-857_897 (US)_AktQJF.img /tmp/Yaesu_FT-857_897 (US)_gOvM2F.img /tmp/Yaesu_FT-857_897_3jToyM.img /tmp/Yaesu_FT-857_897_AfgIdK.img /tmp/Yaesu_FT-8800_JR23IB.img /tmp/Yaesu_FT-8800_Q2lzPn.img /tmp/Yaesu_FT-8800_VOL87N.img /tmp/Yaesu_FT-8800_lmhWEH.img /tmp/Yaesu_FT-8800_pCp7BI.img /tmp/Yaesu_FT-8800_vPl3V6.img /tmp/Yaesu_FT-8900_DGwaED.img /tmp/Yaesu_FT-8900_jw_ebw.img /tmp/Yaesu_FTM-350_8tDYPN.img /tmp/Yaesu_FTM-350_9UUi13.img /tmp/Yaesu_FTM-350_RRppwf.img /tmp/Yaesu_FTM-350_Ul4Vl2.img /tmp/Yaesu_FTM-350_dneXrl.img /tmp/Yaesu_FTM-350_sobk3M.img /tmp/Yaesu_VX-2_kXosgf.img /tmp/Yaesu_VX-2_zkKZnv.img /tmp/Yaesu_VX-3_aVRA4W.img /tmp/Yaesu_VX-3_pDYqpm.img /tmp/Yaesu_VX-5_2VqQFl.img /tmp/Yaesu_VX-5_YABocK.img /tmp/Yaesu_VX-6_EffGTh.img /tmp/Yaesu_VX-6_LoCYnW.img /tmp/Yaesu_VX-7_KiAjMB.img /tmp/Yaesu_VX-7_wJzcco.img /tmp/Yaesu_VX-8_NJVi1w.img /tmp/Yaesu_VX-8_svv1mQ.img
Email was triggered for: Success
Sending email for trigger: Success
1
0
[chirp_devel] [PATCH][QYT KT8900R] New variant discovered in the wild, fixes #3993
by Pavel Milanes Costa 08 Sep '16
by Pavel Milanes Costa 08 Sep '16
08 Sep '16
A new variant of this radios was discovered on the wild, this patch
giver Chirp support for it
73.
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1473215345 14400
# Node ID 1cdb5cfe1d38bfa398bccaf3121953510bc88933
# Parent e45119059c9f885080d9a9679a4c0af34226fb6d
[UV-5X3] Fix Out-of-Range Settings
The factory neglected to set 2 settings with valid values in the production
radios which caused CHIRP to fail with an out-of-range condition.
This patch adds bounds checking so that if these settings have out-of-range
values, they are set to the same default values as the pre-production radios.
Bug #3995
diff -r e45119059c9f -r 1cdb5cfe1d38 chirp/drivers/uv5x3.py
--- a/chirp/drivers/uv5x3.py Sun Sep 04 18:26:49 2016 -0700
+++ b/chirp/drivers/uv5x3.py Tue Sep 06 22:29:05 2016 -0400
@@ -1119,16 +1119,22 @@
rs.set_apply_callback(apply_code, self._memobj.ani)
dtmfd.append(rs)
+ if _mem.ani.resettime > 0x9F:
+ val = 0x4F
+ else:
+ val = _mem.ani.resettime
rs = RadioSetting("ani.resettime", "Reset Time",
RadioSettingValueList(LIST_RESETTIME,
- LIST_RESETTIME[
- _mem.ani.resettime]))
+ LIST_RESETTIME[val]))
dtmfd.append(rs)
+ if _mem.ani.delayproctime > 0x27:
+ val = 0x04
+ else:
+ val = _mem.ani.delayproctime
rs = RadioSetting("ani.delayproctime", "Delay Processing Time",
RadioSettingValueList(LIST_DELAYPROCTIME,
- LIST_DELAYPROCTIME[
- _mem.ani.delayproctime]))
+ LIST_DELAYPROCTIME[val]))
dtmfd.append(rs)
# Service settings
1
0
Since Dan brought up patchbomb, I'll go ahead and ask since my
google-fu has failed. Have folks had success with using patchbomb
against gmail lately? I tried setting it up but got an auth/login
error regardless of which settings I use.
At the moment, the smtp section of my hgrc looks like this:
[smtp]
host=smtp.gmail.com
port=587
username=XX
password=YY
tls = True (also tried = starttls)
Every time, I get an aborted response from mercurial (abort/534), and
a nastygram from google saying they blocked a sign-in attempt.
--
Brian
4
7
[chirp_devel] [PATCH] [TEST PATCH DO NOT APPLY] patchbomb test
by brian.maybeï¼ gmail.com 05 Sep '16
by brian.maybeï¼ gmail.com 05 Sep '16
05 Sep '16
# HG changeset patch
# User Brian Dickman <brian.maybe(a)gmail.com>
# Date 1473094181 25200
# Mon Sep 05 09:49:41 2016 -0700
# Node ID 889f7413f2e9802394626a7bb50d8ba6aa1dce09
# Parent ff2daca5a662fd2c6661c347e2d7448fd0ab11ed
[TEST PATCH DO NOT APPLY] patchbomb test
1
0
Tested changes:
[Brian Dickman <brian.maybe(a)gmail.com>] [leixen] [patch 2 of 2] Adds new model, Leixen VV-898S (tri-power 25W)
Also adds alias for VV-898E. Resolves #3889, #3327, #3065.
[Brian Dickman <brian.maybe(a)gmail.com>] [leixen] [ 1 of 2 ] Migrate radio paramters into class to prepare for
multiple models
Parameterize the mmap to account for changes between the 898 and 898S
models. Move power levels into the class out of the global module
level. Extend model matching to additional bytes to tell apart
additional models. Related to #3889, #3327, #3065.
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-5X3] Add DTMF Settings (RX and TX) to BTech UV-5X3
This patch exposes the structures and adds DTMF related settings:
- PTT-ID codes
- ANI settings and codes
- Master and Vice control IDs
- Control settings and codes (Inspection, Monitor, Stun, Kill, Revive)
- other DTMF related settings
related to #3931
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev ff2daca5a662fd2c6661c347e2d7448fd0ab11ed
[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 ff2daca5a662fd2c6661c347e2d7448fd0ab11ed
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson27590753547719784.sh
[workspace] $ /bin/sh -xe /tmp/hudson7849357314340964124.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:521:45: W291 trailing whitespace
./chirp/drivers/ft60.py:522:25: E128 continuation line under-indented for visual indent
./chirp/drivers/ft60.py:523: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/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.592s
user 0m7.484s
sys 0m0.040s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-09-05 08:17:59,099] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2016-09-05 08:17:59,136] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-09-05 08:17:59,137] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2016-09-05 08:17:59,138] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-09-05 08:17:59,139] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-09-05 08:17:59,140] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-09-05 08:17:59,141] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-09-05 08:17:59,142] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-09-05 08:17:59,142] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-09-05 08:17:59,142] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-09-05 08:17:59,142] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-09-05 08:17:59,143] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-09-05 08:17:59,144] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-09-05 08:17:59,145] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-09-05 08:17:59,146] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-09-05 08:17:59,146] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-09-05 08:17:59,147] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-09-05 08:17:59,147] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-09-05 08:17:59,147] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-09-05 08:17:59,148] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-09-05 08:17:59,148] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-09-05 08:17:59,148] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-09-05 08:17:59,148] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-09-05 08:17:59,149] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-09-05 08:17:59,149] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-09-05 08:17:59,149] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-09-05 08:17:59,149] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-09-05 08:17:59,149] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-09-05 08:17:59,150] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-09-05 08:17:59,150] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-09-05 08:17:59,150] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-09-05 08:17:59,151] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-09-05 08:17:59,151] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-09-05 08:17:59,151] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-09-05 08:17:59,158] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-09-05 08:17:59,161] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-09-05 08:17:59,161] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-09-05 08:17:59,162] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-09-05 08:17:59,162] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-09-05 08:17:59,162] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-09-05 08:17:59,162] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-09-05 08:17:59,162] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-09-05 08:17:59,163] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-09-05 08:17:59,163] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-09-05 08:17:59,163] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-09-05 08:17:59,163] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-09-05 08:17:59,164] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-09-05 08:17:59,164] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-09-05 08:17:59,164] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-09-05 08:17:59,164] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-09-05 08:17:59,165] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-09-05 08:17:59,166] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-09-05 08:17:59,166] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-09-05 08:17:59,166] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-09-05 08:17:59,167] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-09-05 08:17:59,167] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-09-05 08:17:59,167] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-09-05 08:17:59,167] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-09-05 08:17:59,167] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2016-09-05 08:17:59,168] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2016-09-05 08:17:59,168] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-09-05 08:17:59,168] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-09-05 08:17:59,168] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-09-05 08:17:59,168] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-09-05 08:17:59,169] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-09-05 08:17:59,169] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-09-05 08:17:59,169] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-09-05 08:17:59,169] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-09-05 08:17:59,170] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-09-05 08:17:59,170] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-09-05 08:17:59,170] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-09-05 08:17:59,171] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-09-05 08:17:59,171] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-09-05 08:17:59,171] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-09-05 08:17:59,171] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-09-05 08:17:59,171] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-09-05 08:17:59,172] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-09-05 08:17:59,172] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-09-05 08:17:59,172] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-09-05 08:17:59,172] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-09-05 08:17:59,173] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-09-05 08:17:59,174] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-09-05 08:17:59,175] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-09-05 08:17:59,176] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-09-05 08:17:59,177] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2016-09-05 08:17:59,177] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2016-09-05 08:17:59,178] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-09-05 08:17:59,178] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-09-05 08:17:59,178] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-09-05 08:17:59,178] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-09-05 08:17:59,179] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-09-05 08:17:59,179] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-09-05 08:17:59,179] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-09-05 08:17:59,180] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-09-05 08:17:59,180] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-09-05 08:17:59,180] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-09-05 08:17:59,180] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-09-05 08:17:59,181] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_2o0IyZ.img /tmp/Alinco_DJ175_Y1mo6l.img /tmp/Alinco_DJ596_8AHrTs.img /tmp/Alinco_DJ596_wdeVwB.img /tmp/Alinco_DR235T_8Cj7Pm.img /tmp/Alinco_DR235T__yCWJj.img /tmp/AnyTone_OBLTR-8R_OKsc_v.img /tmp/AnyTone_OBLTR-8R_eMogSm.img /tmp/AnyTone_TERMN-8R_0LHoWi.img /tmp/AnyTone_TERMN-8R_RzqZR8.img /tmp/BTECH_UV-2501+220_S_VOkc.img /tmp/BTECH_UV-2501+220_bGZ5_i.img /tmp/BTECH_UV-5001_8h2QS9.img /tmp/BTECH_UV-5001_V9KMh8.img /tmp/BTECH_UV-50X3_4NsFkh.img /tmp/BTECH_UV-50X3_5IoRhj.img /tmp/BTECH_UV-50X3_9Hb_8Y.img /tmp/BTECH_UV-50X3_YkRjdU.img /tmp/BTECH_UV-50X3_ZAnxBR.img /tmp/BTECH_UV-50X3_kPC8FH.img /tmp/BTECH_UV-5X3_5h3ssf.img /tmp/BTECH_UV-5X3_l0W6k7.img /tmp/Baofeng_BF-888_cgW8UU.img /tmp/Baofeng_BF-888_dhh0re.img /tmp/Baofeng_F-11_0yeMCT.img /tmp/Baofeng_F-11_9IeTHt.img /tmp/Baofeng_UV-3R_Wxy4kv.img /tmp/Baofeng_UV-3R_tkYswd.img /tmp/Baofeng_UV-5R_CteFI6.img /tmp/Baofeng_UV-5R_jipNGA.img /tmp/Baofeng_UV-6R_Wo3YiC.img /tmp/Baofeng_UV-6R_d2nFEd.img /tmp/Baofeng_UV-B5_GYqVUH.img /tmp/Baofeng_UV-B5_UMwYBL.img /tmp/Baojie_BJ-9900_8HHHaT.img /tmp/Baojie_BJ-9900_PZMXFr.img /tmp/Baojie_BJ-9900_QtDaFr.img /tmp/Baojie_BJ-9900_jFigCU.img /tmp/Baojie_BJ-9900_m3ylh7.img /tmp/Baojie_BJ-9900_mRY40W.img /tmp/Feidaxin_FD-268A_gkEApU.img /tmp/Feidaxin_FD-268A_rlxQKn.img /tmp/Feidaxin_FD-268B_2ctu6R.img /tmp/Feidaxin_FD-268B_cDDtPa.img /tmp/Feidaxin_FD-288B__vttXq.img /tmp/Feidaxin_FD-288B_ySarTK.img /tmp/Icom_IC-208H_5BaBiM.img /tmp/Icom_IC-208H_S_PMdJ.img /tmp/Icom_IC-2100H_1HN859.img /tmp/Icom_IC-2100H_HrIrCr.img /tmp/Icom_IC-2200H_jAxtCF.img /tmp/Icom_IC-2200H_jfIy0Q.img /tmp/Icom_IC-2720H_NLVDEA.img /tmp/Icom_IC-2720H_sB9_Zh.img /tmp/Icom_IC-2820H_Nb3QYZ.img /tmp/Icom_IC-2820H_RVkput.img /tmp/Icom_IC-Q7A_0sxTpZ.img /tmp/Icom_IC-Q7A_a8gEUG.img /tmp/Icom_IC-T70__UfdTl.img /tmp/Icom_IC-T70_do96mb.img /tmp/Icom_IC-T7H_FnfYwk.img /tmp/Icom_IC-T7H_bFBGBs.img /tmp/Icom_IC-T8A_WReUoG.img /tmp/Icom_IC-T8A_jdieyP.img /tmp/Icom_IC-V82_U82_IVZc75.img /tmp/Icom_IC-V82_U82_c5hXvP.img /tmp/Icom_IC-W32A_9QWhLi.img /tmp/Icom_IC-W32A_M_VRq2.img /tmp/Icom_IC-W32A_VL2oph.img /tmp/Icom_IC-W32A_YX43wE.img /tmp/Icom_IC-W32A_p1uwIJ.img /tmp/Icom_IC-W32A_wqFA7o.img /tmp/Icom_IC-W32E_1BGvgn.img /tmp/Icom_IC-W32E_6PiXWX.img /tmp/Icom_IC-W32E_8Gb4Xz.img /tmp/Icom_IC-W32E_RCOHvf.img /tmp/Icom_IC-W32E_kD11qz.img /tmp/Icom_IC-W32E_qpO2iG.img /tmp/Icom_ID-31A_VP8A5c.img /tmp/Icom_ID-31A_uWg62U.img /tmp/Icom_ID-51 Plus_6m7Vjq.img /tmp/Icom_ID-51 Plus_yow_Ij.img /tmp/Icom_ID-51_5GvHgd.img /tmp/Icom_ID-51_BI1T8w.img /tmp/Icom_ID-800H_ALzaen.img /tmp/Icom_ID-800H_maPj06.img /tmp/Icom_ID-880H_KumVyx.img /tmp/Icom_ID-880H_lzLU0T.img /tmp/Jetstream_JT220M_coOSpa.img /tmp/Jetstream_JT220M_jVm6ES.img /tmp/Jetstream_JT270M_Wg1RXT.img /tmp/Jetstream_JT270M_bTQi1Y.img /tmp/KYD_IP-620_2SGRna.img /tmp/KYD_IP-620_d2cmXx.img /tmp/Kenwood_TH-D72 (clone mode)_FpMABF.img /tmp/Kenwood_TH-D72 (clone mode)_qs0GO1.img /tmp/Kenwood_TK-272G_4_1mhJ.img /tmp/Kenwood_TK-272G_sQounN.img /tmp/Kenwood_TK-760G_0zcRDa.img /tmp/Kenwood_TK-760G_j7ty0x.img /tmp/Kenwood_TK-8102_gRINxo.img /tmp/Kenwood_TK-8102_uL6oat.img /tmp/LUITON_LT-725UV_8aDtii.img /tmp/LUITON_LT-725UV_CI6XZU.img /tmp/LUITON_LT-725UV_MfgXcz.img /tmp/LUITON_LT-725UV_esXa2l.img /tmp/LUITON_LT-725UV_gVHYSQ.img /tmp/LUITON_LT-725UV_qGhDcc.img /tmp/Leixen_VV-898_xpn2Lx.img /tmp/Leixen_VV-898_y7uRbb.img /tmp/Polmar_DB-50M_Br4gg1.img /tmp/Polmar_DB-50M_HlpEod.img /tmp/Puxing_PX-2R_2JP23O.img /tmp/Puxing_PX-2R_KlDsJX.img /tmp/Puxing_PX-777_GilcF6.img /tmp/Puxing_PX-777_JPHPC7.img /tmp/TYT_TH-7800_XMtcQS.img /tmp/TYT_TH-7800_iWFr7a.img /tmp/TYT_TH-9800_Rm6aBu.img /tmp/TYT_TH-9800_oTQoW3.img /tmp/TYT_TH-UV3R-25_ZPTvnX.img /tmp/TYT_TH-UV3R-25_s7Diup.img /tmp/TYT_TH-UV3R_qYLnjO.img /tmp/TYT_TH-UV3R_v0Xu3o.img /tmp/TYT_TH-UVF1_6yWBev.img /tmp/TYT_TH-UVF1_Xi6Pnw.img /tmp/TYT_TH9000_144_jOz9YB.img /tmp/TYT_TH9000_144_vIab9m.img /tmp/Vertex Standard_VXA-700_FPSJkH.img /tmp/Vertex Standard_VXA-700_blr_US.img /tmp/WACCOM_MINI-8900_SwFMeQ.img /tmp/WACCOM_MINI-8900_fs_a2L.img /tmp/Wouxun_KG-816_368nng.img /tmp/Wouxun_KG-816__1QdI1.img /tmp/Wouxun_KG-818_4UG20K.img /tmp/Wouxun_KG-818_5t3aph.img /tmp/Wouxun_KG-UV6_7Vkg6q.img /tmp/Wouxun_KG-UV6_RdvIHD.img /tmp/Wouxun_KG-UV8D_OIlYdt.img /tmp/Wouxun_KG-UV8D_Wl5SVc.img /tmp/Wouxun_KG-UVD1P_7sZcWI.img /tmp/Wouxun_KG-UVD1P_G9rD4S.img /tmp/Yaesu_FT-1802M_06xyiz.img /tmp/Yaesu_FT-1802M_dF4TpA.img /tmp/Yaesu_FT-1D_j7LKDr.img /tmp/Yaesu_FT-1D_yctA3d.img /tmp/Yaesu_FT-2800M_LMWVqJ.img /tmp/Yaesu_FT-2800M_y_rAWO.img /tmp/Yaesu_FT-2900R_1900R_C786Hq.img /tmp/Yaesu_FT-2900R_1900R_x332bI.img /tmp/Yaesu_FT-50_Tt8yA9.img /tmp/Yaesu_FT-50_toW53S.img /tmp/Yaesu_FT-60_OV9_wm.img /tmp/Yaesu_FT-60_uYRG6R.img /tmp/Yaesu_FT-7800_7900_LQSAnT.img /tmp/Yaesu_FT-7800_7900_qshmTs.img /tmp/Yaesu_FT-817ND (US)_pYjUIK.img /tmp/Yaesu_FT-817ND (US)_plpFhN.img /tmp/Yaesu_FT-817ND_L6E_oJ.img /tmp/Yaesu_FT-817ND_csF_WR.img /tmp/Yaesu_FT-817_EOeikb.img /tmp/Yaesu_FT-817_n0eJB9.img /tmp/Yaesu_FT-857_897 (US)_VXseG4.img /tmp/Yaesu_FT-857_897 (US)_qZCTcN.img /tmp/Yaesu_FT-857_897_JNxx23.img /tmp/Yaesu_FT-857_897_Lsdrvg.img /tmp/Yaesu_FT-8800_2YPhJH.img /tmp/Yaesu_FT-8800_9X1FGR.img /tmp/Yaesu_FT-8800_IwroSu.img /tmp/Yaesu_FT-8800_MVsEH3.img /tmp/Yaesu_FT-8800_PGOlik.img /tmp/Yaesu_FT-8800_UMJva4.img /tmp/Yaesu_FT-8900_Adl59a.img /tmp/Yaesu_FT-8900_OC72VM.img /tmp/Yaesu_FTM-350_DDO4bz.img /tmp/Yaesu_FTM-350_SHaTCE.img /tmp/Yaesu_FTM-350_gpQTrA.img /tmp/Yaesu_FTM-350_kRaIqe.img /tmp/Yaesu_FTM-350_lY2_n_.img /tmp/Yaesu_FTM-350_pzB3wR.img /tmp/Yaesu_VX-2_C0PdJ4.img /tmp/Yaesu_VX-2_tYbMup.img /tmp/Yaesu_VX-3_0hWjND.img /tmp/Yaesu_VX-3_bZibw_.img /tmp/Yaesu_VX-5_XwCuAe.img /tmp/Yaesu_VX-5_aQ4Rkg.img /tmp/Yaesu_VX-6_Odc50w.img /tmp/Yaesu_VX-6_P2ix7L.img /tmp/Yaesu_VX-7_2lG1SB.img /tmp/Yaesu_VX-7_S7Yptl.img /tmp/Yaesu_VX-8_M_YWXn.img /tmp/Yaesu_VX-8_yBM2ED.img
Email was triggered for: Success
Sending email for trigger: Success
1
0
[chirp_devel] [PATCH] [leixen ] [ 1 of 2 ] 2nd try... prepare for multiple models
by Brian Dickman 05 Sep '16
by Brian Dickman 05 Sep '16
05 Sep '16
I've re-created this patch against the current tip, but I don't
*think* there's any difference... it applies and passes tests on my
repo.
#######
# HG changeset patch
# User Brian Dickman <brian.maybe(a)gmail.com>
# Date 1473038384 25200
# Sun Sep 04 18:19:44 2016 -0700
# Node ID 15ed52b0a98e77f51c25e0d161c8d8e376fa2307
# Parent ff2daca5a662fd2c6661c347e2d7448fd0ab11ed
[leixen] [ 1 of 2 ] Migrate radio paramters into class to prepare for
multiple models
Parameterize the mmap to account for changes between the 898 and 898S
models. Move power levels into the class out of the global module
level. Extend model matching to additional bytes to tell apart
additional models. Related to #3889, #3327, #3065.
diff -r ff2daca5a662 -r 15ed52b0a98e chirp/drivers/leixen.py
--- a/chirp/drivers/leixen.py Sun Sep 04 08:37:03 2016 -0700
+++ b/chirp/drivers/leixen.py Sun Sep 04 18:19:44 2016 -0700
@@ -135,14 +135,13 @@
u8 unknown5;
u8 pttidoff:1,
dtmfoff:1,
- unknown6:1,
+ %(unknownormode)s,
tailcut:1,
aliasop:1,
talkaroundoff:1,
voxoff:1,
skip:1;
- u8 power:1,
- mode:1
+ u8 %(modeorpower)s,
reverseoff:1,
blckoff:1,
unknown7:1,
@@ -223,8 +222,6 @@
"Reverse"
]
-POWER_LEVELS = [chirp_common.PowerLevel("Low", watts=4),
- chirp_common.PowerLevel("High", watts=10)]
MODES = ["NFM", "FM"]
WTFTONES = map(float, xrange(56, 64))
TONES = WTFTONES + chirp_common.TONES
@@ -326,7 +323,8 @@
_ranges = [(0x0d00, 0x2000)]
image_ident = _image_ident_from_image(radio)
- if image_ident.startswith(radio._file_ident) and "LX-" in image_ident:
+ if image_ident.startswith(radio._file_ident) and \
+ radio._model_ident in image_ident:
_ranges = radio._ranges
do_ident(radio)
@@ -371,6 +369,8 @@
BAUD_RATE = 9600
_file_ident = "Leixen"
+ _model_ident = 'LX-\x89\x85\x63'
+
_memsize = 0x2000
_ranges = [
(0x0000, 0x013f),
@@ -382,6 +382,11 @@
(0x0d00, 0x2000),
]
+ _mem_formatter = {'unknownormode': 'unknown6:1',
+ 'modeorpower': 'mode:1, power:1'}
+ _power_levels = [chirp_common.PowerLevel("Low", watts=4),
+ chirp_common.PowerLevel("High", watts=10)]
+
def get_features(self):
rf = chirp_common.RadioFeatures()
rf.has_settings = True
@@ -402,7 +407,7 @@
"DTCS->DTCS"]
rf.valid_characters = chirp_common.CHARSET_ASCII
rf.valid_name_length = 7
- rf.valid_power_levels = POWER_LEVELS
+ rf.valid_power_levels = self._power_levels
rf.valid_duplexes = ["", "-", "+", "split", "off"]
rf.valid_skips = ["", "S"]
rf.valid_bands = [(136000000, 174000000),
@@ -419,7 +424,7 @@
self.process_mmap()
def process_mmap(self):
- self._memobj = bitwise.parse(MEM_FORMAT, self._mmap)
+ self._memobj = bitwise.parse(MEM_FORMAT %
self._mem_formatter, self._mmap)
def sync_out(self):
try:
@@ -492,12 +497,8 @@
self._get_tone(mem, _mem)
mem.mode = MODES[_mem.mode]
- mem.power = POWER_LEVELS[_mem.power]
- mem.skip = _mem.skip and "S" or ""
-
- self._get_tone(mem, _mem)
- mem.mode = MODES[_mem.mode]
- mem.power = POWER_LEVELS[_mem.power]
+ powerindex = _mem.power if _mem.power < len(self._power_levels) else -1
+ mem.power = self._power_levels[powerindex]
mem.skip = _mem.skip and "S" or ""
mem.extra = RadioSettingGroup("Extra", "extra")
@@ -595,7 +596,7 @@
self._set_tone(mem, _mem)
- _mem.power = mem.power and POWER_LEVELS.index(mem.power) or 0
+ _mem.power = mem.power and self._power_levels.index(mem.power) or 0
_mem.mode = MODES.index(mem.mode)
_mem.skip = mem.skip == "S"
_name.name = mem.name.ljust(7)
@@ -934,9 +935,7 @@
@classmethod
def match_model(cls, filedata, filename):
if filedata[0x168:0x170].startswith(cls._file_ident) and \
- filedata[0x170:0x178].startswith("LX-\x89\x85"):
- return True
- elif filedata[0x900:0x906] == cls.MODEL:
+
filedata[0x170:0x178].startswith(cls._model_ident):
return True
else:
return False
@@ -949,3 +948,4 @@
MODEL = "JT270M"
_file_ident = "JET"
+ _model_ident = 'LX-\x89\x85\x53'
2
1
04 Sep '16
qpopped directly over the previous patch without an issue, so in
theory this should work too...
###
# HG changeset patch
# User Brian Dickman <brian.maybe(a)gmail.com>
# Date 1473038809 25200
# Sun Sep 04 18:26:49 2016 -0700
# Node ID 7d8c6b96f9866b7bdecf4fd2c2445d8dbe37c2ac
# Parent 15ed52b0a98e77f51c25e0d161c8d8e376fa2307
[leixen] [patch 2 of 2] Adds new model, Leixen VV-898S (tri-power 25W)
Also adds alias for VV-898E. Resolves #3889, #3327, #3065.
diff -r 15ed52b0a98e -r 7d8c6b96f986 chirp/drivers/leixen.py
--- a/chirp/drivers/leixen.py Sun Sep 04 18:19:44 2016 -0700
+++ b/chirp/drivers/leixen.py Sun Sep 04 18:26:49 2016 -0700
@@ -949,3 +949,24 @@
_file_ident = "JET"
_model_ident = 'LX-\x89\x85\x53'
+
+
+class VV898E(chirp_common.Alias):
+ '''Leixen has called this radio both 898E and S historically,
ident is identical'''
+ VENDOR = "Leixen"
+ MODEL = "VV-898E"
+
+
+(a)directory.register
+class LeixenVV898SRadio(LeixenVV898Radio):
+ """Leixen VV-898S, also VV-898E which is identical"""
+ VENDOR = "Leixen"
+ MODEL = "VV-898S"
+ ALIASES = [VV898E, ]
+
+ _model_ident = 'LX-\x89\x85\x75'
+ _mem_formatter = {'unknownormode': 'mode:1',
+ 'modeorpower': 'power:2'}
+ _power_levels = [chirp_common.PowerLevel("Low", watts=5),
+ chirp_common.PowerLevel("Med", watts=10),
+ chirp_common.PowerLevel("High", watts=25)]
1
0
How comprehensive do we want to be with alias models? Leixen sold the
same exact radio (from everything I can see in the images they are a
binary match) as both the VV-898S and VV-898E. Should I bother making
an alias model for the 898E, or do we just markup the web page to note
that we support the model and it matches the S? Aliases make a lot of
sense when the vendor name or model are grossly different, but I'm not
sure it's worth doing in this case.
--
Brian
5
7
[chirp_devel] [PATCH] [UV-5X3] Add DTMF Settings (RX and TX) to BTech UV-5X3
by Jim Unroe 04 Sep '16
by Jim Unroe 04 Sep '16
04 Sep '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1473003258 14400
# Node ID 6400db5ca2b420af20aacbeee51ef766d63c3d76
# Parent 75cb01b8fb0d0a0f523db839a1eb876839861050
[UV-5X3] Add DTMF Settings (RX and TX) to BTech UV-5X3
This patch exposes the structures and adds DTMF related settings:
- PTT-ID codes
- ANI settings and codes
- Master and Vice control IDs
- Control settings and codes (Inspection, Monitor, Stun, Kill, Revive)
- other DTMF related settings
related to #3931
diff -r 75cb01b8fb0d -r 6400db5ca2b4 chirp/drivers/uv5x3.py
--- a/chirp/drivers/uv5x3.py Sat Sep 03 19:54:58 2016 -0400
+++ b/chirp/drivers/uv5x3.py Sun Sep 04 11:34:18 2016 -0400
@@ -50,12 +50,14 @@
LIST_ALMOD = ["Site", "Tone", "Code"]
LIST_BANDWIDTH = ["Wide", "Narrow"]
LIST_COLOR = ["Off", "Blue", "Orange", "Purple"]
+LIST_DELAYPROCTIME = ["%s ms" % x for x in range(100, 4100, 100)]
LIST_DTMFSPEED = ["%s ms" % x for x in range(50, 2010, 10)]
LIST_DTMFST = ["Off", "DT-ST", "ANI-ST", "DT+ANI"]
LIST_MODE = ["Channel", "Name", "Frequency"]
LIST_OFF1TO9 = ["Off"] + list("123456789")
LIST_OFF1TO10 = LIST_OFF1TO9 + ["10"]
LIST_OFFAB = ["Off"] + LIST_AB
+LIST_RESETTIME = ["%s ms" % x for x in range(100, 16100, 100)]
LIST_RESUME = ["TO", "CO", "SE"]
LIST_PONMSG = ["Full", "Message"]
LIST_PTTID = ["Off", "BOT", "EOT", "Both"]
@@ -146,6 +148,53 @@
pttid:2;
} memory[128];
+ #seekto 0x0B00;
+ struct {
+ u8 code[16];
+ } pttid[15];
+
+ #seekto 0x0C80;
+ struct {
+ u8 inspection[8];
+ u8 monitor[8];
+ u8 alarmcode[8];
+ u8 stun[8];
+ u8 kill[8];
+ u8 revive[8];
+ u8 code[7];
+ u8 unknown06;
+ u8 dtmfon;
+ u8 dtmfoff;
+ u8 unused00:6,
+ aniid:2;
+ u8 unknown07[5];
+ u8 masterid[5];
+ u8 unknown08[3];
+ u8 viceid[5];
+ u8 unknown09[3];
+ u8 unused01:7,
+ mastervice:1;
+ u8 unused02:3,
+ mrevive:1,
+ mkill:1,
+ mstun:1,
+ mmonitor:1,
+ minspection:1;
+ u8 unused03:3,
+ vrevive:1,
+ vkill:1,
+ vstun:1,
+ vmonitor:1,
+ vinspection:1;
+ u8 unused04:6,
+ txdisable:1,
+ rxdisable:1;
+ u8 groupcode;
+ u8 spacecode;
+ u8 delayproctime;
+ u8 resettime;
+ } ani;
+
#seekto 0x0E20;
struct {
u8 unused00:4,
@@ -368,8 +417,11 @@
other = RadioSettingGroup("other", "Other Settings")
work = RadioSettingGroup("work", "Work Mode Settings")
fm_preset = RadioSettingGroup("fm_preset", "FM Preset")
+ dtmfe = RadioSettingGroup("dtmfe", "DTMF Encode Settings")
+ dtmfd = RadioSettingGroup("dtmfd", "DTMF Decode Settings")
service = RadioSettingGroup("service", "Service Settings")
- top = RadioSettings(basic, advanced, other, work, fm_preset, service)
+ top = RadioSettings(basic, advanced, other, work, fm_preset, dtmfe,
+ dtmfd, service)
# Basic settings
if _mem.settings.squelch > 0x09:
@@ -826,6 +878,259 @@
RadioSettingValueFloat(65, 108.0, preset, 0.1, 1))
fm_preset.append(rs)
+ # DTMF encode settings
+ for i in range(0, 15):
+ _codeobj = self._memobj.pttid[i].code
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 16, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("pttid/%i.code" % i,
+ "Signal Code %i" % (i + 1), val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 16):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.code = code
+ rs.set_apply_callback(apply_code, self._memobj.pttid[i])
+ dtmfe.append(rs)
+
+ if _mem.ani.dtmfon > 0xC3:
+ val = 0x03
+ else:
+ val = _mem.ani.dtmfon
+ rs = RadioSetting("ani.dtmfon", "DTMF Speed (on)",
+ RadioSettingValueList(LIST_DTMFSPEED,
+ LIST_DTMFSPEED[val]))
+ dtmfe.append(rs)
+
+ if _mem.ani.dtmfoff > 0xC3:
+ val = 0x03
+ else:
+ val = _mem.ani.dtmfoff
+ rs = RadioSetting("ani.dtmfoff", "DTMF Speed (off)",
+ RadioSettingValueList(LIST_DTMFSPEED,
+ LIST_DTMFSPEED[val]))
+ dtmfe.append(rs)
+
+ _codeobj = self._memobj.ani.code
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 7, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.code", "ANI Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 7):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.code = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfe.append(rs)
+
+ rs = RadioSetting("ani.aniid", "When to send ANI ID",
+ RadioSettingValueList(LIST_PTTID,
+ LIST_PTTID[_mem.ani.aniid]))
+ dtmfe.append(rs)
+
+ # DTMF decode settings
+ rs = RadioSetting("ani.mastervice", "Master and Vice ID",
+ RadioSettingValueBoolean(_mem.ani.mastervice))
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.masterid
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 5, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.masterid", "Master Control ID", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 5):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.masterid = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.minspection", "Master Inspection",
+ RadioSettingValueBoolean(_mem.ani.minspection))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.mmonitor", "Master Monitor",
+ RadioSettingValueBoolean(_mem.ani.mmonitor))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.mstun", "Master Stun",
+ RadioSettingValueBoolean(_mem.ani.mstun))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.mkill", "Master Kill",
+ RadioSettingValueBoolean(_mem.ani.mkill))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.mrevive", "Master Revive",
+ RadioSettingValueBoolean(_mem.ani.mrevive))
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.viceid
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 5, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.viceid", "Vice Control ID", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 5):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.viceid = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.vinspection", "Vice Inspection",
+ RadioSettingValueBoolean(_mem.ani.vinspection))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.vmonitor", "Vice Monitor",
+ RadioSettingValueBoolean(_mem.ani.vmonitor))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.vstun", "Vice Stun",
+ RadioSettingValueBoolean(_mem.ani.vstun))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.vkill", "Vice Kill",
+ RadioSettingValueBoolean(_mem.ani.vkill))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.vrevive", "Vice Revive",
+ RadioSettingValueBoolean(_mem.ani.vrevive))
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.inspection
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.inspection", "Inspection Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.inspection = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.monitor
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.monitor", "Monitor Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.monitor = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.alarmcode
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.alarm", "Alarm Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.alarmcode = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.stun
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.stun", "Stun Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.stun = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.kill
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.kill", "Kill Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.kill = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ _codeobj = _mem.ani.revive
+ _code = "".join([DTMF_CHARS[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 8, _code, False)
+ val.set_charset(DTMF_CHARS)
+ rs = RadioSetting("ani.revive", "Revive Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 8):
+ try:
+ code.append(DTMF_CHARS.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.revive = code
+ rs.set_apply_callback(apply_code, self._memobj.ani)
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.resettime", "Reset Time",
+ RadioSettingValueList(LIST_RESETTIME,
+ LIST_RESETTIME[
+ _mem.ani.resettime]))
+ dtmfd.append(rs)
+
+ rs = RadioSetting("ani.delayproctime", "Delay Processing Time",
+ RadioSettingValueList(LIST_DELAYPROCTIME,
+ LIST_DELAYPROCTIME[
+ _mem.ani.delayproctime]))
+ dtmfd.append(rs)
+
# Service settings
for band in ["vhf", "uhf"]:
for index in range(0, 10):
1
0