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
Lets say I have a 128 channel radio that is similar to a Baofeng UV-5R
but with some differences.
The 1st difference would be that the RX and TX frequency of channels 0
through 22 are fixed and cannot be edited. Basically all that can be
edited are the non-frequency related settings.
The 2nd difference would be that channels 23 through 127 have TX
inhibited (basically like a scanner). There is no need to program
Duplex, Offset, Mode, Power, or any of the TX related tones.
Does anyone have any ideas for how someone could address one or the
other of these differences? Would it be possible to split these 2
ranges of channels into separate groups so they could be dealt with
separately (0-22 and 23-127)?
Thanks in advance...
Jim KC9HI
1
0
[chirp_devel] [PATCH][Kenwood Serie 60G] Widen the band limits for some radios, fixes #3813
by Pavel Milanes (CO7WT) 18 Jul '16
by Pavel Milanes (CO7WT) 18 Jul '16
18 Jul '16
The OEM software for this radios can program it out of it's default band
limits, some of the models has ranges of operations close but outside
the ham bands.
This patch widen the default band limits for this radios, allowing the
programming of these for hamm radio use, some of the new limits are
tested by me and others by Stephen GN5SWP, other are just guesses.
--
73 Pavel CO7WT.
1
0
Tested changes:
[Pavel Milanes (CO7WT) <pavelmc(a)gmail.com>] [PATCH][QYT-KT8900] Add a newvariant of this radios, fixes #3821
A new variant of this radios is on the wild, this adds the ID of it to mange it on Chirp.
73 Pavel CO7WT.
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev ba17605533ea0d2638e5b08750565de409e671c9
[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 ba17605533ea0d2638e5b08750565de409e671c9
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson5492101039323524699.sh
[workspace] $ /bin/sh -xe /tmp/hudson4789345109768653814.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.048s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./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/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.584s
user 0m7.426s
sys 0m0.087s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-07-16 04:52:37,962] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 14.04.4 LTS (Python 2.7.6)
[2016-07-16 04:52:37,971] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-07-16 04:52:37,972] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-07-16 04:52:37,973] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-07-16 04:52:37,974] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-07-16 04:52:37,975] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-07-16 04:52:37,976] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-07-16 04:52:37,976] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-07-16 04:52:37,977] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-07-16 04:52:37,978] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-07-16 04:52:37,979] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-07-16 04:52:37,980] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-07-16 04:52:37,981] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-07-16 04:52:37,981] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-07-16 04:52:37,981] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-07-16 04:52:37,982] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-07-16 04:52:37,982] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-07-16 04:52:37,982] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-07-16 04:52:37,982] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-07-16 04:52:37,982] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-07-16 04:52:37,983] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-07-16 04:52:37,983] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-07-16 04:52:37,983] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-07-16 04:52:37,983] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-07-16 04:52:37,984] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-07-16 04:52:37,984] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-07-16 04:52:37,984] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-07-16 04:52:37,984] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-07-16 04:52:37,985] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-07-16 04:52:37,985] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-07-16 04:52:37,985] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-07-16 04:52:37,985] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-07-16 04:52:37,991] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-07-16 04:52:37,994] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-07-16 04:52:37,994] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-07-16 04:52:37,994] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-07-16 04:52:37,995] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-07-16 04:52:37,995] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-07-16 04:52:37,995] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-07-16 04:52:37,995] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-07-16 04:52:37,996] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-07-16 04:52:37,996] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-07-16 04:52:37,996] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-07-16 04:52:37,996] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-07-16 04:52:37,997] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-07-16 04:52:37,997] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-07-16 04:52:37,997] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-07-16 04:52:37,997] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-07-16 04:52:37,997] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-07-16 04:52:37,998] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-07-16 04:52:37,998] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-07-16 04:52:37,998] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-07-16 04:52:37,998] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-07-16 04:52:37,998] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-07-16 04:52:37,999] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-07-16 04:52:37,999] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-07-16 04:52:37,999] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-07-16 04:52:37,999] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-07-16 04:52:38,000] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-07-16 04:52:38,000] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-07-16 04:52:38,000] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-07-16 04:52:38,001] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-07-16 04:52:38,002] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-07-16 04:52:38,002] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-07-16 04:52:38,002] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-07-16 04:52:38,002] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-07-16 04:52:38,002] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-07-16 04:52:38,003] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-07-16 04:52:38,003] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-07-16 04:52:38,003] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-07-16 04:52:38,003] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-07-16 04:52:38,003] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-07-16 04:52:38,004] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-07-16 04:52:38,004] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-07-16 04:52:38,004] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-07-16 04:52:38,004] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-07-16 04:52:38,005] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-07-16 04:52:38,006] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-07-16 04:52:38,006] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-07-16 04:52:38,006] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-07-16 04:52:38,007] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-07-16 04:52:38,008] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-07-16 04:52:38,009] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-07-16 04:52:38,009] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-07-16 04:52:38,009] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-07-16 04:52:38,010] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-07-16 04:52:38,010] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-07-16 04:52:38,010] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-07-16 04:52:38,010] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-07-16 04:52:38,011] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-07-16 04:52:38,011] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-07-16 04:52:38,012] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-07-16 04:52:38,012] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-07-16 04:52:38,012] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-07-16 04:52:38,012] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_Ns9Lsi.img /tmp/Alinco_DJ175_gAt3mN.img /tmp/Alinco_DJ596_0yVPnz.img /tmp/Alinco_DJ596_2BIz0c.img /tmp/Alinco_DR235T_L5HlVV.img /tmp/Alinco_DR235T_vHzXjn.img /tmp/AnyTone_OBLTR-8R_e4GuoH.img /tmp/AnyTone_OBLTR-8R_xbQy9p.img /tmp/AnyTone_TERMN-8R_GTxfaM.img /tmp/AnyTone_TERMN-8R_tsfsQg.img /tmp/BTECH_UV-2501+220_BHBfXI.img /tmp/BTECH_UV-2501+220_fjjwvf.img /tmp/BTECH_UV-5001_hb_ZRx.img /tmp/BTECH_UV-5001_ko2UpW.img /tmp/BTECH_UV-50X3_5p1AlB.img /tmp/BTECH_UV-50X3_B2k8Fg.img /tmp/BTECH_UV-50X3_Lp0enf.img /tmp/BTECH_UV-50X3_OAv00m.img /tmp/BTECH_UV-50X3_Z5m8vO.img /tmp/BTECH_UV-50X3_jK0rJO.img /tmp/Baofeng_BF-888_ToBQUK.img /tmp/Baofeng_BF-888_o0XjGW.img /tmp/Baofeng_F-11_YYeqe5.img /tmp/Baofeng_F-11_nCi53B.img /tmp/Baofeng_UV-3R_Fh92j5.img /tmp/Baofeng_UV-3R_Ix_6iv.img /tmp/Baofeng_UV-5R_7xiTZz.img /tmp/Baofeng_UV-5R_crVvZq.img /tmp/Baofeng_UV-B5_D_znQT.img /tmp/Baofeng_UV-B5_sF13AU.img /tmp/Baojie_BJ-9900_LNgNyG.img /tmp/Baojie_BJ-9900_RXcIV6.img /tmp/Baojie_BJ-9900__5XHza.img /tmp/Baojie_BJ-9900_hVp1UR.img /tmp/Baojie_BJ-9900_kcs7z1.img /tmp/Baojie_BJ-9900_xnVTug.img /tmp/Feidaxin_FD-268A_O3we3o.img /tmp/Feidaxin_FD-268A_Xv7mNg.img /tmp/Feidaxin_FD-268B_1B2yUz.img /tmp/Feidaxin_FD-268B_o_w3Tn.img /tmp/Feidaxin_FD-288B_fzERu4.img /tmp/Feidaxin_FD-288B_sC8osk.img /tmp/Icom_IC-208H_8tbJ0S.img /tmp/Icom_IC-208H_cpWmCe.img /tmp/Icom_IC-2100H_DwD645.img /tmp/Icom_IC-2100H_xxBImo.img /tmp/Icom_IC-2200H_4fIvMK.img /tmp/Icom_IC-2200H_hhzEhq.img /tmp/Icom_IC-2720H_4Y5up8.img /tmp/Icom_IC-2720H_lFVh3a.img /tmp/Icom_IC-2820H_AgkNRr.img /tmp/Icom_IC-2820H_d07GOh.img /tmp/Icom_IC-Q7A_FfGH1t.img /tmp/Icom_IC-Q7A_x36fCq.img /tmp/Icom_IC-T70_52eZuh.img /tmp/Icom_IC-T70_Ghjv3y.img /tmp/Icom_IC-T7H_hSBRSg.img /tmp/Icom_IC-T7H_zYC2mp.img /tmp/Icom_IC-T8A_RCeM1w.img /tmp/Icom_IC-T8A_cjR6Ur.img /tmp/Icom_IC-V82_U82_alzOj8.img /tmp/Icom_IC-V82_U82_yK_7_f.img /tmp/Icom_IC-W32A_2H9giz.img /tmp/Icom_IC-W32A_7OrBkZ.img /tmp/Icom_IC-W32A_LE8wOu.img /tmp/Icom_IC-W32A_e4zNBE.img /tmp/Icom_IC-W32A_qaS2ia.img /tmp/Icom_IC-W32A_zlMiJP.img /tmp/Icom_IC-W32E_MDSLB_.img /tmp/Icom_IC-W32E_SfmVpu.img /tmp/Icom_IC-W32E_VM8_a4.img /tmp/Icom_IC-W32E_hkNvgo.img /tmp/Icom_IC-W32E_noN3tf.img /tmp/Icom_IC-W32E_sGvKKc.img /tmp/Icom_ID-31A_dg6T8q.img /tmp/Icom_ID-31A_gB7rIU.img /tmp/Icom_ID-51 Plus_Aq72zR.img /tmp/Icom_ID-51 Plus_zmGwyo.img /tmp/Icom_ID-51_O3LkWQ.img /tmp/Icom_ID-51_Y_87Qd.img /tmp/Icom_ID-800H_0jFnUN.img /tmp/Icom_ID-800H_QSajtu.img /tmp/Icom_ID-880H_Xqgy2B.img /tmp/Icom_ID-880H_rHbPke.img /tmp/Jetstream_JT220M_BLRq_J.img /tmp/Jetstream_JT220M_Q0LGLh.img /tmp/Jetstream_JT270M_CIlZyM.img /tmp/Jetstream_JT270M_nzY_R9.img /tmp/KYD_IP-620_gNLIru.img /tmp/KYD_IP-620_wgdPQi.img /tmp/Kenwood_TH-D72 (clone mode)_eBJvb9.img /tmp/Kenwood_TH-D72 (clone mode)_vuoMFH.img /tmp/Kenwood_TK-272G_62Eyi0.img /tmp/Kenwood_TK-272G_Nzm7V4.img /tmp/Kenwood_TK-760G_8Z7tmn.img /tmp/Kenwood_TK-760G_HsAym3.img /tmp/Kenwood_TK-8102_E2aAoL.img /tmp/Kenwood_TK-8102_ryQWxe.img /tmp/Leixen_VV-898_11OzDb.img /tmp/Leixen_VV-898_B_cN2o.img /tmp/Polmar_DB-50M_2ZI2aL.img /tmp/Polmar_DB-50M_Cx4Qpr.img /tmp/Puxing_PX-2R_cleuuV.img /tmp/Puxing_PX-2R_zHtELn.img /tmp/Puxing_PX-777_DmqDxI.img /tmp/Puxing_PX-777_FdKKWA.img /tmp/TYT_TH-7800_J0TGgc.img /tmp/TYT_TH-7800__RwO_L.img /tmp/TYT_TH-9800_fXqXCA.img /tmp/TYT_TH-9800_mC_yLb.img /tmp/TYT_TH-UV3R-25_rRknOL.img /tmp/TYT_TH-UV3R-25_wWQyBg.img /tmp/TYT_TH-UV3R_7pmYzy.img /tmp/TYT_TH-UV3R_XRVYzR.img /tmp/TYT_TH-UVF1_ETH_WS.img /tmp/TYT_TH-UVF1_bHaV4r.img /tmp/TYT_TH9000_144_IckFTM.img /tmp/TYT_TH9000_144_dYqtVS.img /tmp/Vertex Standard_VXA-700_R0oqVm.img /tmp/Vertex Standard_VXA-700_dh4_HM.img /tmp/WACCOM_MINI-8900_RJJv_M.img /tmp/WACCOM_MINI-8900_iox8fN.img /tmp/Wouxun_KG-816_BXL_W5.img /tmp/Wouxun_KG-816_iocs7Z.img /tmp/Wouxun_KG-818_9ehdVt.img /tmp/Wouxun_KG-818_zmlUjg.img /tmp/Wouxun_KG-UV6_maVFzd.img /tmp/Wouxun_KG-UV6_rPFVtO.img /tmp/Wouxun_KG-UV8D_UTYkgk.img /tmp/Wouxun_KG-UV8D_gD6SHD.img /tmp/Wouxun_KG-UVD1P_Y0J7T2.img /tmp/Wouxun_KG-UVD1P_xcbsY4.img /tmp/Yaesu_FT-1802M_2ZidKx.img /tmp/Yaesu_FT-1802M_Xm4b38.img /tmp/Yaesu_FT-1D_BYV70M.img /tmp/Yaesu_FT-1D_tT0FyV.img /tmp/Yaesu_FT-2800M_qIxvym.img /tmp/Yaesu_FT-2800M_zCAEUz.img /tmp/Yaesu_FT-2900R_1900R_NVWZPq.img /tmp/Yaesu_FT-2900R_1900R_vlt8D2.img /tmp/Yaesu_FT-50_93aj_A.img /tmp/Yaesu_FT-50_X3ujJB.img /tmp/Yaesu_FT-60_580PIP.img /tmp/Yaesu_FT-60_Vc8nam.img /tmp/Yaesu_FT-7800_7900_Y7yhTn.img /tmp/Yaesu_FT-7800_7900_wIDawa.img /tmp/Yaesu_FT-817ND (US)_DNQSEM.img /tmp/Yaesu_FT-817ND (US)_xE81pL.img /tmp/Yaesu_FT-817ND_Ij0KYa.img /tmp/Yaesu_FT-817ND_zJQsHH.img /tmp/Yaesu_FT-817_8Fxxwf.img /tmp/Yaesu_FT-817_tK0GJ9.img /tmp/Yaesu_FT-857_897 (US)_XRl5jj.img /tmp/Yaesu_FT-857_897 (US)_cJuehv.img /tmp/Yaesu_FT-857_897_YpF1M3.img /tmp/Yaesu_FT-857_897_riS7Hv.img /tmp/Yaesu_FT-8800_97SQMG.img /tmp/Yaesu_FT-8800_AKkejK.img /tmp/Yaesu_FT-8800_Gbd2FG.img /tmp/Yaesu_FT-8800_JSObgk.img /tmp/Yaesu_FT-8800_ME5wJv.img /tmp/Yaesu_FT-8800_kEWpG9.img /tmp/Yaesu_FT-8900_VXVI7b.img /tmp/Yaesu_FT-8900_xMVkpK.img /tmp/Yaesu_FTM-350_DrI7fO.img /tmp/Yaesu_FTM-350_Grzu_8.img /tmp/Yaesu_FTM-350_iBsBqd.img /tmp/Yaesu_FTM-350_ovdjKo.img /tmp/Yaesu_FTM-350_uRp6GC.img /tmp/Yaesu_FTM-350_wLfcXQ.img /tmp/Yaesu_VX-2_CqgU45.img /tmp/Yaesu_VX-2_PlhBvp.img /tmp/Yaesu_VX-3_F9E_dv.img /tmp/Yaesu_VX-3_XH83fc.img /tmp/Yaesu_VX-5_3tVmfP.img /tmp/Yaesu_VX-5_ShZvcs.img /tmp/Yaesu_VX-6_rAtLqm.img /tmp/Yaesu_VX-6_zMD8in.img /tmp/Yaesu_VX-7_0IuGOe.img /tmp/Yaesu_VX-7_kYDatL.img /tmp/Yaesu_VX-8_58tVVK.img /tmp/Yaesu_VX-8_sFELwr.img
Email was triggered for: Success
Sending email for trigger: Success
1
0
[chirp_devel] [PATCH][QYT-KT8900] Add a newvariant of this radios, fixes #3821
by Pavel Milanes (CO7WT) 15 Jul '16
by Pavel Milanes (CO7WT) 15 Jul '16
15 Jul '16
A new variant of this radios is on the wild, this adds the ID of it to
mange it on Chirp.
73 Pavel CO7WT.
--
73 Pavel CO7WT.
1
0
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings
This patch adds the UV-50X3 DTMF settings.
Also return "elif element.value.get_mutable():" back to its proper position
(it was accidentally moved in the last patch).
related to #3815
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 913151ba56b24329ba21df37f1d7144fb43add65
[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 913151ba56b24329ba21df37f1d7144fb43add65
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson333835530980687043.sh
[workspace] $ /bin/sh -xe /tmp/hudson3863174990318202519.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.048s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./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/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.158s
user 0m7.101s
sys 0m0.043s
================================================
Tests FAILED: driver tests
Build step 'Execute shell' marked build as failure
Email was triggered for: Failure
Sending email for trigger: Failure
2
2
[chirp_devel] [PATCH] [UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings (bug fix)
by Jim Unroe 12 Jul '16
by Jim Unroe 12 Jul '16
12 Jul '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1468380050 14400
# Node ID 68ba2e777e7d1d5f9c7748e7974064cf902fe4c8
# Parent 6084353f3660db779d8c21fefb536048d71c1b50
[UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings (bug fix)
This patch fixes a bug in the UV-50X3 DTMF settings.
related to #3815
diff -r 6084353f3660 -r 68ba2e777e7d chirp/drivers/vgc.py
--- a/chirp/drivers/vgc.py Tue Jul 12 23:20:22 2016 -0400
+++ b/chirp/drivers/vgc.py Tue Jul 12 23:20:50 2016 -0400
@@ -1329,7 +1329,7 @@
setattr(obj, setting, value)
elif setting in ["ttdgt", "ttint", "tt1stdgt"]:
setattr(obj, setting, int(element.value) + 5)
- elif setting == ["tt1stdly", "ttdlyqt"]:
+ elif setting in ["tt1stdly", "ttdlyqt"]:
setattr(obj, setting, int(element.value) + 2)
elif re.match('code\d', setting):
# set dtmf length field and then get bcd dtmf
1
0
[chirp_devel] [PATCH] [UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings
by Jim Unroe 12 Jul '16
by Jim Unroe 12 Jul '16
12 Jul '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1468376645 14400
# Node ID 391dcd66ed35fdcfccc3f7fc4fbd200e86ead745
# Parent 8642a6190d8b790bbd38db174d8c5a69557fd4eb
[UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings
This patch adds the UV-50X3 DTMF settings.
Also return "elif element.value.get_mutable():" back to its proper position
(it was accidentally moved in the last patch).
related to #3815
diff -r 8642a6190d8b -r 391dcd66ed35 chirp/drivers/vgc.py
--- a/chirp/drivers/vgc.py Tue Jul 12 21:05:41 2016 -0400
+++ b/chirp/drivers/vgc.py Tue Jul 12 22:24:05 2016 -0400
@@ -323,6 +323,18 @@
"25.00 KHz", "50.00 KHz", "100.00 KHz", "200.00 KHz"]
LIST_SMODE = ["F-1", "F-2"]
+# DTMF settings lists
+LIST_TTDKEY = ["D code"] + ["Send delay %s s" % x for x in range(1, 17)]
+LIST_TT200 = ["%s ms" % x for x in range(50, 210, 10)]
+LIST_TT1000 = ["%s ms" % x for x in range(100, 1050, 50)]
+LIST_TTSIG = ["Code squelch", "Select call"]
+LIST_TTAUTORST = ["Off"] + ["%s s" % x for x in range(1, 16)]
+LIST_TTGRPCODE = ["Off"] + list("ABCD*#")
+LIST_TTINTCODE = DTMF_CHARS
+LIST_TTALERT = ["Off", "Alert tone", "Transpond", "Transpond-ID code",
+ "Transpond-transpond code"]
+LIST_TTAUTOD = ["%s" % x for x in range(1, 10)]
+
# valid chars on the LCD
VALID_CHARS = chirp_common.CHARSET_ALPHANUMERIC + \
"`{|}!\"#$%&'()*+,-./:;<=>?@[]^_"
@@ -874,6 +886,23 @@
_mem.revert = 0
_mem.dname = 1
+ def _bbcd2dtmf(self, bcdarr, strlen=16):
+ # doing bbcd, but with support for ABCD*#
+ LOG.debug(bcdarr.get_value())
+ string = ''.join("%02X" % b for b in bcdarr)
+ LOG.debug("@_bbcd2dtmf, received: %s" % string)
+ string = string.replace('E', '*').replace('F', '#')
+ if strlen <= 16:
+ string = string[:strlen]
+ return string
+
+ def _dtmf2bbcd(self, value):
+ dtmfstr = value.get_value()
+ dtmfstr = dtmfstr.replace('*', 'E').replace('#', 'F')
+ dtmfstr = str.ljust(dtmfstr.strip(), 16, "F")
+ bcdarr = list(bytearray.fromhex(dtmfstr))
+ LOG.debug("@_dtmf2bbcd, sending: %s" % bcdarr)
+ return bcdarr
def get_settings(self):
"""Translate the bit in the mem_struct into settings in the UI"""
@@ -881,7 +910,8 @@
basic = RadioSettingGroup("basic", "Basic Settings")
other = RadioSettingGroup("other", "Other Settings")
work = RadioSettingGroup("work", "Work Mode Settings")
- top = RadioSettings(basic, other, work)
+ dtmf = RadioSettingGroup("dtmf", "DTMF Settings")
+ top = RadioSettings(basic, other, work, dtmf)
# Basic
@@ -1172,6 +1202,87 @@
_mem.settings.smode]))
work.append(smode)
+ # dtmf
+
+ ttdkey = RadioSetting("dtmf.ttdkey", "D key function",
+ RadioSettingValueList(LIST_TTDKEY, LIST_TTDKEY[
+ _mem.dtmf.ttdkey]))
+ dtmf.append(ttdkey)
+
+ ttdgt = RadioSetting("dtmf.ttdgt", "Digit time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.ttdgt) - 5]))
+ dtmf.append(ttdgt)
+
+ ttint = RadioSetting("dtmf.ttint", "Interval time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.ttint) - 5]))
+ dtmf.append(ttint)
+
+ tt1stdgt = RadioSetting("dtmf.tt1stdgt", "1st digit time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.tt1stdgt) - 5]))
+ dtmf.append(tt1stdgt)
+
+ tt1stdly = RadioSetting("dtmf.tt1stdly", "1st digit delay time",
+ RadioSettingValueList(LIST_TT1000, LIST_TT1000[
+ (_mem.dtmf.tt1stdly) - 2]))
+ dtmf.append(tt1stdly)
+
+ ttdlyqt = RadioSetting("dtmf.ttdlyqt", "Digit delay when use qt",
+ RadioSettingValueList(LIST_TT1000, LIST_TT1000[
+ (_mem.dtmf.ttdlyqt) - 2]))
+ dtmf.append(ttdlyqt)
+
+ ttsig = RadioSetting("dtmf2.ttsig", "Signal",
+ RadioSettingValueList(LIST_TTSIG, LIST_TTSIG[
+ _mem.dtmf2.ttsig]))
+ dtmf.append(ttsig)
+
+ ttautorst = RadioSetting("dtmf2.ttautorst", "Auto reset time",
+ RadioSettingValueList(LIST_TTAUTORST,
+ LIST_TTAUTORST[_mem.dtmf2.ttautorst]))
+ dtmf.append(ttautorst)
+
+ if _mem.dtmf2.ttgrpcode > 0x06:
+ val = 0x00
+ else:
+ val = _mem.dtmf2.ttgrpcode
+ ttgrpcode = RadioSetting("dtmf2.ttgrpcode", "Group code",
+ RadioSettingValueList(LIST_TTGRPCODE,
+ LIST_TTGRPCODE[val]))
+ dtmf.append(ttgrpcode)
+
+ ttintcode = RadioSetting("dtmf2.ttintcode", "Interval code",
+ RadioSettingValueList(LIST_TTINTCODE,
+ LIST_TTINTCODE[_mem.dtmf2.ttintcode]))
+ dtmf.append(ttintcode)
+
+ if _mem.dtmf2.ttalert > 0x04:
+ val = 0x00
+ else:
+ val = _mem.dtmf2.ttalert
+ ttalert = RadioSetting("dtmf2.ttalert", "Alert tone/transpond",
+ RadioSettingValueList(LIST_TTALERT,
+ LIST_TTALERT[val]))
+ dtmf.append(ttalert)
+
+ ttautod = RadioSetting("dtmf.ttautod", "Auto dial group",
+ RadioSettingValueList(LIST_TTAUTOD,
+ LIST_TTAUTOD[_mem.dtmf.ttautod]))
+ dtmf.append(ttautod)
+
+ # setup 9 dtmf autodial entries
+ for i in map(str, range(1, 10)):
+ objname = "code" + i
+ strname = "Code " + str(i)
+ dtmfsetting = getattr(_mem.dtmfcode, objname)
+ dtmflen = getattr(_mem.dtmfcode, objname + "_len")
+ dtmfstr = self._bbcd2dtmf(dtmfsetting, dtmflen)
+ code = RadioSettingValueString(0, 16, dtmfstr)
+ code.set_charset(DTMF_CHARS + list(" "))
+ rs = RadioSetting("dtmfcode." + objname, strname, code)
+ dtmf.append(rs)
return top
def set_settings(self, settings):
@@ -1212,13 +1323,23 @@
setattr(obj, setting, int(element.value) + 1)
elif setting == "wbandb":
setattr(obj, setting, int(element.value) + 4)
- elif element.value.get_mutable():
- LOG.debug("Setting %s = %s" % (setting, element.value))
- setattr(obj, setting, element.value)
elif setting in ["offseta", "offsetb"]:
val = element.value
value = int(val.get_value() * 100)
setattr(obj, setting, value)
+ elif setting in ["ttdgt", "ttint", "tt1stdgt"]:
+ setattr(obj, setting, int(element.value) + 5)
+ elif setting in ["tt1stdly", "ttdlyqt"]:
+ setattr(obj, setting, int(element.value) + 2)
+ elif re.match('code\d', setting):
+ # set dtmf length field and then get bcd dtmf
+ dtmfstrlen = len(str(element.value).strip())
+ setattr(_mem.dtmfcode, setting + "_len", dtmfstrlen)
+ dtmfstr = self._dtmf2bbcd(element.value)
+ setattr(_mem.dtmfcode, setting, dtmfstr)
+ elif element.value.get_mutable():
+ LOG.debug("Setting %s = %s" % (setting, element.value))
+ setattr(obj, setting, element.value)
except Exception, e:
LOG.debug(element.get_name())
raise
2
2
[chirp_devel] [PATCH] [UV-50X3] Add Support for BTech UV-50X3 - Basic Settings(continued)
by Jim Unroe 12 Jul '16
by Jim Unroe 12 Jul '16
12 Jul '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1468376897 14400
# Node ID 1c3906ec7d9a64d8ed3521cb476c2045a8374f19
# Parent 391dcd66ed35fdcfccc3f7fc4fbd200e86ead745
[UV-50X3] Add Support for BTech UV-50X3 - Basic Settings(continued)
This patch adds the remaining UV-50X3 basic settings.
related to #3815
diff -r 391dcd66ed35 -r 1c3906ec7d9a chirp/drivers/vgc.py
--- a/chirp/drivers/vgc.py Tue Jul 12 22:24:05 2016 -0400
+++ b/chirp/drivers/vgc.py Tue Jul 12 22:28:17 2016 -0400
@@ -1095,6 +1095,75 @@
_mem.settings.tot]))
basic.append(tot)
+ # Timer/Clock: G01-G04
+
+ # G01
+ datefmt = RadioSetting("settings.datefmt", "Date format",
+ RadioSettingValueList(LIST_DATEFMT,
+ LIST_DATEFMT[_mem.settings.datefmt]))
+ basic.append(datefmt)
+
+ timefmt = RadioSetting("settings.timefmt", "Time format",
+ RadioSettingValueList(LIST_TIMEFMT,
+ LIST_TIMEFMT[_mem.settings.timefmt]))
+ basic.append(timefmt)
+
+ timesig = RadioSetting("settings.timesig", "Time signal",
+ RadioSettingValueBoolean(_mem.settings.timesig))
+ basic.append(timesig)
+
+ tz = RadioSetting("settings.tz", "Time zone",
+ RadioSettingValueList(LIST_TZ, LIST_TZ[
+ _mem.settings.tz]))
+ basic.append(tz)
+
+ # Signaling: H01-H06
+
+ bell = RadioSetting("settings.bell", "Bell ringer",
+ RadioSettingValueList(LIST_BELL, LIST_BELL[
+ _mem.settings.bell]))
+ basic.append(bell)
+
+ # H02 (per channel)
+
+ dtmfmodenc = RadioSetting("settings.dtmfmodenc", "DTMF mode encode",
+ RadioSettingValueBoolean(
+ _mem.settings.dtmfmodenc))
+ basic.append(dtmfmodenc)
+
+ dtmfmoddec = RadioSetting("settings.dtmfmoddec", "DTMF mode decode",
+ RadioSettingValueBoolean(
+ _mem.settings.dtmfmoddec))
+ basic.append(dtmfmoddec)
+
+ # H04 (per channel)
+
+ decbandsel = RadioSetting("settings.decbandsel", "DTMF band select",
+ RadioSettingValueList(LIST_AB,LIST_AB[
+ _mem.settings.decbandsel]))
+ basic.append(decbandsel)
+
+ sqlexp = RadioSetting("settings.sqlexp", "SQL expansion",
+ RadioSettingValueBoolean(_mem.settings.sqlexp))
+ basic.append(sqlexp)
+
+ # Pkt: I01-I03
+
+ databnd = RadioSetting("settings.databnd", "Packet data band",
+ RadioSettingValueList(LIST_DATABND,LIST_DATABND[
+ _mem.settings.databnd]))
+ basic.append(databnd)
+
+ dataspd = RadioSetting("settings.dataspd", "Packet data speed",
+ RadioSettingValueList(LIST_DATASPD,LIST_DATASPD[
+ _mem.settings.dataspd]))
+ basic.append(dataspd)
+
+ datasql = RadioSetting("settings.datasql", "Packet data squelch",
+ RadioSettingValueList(LIST_DATASQL,LIST_DATASQL[
+ _mem.settings.datasql]))
+ basic.append(datasql)
+
# Other
dw = RadioSetting("settings.dw", "Dual watch",
1
0
[chirp_devel] [PATCH] [UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings
by Jim Unroe 12 Jul '16
by Jim Unroe 12 Jul '16
12 Jul '16
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1468374490 14400
# Node ID e3e3ee579bc0dcde031f8bfd6fc04758cb52ceb8
# Parent 8642a6190d8b790bbd38db174d8c5a69557fd4eb
[UV-50X3] Add Support for BTech UV-50X3 - DTMF Settings
This patch adds the UV-50X3 DTMF settings.
Also return "elif element.value.get_mutable():" back to its proper position
(it was accidentally moved in the last patch).
related to #3815
diff -r 8642a6190d8b -r e3e3ee579bc0 chirp/drivers/vgc.py
--- a/chirp/drivers/vgc.py Tue Jul 12 21:05:41 2016 -0400
+++ b/chirp/drivers/vgc.py Tue Jul 12 21:48:10 2016 -0400
@@ -323,6 +323,18 @@
"25.00 KHz", "50.00 KHz", "100.00 KHz", "200.00 KHz"]
LIST_SMODE = ["F-1", "F-2"]
+# DTMF settings lists
+LIST_TTDKEY = ["D code"] + ["Send delay %s s" % x for x in range(1, 17)]
+LIST_TT200 = ["%s ms" % x for x in range(50, 210, 10)]
+LIST_TT1000 = ["%s ms" % x for x in range(100, 1050, 50)]
+LIST_TTSIG = ["Code squelch", "Select call"]
+LIST_TTAUTORST = ["Off"] + ["%s s" % x for x in range(1, 16)]
+LIST_TTGRPCODE = ["Off"] + list("ABCD*#")
+LIST_TTINTCODE = DTMF_CHARS
+LIST_TTALERT = ["Off", "Alert tone", "Transpond", "Transpond-ID code",
+ "Transpond-transpond code"]
+LIST_TTAUTOD = ["%s" % x for x in range(1, 10)]
+
# valid chars on the LCD
VALID_CHARS = chirp_common.CHARSET_ALPHANUMERIC + \
"`{|}!\"#$%&'()*+,-./:;<=>?@[]^_"
@@ -874,6 +886,23 @@
_mem.revert = 0
_mem.dname = 1
+ def _bbcd2dtmf(self, bcdarr, strlen=16):
+ # doing bbcd, but with support for ABCD*#
+ LOG.debug(bcdarr.get_value())
+ string = ''.join("%02X" % b for b in bcdarr)
+ LOG.debug("@_bbcd2dtmf, received: %s" % string)
+ string = string.replace('E', '*').replace('F', '#')
+ if strlen <= 16:
+ string = string[:strlen]
+ return string
+
+ def _dtmf2bbcd(self, value):
+ dtmfstr = value.get_value()
+ dtmfstr = dtmfstr.replace('*', 'E').replace('#', 'F')
+ dtmfstr = str.ljust(dtmfstr.strip(), 16, "F")
+ bcdarr = list(bytearray.fromhex(dtmfstr))
+ LOG.debug("@_dtmf2bbcd, sending: %s" % bcdarr)
+ return bcdarr
def get_settings(self):
"""Translate the bit in the mem_struct into settings in the UI"""
@@ -881,7 +910,8 @@
basic = RadioSettingGroup("basic", "Basic Settings")
other = RadioSettingGroup("other", "Other Settings")
work = RadioSettingGroup("work", "Work Mode Settings")
- top = RadioSettings(basic, other, work)
+ dtmf = RadioSettingGroup("dtmf", "DTMF Settings")
+ top = RadioSettings(basic, other, work, dtmf)
# Basic
@@ -1172,6 +1202,87 @@
_mem.settings.smode]))
work.append(smode)
+ # dtmf
+
+ ttdkey = RadioSetting("dtmf.ttdkey", "D key function",
+ RadioSettingValueList(LIST_TTDKEY, LIST_TTDKEY[
+ _mem.dtmf.ttdkey]))
+ dtmf.append(ttdkey)
+
+ ttdgt = RadioSetting("dtmf.ttdgt", "Digit time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.ttdgt) - 5]))
+ dtmf.append(ttdgt)
+
+ ttint = RadioSetting("dtmf.ttint", "Interval time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.ttint) - 5]))
+ dtmf.append(ttint)
+
+ tt1stdgt = RadioSetting("dtmf.tt1stdgt", "1st digit time",
+ RadioSettingValueList(LIST_TT200, LIST_TT200[
+ (_mem.dtmf.tt1stdgt) - 5]))
+ dtmf.append(tt1stdgt)
+
+ tt1stdly = RadioSetting("dtmf.tt1stdly", "1st digit delay time",
+ RadioSettingValueList(LIST_TT1000, LIST_TT1000[
+ (_mem.dtmf.tt1stdly) - 2]))
+ dtmf.append(tt1stdly)
+
+ ttdlyqt = RadioSetting("dtmf.ttdlyqt", "Digit delay when use qt",
+ RadioSettingValueList(LIST_TT1000, LIST_TT1000[
+ (_mem.dtmf.ttdlyqt) - 2]))
+ dtmf.append(ttdlyqt)
+
+ ttsig = RadioSetting("dtmf2.ttsig", "Signal",
+ RadioSettingValueList(LIST_TTSIG, LIST_TTSIG[
+ _mem.dtmf2.ttsig]))
+ dtmf.append(ttsig)
+
+ ttautorst = RadioSetting("dtmf2.ttautorst", "Auto reset time",
+ RadioSettingValueList(LIST_TTAUTORST,
+ LIST_TTAUTORST[_mem.dtmf2.ttautorst]))
+ dtmf.append(ttautorst)
+
+ if _mem.dtmf2.ttgrpcode > 0x06:
+ val = 0x00
+ else:
+ val = _mem.dtmf2.ttgrpcode
+ ttgrpcode = RadioSetting("dtmf2.ttgrpcode", "Group code",
+ RadioSettingValueList(LIST_TTGRPCODE,
+ LIST_TTGRPCODE[val]))
+ dtmf.append(ttgrpcode)
+
+ ttintcode = RadioSetting("dtmf2.ttintcode", "Interval code",
+ RadioSettingValueList(LIST_TTINTCODE,
+ LIST_TTINTCODE[_mem.dtmf2.ttintcode]))
+ dtmf.append(ttintcode)
+
+ if _mem.dtmf2.ttalert > 0x04:
+ val = 0x00
+ else:
+ val = _mem.dtmf2.ttalert
+ ttalert = RadioSetting("dtmf2.ttalert", "Alert tone/transpond",
+ RadioSettingValueList(LIST_TTALERT,
+ LIST_TTALERT[val]))
+ dtmf.append(ttalert)
+
+ ttautod = RadioSetting("dtmf.ttautod", "Auto dial group",
+ RadioSettingValueList(LIST_TTAUTOD,
+ LIST_TTAUTOD[_mem.dtmf.ttautod]))
+ dtmf.append(ttautod)
+
+ # setup 9 dtmf autodial entries
+ for i in map(str, range(1, 10)):
+ objname = "code" + i
+ strname = "Code " + str(i)
+ dtmfsetting = getattr(_mem.dtmfcode, objname)
+ dtmflen = getattr(_mem.dtmfcode, objname + "_len")
+ dtmfstr = self._bbcd2dtmf(dtmfsetting, dtmflen)
+ code = RadioSettingValueString(0, 16, dtmfstr)
+ code.set_charset(DTMF_CHARS + list(" "))
+ rs = RadioSetting("dtmfcode." + objname, strname, code)
+ dtmf.append(rs)
return top
def set_settings(self, settings):
@@ -1212,13 +1323,23 @@
setattr(obj, setting, int(element.value) + 1)
elif setting == "wbandb":
setattr(obj, setting, int(element.value) + 4)
- elif element.value.get_mutable():
- LOG.debug("Setting %s = %s" % (setting, element.value))
- setattr(obj, setting, element.value)
elif setting in ["offseta", "offsetb"]:
val = element.value
value = int(val.get_value() * 100)
setattr(obj, setting, value)
+ elif setting in ["ttdgt", "ttint", "tt1stdgt"]:
+ setattr(obj, setting, int(element.value) + 5)
+ elif setting == ["tt1stdly", "ttdlyqt"]:
+ setattr(obj, setting, int(element.value) + 2)
+ elif re.match('code\d', setting):
+ # set dtmf length field and then get bcd dtmf
+ dtmfstrlen = len(str(element.value).strip())
+ setattr(_mem.dtmfcode, setting + "_len", dtmfstrlen)
+ dtmfstr = self._dtmf2bbcd(element.value)
+ setattr(_mem.dtmfcode, setting, dtmfstr)
+ elif element.value.get_mutable():
+ LOG.debug("Setting %s = %s" % (setting, element.value))
+ setattr(obj, setting, element.value)
except Exception, e:
LOG.debug(element.get_name())
raise
1
1
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-50X3] Add Support for BTech UV-50X3 - Work Mode Settings
This patch adds the UV-50X3 work mode settings.
related to #3815
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 45370f0324063b93549e1f1e291969cd4eab20f6
[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 45370f0324063b93549e1f1e291969cd4eab20f6
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson3898788285698798606.sh
[workspace] $ /bin/sh -xe /tmp/hudson5255117845099566365.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.049s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/drivers/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/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.122s
user 0m7.085s
sys 0m0.022s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2016-07-12 18:32:39,089] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 14.04.4 LTS (Python 2.7.6)
[2016-07-12 18:32:39,098] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2016-07-12 18:32:39,098] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2016-07-12 18:32:39,099] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2016-07-12 18:32:39,100] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2016-07-12 18:32:39,101] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2016-07-12 18:32:39,102] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2016-07-12 18:32:39,103] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2016-07-12 18:32:39,103] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2016-07-12 18:32:39,103] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2016-07-12 18:32:39,104] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2016-07-12 18:32:39,104] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2016-07-12 18:32:39,104] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2016-07-12 18:32:39,105] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2016-07-12 18:32:39,106] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2016-07-12 18:32:39,107] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2016-07-12 18:32:39,108] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2016-07-12 18:32:39,108] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2016-07-12 18:32:39,109] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2016-07-12 18:32:39,109] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2016-07-12 18:32:39,110] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2016-07-12 18:32:39,110] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2016-07-12 18:32:39,110] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2016-07-12 18:32:39,110] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2016-07-12 18:32:39,111] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2016-07-12 18:32:39,111] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2016-07-12 18:32:39,111] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2016-07-12 18:32:39,111] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2016-07-12 18:32:39,112] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2016-07-12 18:32:39,112] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2016-07-12 18:32:39,112] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2016-07-12 18:32:39,112] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2016-07-12 18:32:39,113] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2016-07-12 18:32:39,113] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2016-07-12 18:32:39,113] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2016-07-12 18:32:39,113] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2016-07-12 18:32:39,119] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2016-07-12 18:32:39,122] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2016-07-12 18:32:39,122] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2016-07-12 18:32:39,123] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2016-07-12 18:32:39,123] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2016-07-12 18:32:39,123] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2016-07-12 18:32:39,123] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2016-07-12 18:32:39,123] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2016-07-12 18:32:39,124] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2016-07-12 18:32:39,124] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2016-07-12 18:32:39,124] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2016-07-12 18:32:39,124] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2016-07-12 18:32:39,125] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2016-07-12 18:32:39,125] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2016-07-12 18:32:39,125] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2016-07-12 18:32:39,125] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2016-07-12 18:32:39,126] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2016-07-12 18:32:39,127] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2016-07-12 18:32:39,127] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2016-07-12 18:32:39,127] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2016-07-12 18:32:39,128] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2016-07-12 18:32:39,128] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2016-07-12 18:32:39,128] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2016-07-12 18:32:39,128] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2016-07-12 18:32:39,129] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2016-07-12 18:32:39,130] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2016-07-12 18:32:39,130] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2016-07-12 18:32:39,130] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2016-07-12 18:32:39,131] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2016-07-12 18:32:39,132] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2016-07-12 18:32:39,132] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2016-07-12 18:32:39,132] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2016-07-12 18:32:39,133] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2016-07-12 18:32:39,134] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2016-07-12 18:32:39,135] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2016-07-12 18:32:39,135] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2016-07-12 18:32:39,135] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2016-07-12 18:32:39,135] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2016-07-12 18:32:39,136] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2016-07-12 18:32:39,137] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2016-07-12 18:32:39,137] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2016-07-12 18:32:39,138] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2016-07-12 18:32:39,138] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2016-07-12 18:32:39,138] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2016-07-12 18:32:39,138] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2016-07-12 18:32:39,139] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2016-07-12 18:32:39,139] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2016-07-12 18:32:39,139] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2016-07-12 18:32:39,140] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2016-07-12 18:32:39,140] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2016-07-12 18:32:39,140] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2016-07-12 18:32:39,140] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
+ rm /tmp/Alinco_DJ175_UMcQqn.img /tmp/Alinco_DJ596_37hj9d.img /tmp/Alinco_DR235T_Gppkgj.img /tmp/AnyTone_OBLTR-8R__Wk4dd.img /tmp/AnyTone_TERMN-8R_eEiSa9.img /tmp/BTECH_UV-2501+220_gygumu.img /tmp/BTECH_UV-5001_sgy_GL.img /tmp/BTECH_UV-50X3_3FJvHY.img /tmp/BTECH_UV-50X3_fha5ar.img /tmp/BTECH_UV-50X3_lxlHlv.img /tmp/Baofeng_BF-888_G2J6LJ.img /tmp/Baofeng_F-11_ZgW5Mb.img /tmp/Baofeng_UV-3R_dn1DMI.img /tmp/Baofeng_UV-5R_xVUWJC.img /tmp/Baofeng_UV-B5_5FTr8m.img /tmp/Baojie_BJ-9900_4pBrAn.img /tmp/Baojie_BJ-9900_KJ4dM9.img /tmp/Baojie_BJ-9900_T5a4Kz.img /tmp/Feidaxin_FD-268A_ZvCKdc.img /tmp/Feidaxin_FD-268B_cdLx6g.img /tmp/Feidaxin_FD-288B_KeBwod.img /tmp/Icom_IC-208H_VUvnAf.img /tmp/Icom_IC-2100H_UR86Di.img /tmp/Icom_IC-2200H_NcTSCs.img /tmp/Icom_IC-2720H_2cWeud.img /tmp/Icom_IC-2820H_QvaI63.img /tmp/Icom_IC-Q7A_KA3ghu.img /tmp/Icom_IC-T70_ivqwwk.img /tmp/Icom_IC-T7H_63wwIg.img /tmp/Icom_IC-T8A_GwYReG.img /tmp/Icom_IC-V82_U82_pyXq18.img /tmp/Icom_IC-W32A_WDxXx4.img /tmp/Icom_IC-W32A_dqu4KK.img /tmp/Icom_IC-W32A_eEhLjV.img /tmp/Icom_IC-W32E_JTOWgh.img /tmp/Icom_IC-W32E_WDneds.img /tmp/Icom_IC-W32E_gV4n_n.img /tmp/Icom_ID-31A_St8ZIU.img /tmp/Icom_ID-51 Plus_2KeIaK.img /tmp/Icom_ID-51_uFM1dp.img /tmp/Icom_ID-800H_WCOpnU.img /tmp/Icom_ID-880H_8HUT3P.img /tmp/Jetstream_JT220M_axMHUk.img /tmp/Jetstream_JT270M_yY9xa1.img /tmp/KYD_IP-620_LbJLyC.img /tmp/Kenwood_TH-D72 (clone mode)_fNPQJ6.img /tmp/Kenwood_TK-272G_jaT4CX.img /tmp/Kenwood_TK-760G_EENIpz.img /tmp/Kenwood_TK-8102_stcns8.img /tmp/Leixen_VV-898_CaPRyH.img /tmp/Polmar_DB-50M_k5n1Rt.img /tmp/Puxing_PX-2R_ExAZgS.img /tmp/Puxing_PX-777_1HdJ0d.img /tmp/TYT_TH-7800_Vc6pdL.img /tmp/TYT_TH-9800_9hiOy3.img /tmp/TYT_TH-UV3R-25_fF8KJi.img /tmp/TYT_TH-UV3R_5ltRBi.img /tmp/TYT_TH-UVF1_E_vLRT.img /tmp/TYT_TH9000_144_AJiCqf.img /tmp/Vertex Standard_VXA-700_FAHl8q.img /tmp/WACCOM_MINI-8900_US3_k8.img /tmp/Wouxun_KG-816_4IkR8a.img /tmp/Wouxun_KG-818_9QCdBS.img /tmp/Wouxun_KG-UV6_a808Hh.img /tmp/Wouxun_KG-UV8D_U3usus.img /tmp/Wouxun_KG-UVD1P_36icox.img /tmp/Yaesu_FT-1802M_FkyyuR.img /tmp/Yaesu_FT-1D_0P_27B.img /tmp/Yaesu_FT-2800M_IGW5nm.img /tmp/Yaesu_FT-2900R_1900R_zR5lc_.img /tmp/Yaesu_FT-50_Ekq10H.img /tmp/Yaesu_FT-60_H2EF0J.img /tmp/Yaesu_FT-7800_7900_IkJOjS.img /tmp/Yaesu_FT-817ND (US)_2sfx8v.img /tmp/Yaesu_FT-817ND_NKt8QQ.img /tmp/Yaesu_FT-817_tVxjpA.img /tmp/Yaesu_FT-857_897 (US)_QTcV8T.img /tmp/Yaesu_FT-857_897_iHYnQ6.img /tmp/Yaesu_FT-8800_Gq1Xsm.img /tmp/Yaesu_FT-8800_QtxqRp.img /tmp/Yaesu_FT-8800_hPFi53.img /tmp/Yaesu_FT-8900_7ANM0p.img /tmp/Yaesu_FTM-350_F7nme9.img /tmp/Yaesu_FTM-350_TvilAo.img /tmp/Yaesu_FTM-350_XKJyv8.img /tmp/Yaesu_VX-2_yRfRPw.img /tmp/Yaesu_VX-3_Vttk4M.img /tmp/Yaesu_VX-5_ZkExPd.img /tmp/Yaesu_VX-6_ZB_uvU.img /tmp/Yaesu_VX-7_LRkCOT.img /tmp/Yaesu_VX-8_kYdjQp.img
Email was triggered for: Success
Sending email for trigger: Success
1
0