Developers
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- 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
- 3 participants
- 2972 discussions
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [RT-21] DTCS Bug in Retevis RT-21 Driver
This patch addresses the bug where the DTCS Tone value can't
but updated when Tone Mode is set to DTCS.
Related to #4585
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev e1113c7da2f3eb00a5b1585ea92a8d164df0d60b
[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 e1113c7da2f3eb00a5b1585ea92a8d164df0d60b
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson3137555569444552943.sh
[workspace] $ /bin/sh -xe /tmp/hudson1389029215653583565.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.050s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/platform.py:255:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1909:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1965:80: E501 line too long (82 > 79 characters)
real 0m7.335s
user 0m7.304s
sys 0m0.020s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2017-03-08 16:49:07,659] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2017-03-08 16:49:07,695] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2017-03-08 16:49:07,696] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2017-03-08 16:49:07,697] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2017-03-08 16:49:07,697] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2017-03-08 16:49:07,697] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2017-03-08 16:49:07,697] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2017-03-08 16:49:07,699] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2017-03-08 16:49:07,700] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2017-03-08 16:49:07,701] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2017-03-08 16:49:07,701] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2017-03-08 16:49:07,702] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2017-03-08 16:49:07,702] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2017-03-08 16:49:07,702] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2017-03-08 16:49:07,702] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2017-03-08 16:49:07,702] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2017-03-08 16:49:07,703] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2017-03-08 16:49:07,703] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2017-03-08 16:49:07,703] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2017-03-08 16:49:07,703] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2017-03-08 16:49:07,704] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2017-03-08 16:49:07,704] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2017-03-08 16:49:07,704] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2017-03-08 16:49:07,704] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2017-03-08 16:49:07,704] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2017-03-08 16:49:07,705] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered QYT_KT7900D = KT7900D
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered QYT_KT8900D = KT8900D
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2017-03-08 16:49:07,706] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2017-03-08 16:49:07,707] chirp.directory - INFO: Registered Feidaxin_FD-460UH = FD460UHRadio
[2017-03-08 16:49:07,707] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2017-03-08 16:49:07,708] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2017-03-08 16:49:07,708] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2017-03-08 16:49:07,708] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2017-03-08 16:49:07,709] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2017-03-08 16:49:07,709] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2017-03-08 16:49:07,710] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2017-03-08 16:49:07,711] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2017-03-08 16:49:07,711] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2017-03-08 16:49:07,711] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2017-03-08 16:49:07,711] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2017-03-08 16:49:07,712] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2017-03-08 16:49:07,712] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2017-03-08 16:49:07,712] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2017-03-08 16:49:07,713] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2017-03-08 16:49:07,713] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2017-03-08 16:49:07,720] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2017-03-08 16:49:07,720] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2017-03-08 16:49:07,724] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2017-03-08 16:49:07,724] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2017-03-08 16:49:07,724] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2017-03-08 16:49:07,724] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2017-03-08 16:49:07,725] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2017-03-08 16:49:07,725] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2017-03-08 16:49:07,725] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2017-03-08 16:49:07,725] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2017-03-08 16:49:07,726] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2017-03-08 16:49:07,726] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2017-03-08 16:49:07,726] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2017-03-08 16:49:07,726] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2017-03-08 16:49:07,726] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2017-03-08 16:49:07,727] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2017-03-08 16:49:07,727] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2017-03-08 16:49:07,727] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2017-03-08 16:49:07,727] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2017-03-08 16:49:07,728] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2017-03-08 16:49:07,728] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2017-03-08 16:49:07,728] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2017-03-08 16:49:07,728] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2017-03-08 16:49:07,728] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2017-03-08 16:49:07,729] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2017-03-08 16:49:07,729] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2017-03-08 16:49:07,729] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2017-03-08 16:49:07,730] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2017-03-08 16:49:07,730] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2017-03-08 16:49:07,730] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2017-03-08 16:49:07,730] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2017-03-08 16:49:07,730] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2017-03-08 16:49:07,731] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2017-03-08 16:49:07,732] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2017-03-08 16:49:07,733] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2017-03-08 16:49:07,733] chirp.directory - INFO: Registered Retevis_RT1 = RT1Radio
[2017-03-08 16:49:07,734] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2017-03-08 16:49:07,734] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2017-03-08 16:49:07,734] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2017-03-08 16:49:07,734] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2017-03-08 16:49:07,734] chirp.directory - INFO: Registered LUITON_LT-316 = LT316
[2017-03-08 16:49:07,735] chirp.directory - INFO: Registered TDXone_TD-Q8A = TDXoneTDQ8A
[2017-03-08 16:49:07,735] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2017-03-08 16:49:07,735] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2017-03-08 16:49:07,736] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2017-03-08 16:49:07,737] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2017-03-08 16:49:07,737] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2017-03-08 16:49:07,737] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2017-03-08 16:49:07,737] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2017-03-08 16:49:07,738] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2017-03-08 16:49:07,739] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2017-03-08 16:49:07,740] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2017-03-08 16:49:07,741] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2017-03-08 16:49:07,742] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2017-03-08 16:49:07,742] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2017-03-08 16:49:07,743] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2017-03-08 16:49:07,743] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2017-03-08 16:49:07,744] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2017-03-08 16:49:07,744] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2017-03-08 16:49:07,744] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2017-03-08 16:49:07,744] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2017-03-08 16:49:07,745] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2017-03-08 16:49:07,745] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2017-03-08 16:49:07,745] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2017-03-08 16:49:07,746] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2017-03-08 16:49:07,746] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2017-03-08 16:49:07,746] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2017-03-08 16:49:07,746] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1489018575 18000
# Node ID 26f6ee20b94822e7783d5f70f36c82ab03defb46
# Parent e1113c7da2f3eb00a5b1585ea92a8d164df0d60b
[RT-21] DTCS Bug in Retevis RT-21 Driver
This patch addresses the bug where the DTCS Tone value can't
but updated when Tone Mode is set to DTCS.
Related to #4585
diff -r e1113c7da2f3 -r 26f6ee20b948 chirp/drivers/retevis_rt21.py
--- a/chirp/drivers/retevis_rt21.py Wed Mar 08 15:05:23 2017 -0800
+++ b/chirp/drivers/retevis_rt21.py Wed Mar 08 19:16:15 2017 -0500
@@ -386,30 +386,33 @@
val += 0x8000
return val
- if mem.tmode == "Cross":
+ rx_mode = tx_mode = None
+ rx_tone = tx_tone = 0xFFFF
+
+ if mem.tmode == "Tone":
+ tx_mode = "Tone"
+ rx_mode = None
+ tx_tone = int(mem.rtone * 10)
+ elif mem.tmode == "TSQL":
+ rx_mode = tx_mode = "Tone"
+ rx_tone = tx_tone = int(mem.ctone * 10)
+ elif mem.tmode == "DTCS":
+ tx_mode = rx_mode = "DTCS"
+ tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ rx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[1])
+ elif mem.tmode == "Cross":
tx_mode, rx_mode = mem.cross_mode.split("->")
- elif mem.tmode == "Tone":
- tx_mode = mem.tmode
- rx_mode = None
- else:
- tx_mode = rx_mode = mem.tmode
+ if tx_mode == "DTCS":
+ tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ elif tx_mode == "Tone":
+ tx_tone = int(mem.rtone * 10)
+ if rx_mode == "DTCS":
+ rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
+ elif rx_mode == "Tone":
+ rx_tone = int(mem.ctone * 10)
- if tx_mode == "DTCS":
- _mem.tx_tone = mem.tmode != "DTCS" and \
- _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) or \
- _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[0])
- elif tx_mode:
- _mem.tx_tone = tx_mode == "Tone" and \
- int(mem.rtone * 10) or int(mem.ctone * 10)
- else:
- _mem.tx_tone = 0xFFFF
-
- if rx_mode == "DTCS":
- _mem.rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
- elif rx_mode:
- _mem.rx_tone = int(mem.ctone * 10)
- else:
- _mem.rx_tone = 0xFFFF
+ _mem.rx_tone = rx_tone
+ _mem.tx_tone = tx_tone
LOG.debug("Set TX %s (%i) RX %s (%i)" %
(tx_mode, _mem.tx_tone, rx_mode, _mem.rx_tone))
1
0
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [KT7900D/KT8900D] Correct Typo
This patch corrects a typo that incorrectly references the
KT8900D model when it should be the KT7900D model.
related to #4269
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 61ddec42ac98a7db2568b5233beb206bbff9a926
[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 61ddec42ac98a7db2568b5233beb206bbff9a926
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson967595548032148841.sh
[workspace] $ /bin/sh -xe /tmp/hudson1225134214070641906.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.053s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/platform.py:255:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1909:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1965:80: E501 line too long (82 > 79 characters)
real 0m7.966s
user 0m7.848s
sys 0m0.036s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2017-03-08 07:39:12,319] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2017-03-08 07:39:12,355] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2017-03-08 07:39:12,356] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2017-03-08 07:39:12,357] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2017-03-08 07:39:12,360] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2017-03-08 07:39:12,360] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2017-03-08 07:39:12,360] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2017-03-08 07:39:12,361] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2017-03-08 07:39:12,362] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2017-03-08 07:39:12,362] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2017-03-08 07:39:12,362] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2017-03-08 07:39:12,362] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2017-03-08 07:39:12,363] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2017-03-08 07:39:12,363] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2017-03-08 07:39:12,363] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2017-03-08 07:39:12,363] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2017-03-08 07:39:12,363] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2017-03-08 07:39:12,364] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2017-03-08 07:39:12,364] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2017-03-08 07:39:12,365] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2017-03-08 07:39:12,366] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered QYT_KT7900D = KT7900D
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered QYT_KT8900D = KT8900D
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2017-03-08 07:39:12,367] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2017-03-08 07:39:12,368] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2017-03-08 07:39:12,368] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2017-03-08 07:39:12,368] chirp.directory - INFO: Registered Feidaxin_FD-460UH = FD460UHRadio
[2017-03-08 07:39:12,368] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2017-03-08 07:39:12,369] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2017-03-08 07:39:12,369] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2017-03-08 07:39:12,369] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2017-03-08 07:39:12,370] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2017-03-08 07:39:12,370] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2017-03-08 07:39:12,371] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2017-03-08 07:39:12,371] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2017-03-08 07:39:12,371] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2017-03-08 07:39:12,371] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2017-03-08 07:39:12,371] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2017-03-08 07:39:12,372] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2017-03-08 07:39:12,372] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2017-03-08 07:39:12,372] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2017-03-08 07:39:12,372] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2017-03-08 07:39:12,372] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2017-03-08 07:39:12,373] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2017-03-08 07:39:12,373] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2017-03-08 07:39:12,373] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2017-03-08 07:39:12,373] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2017-03-08 07:39:12,374] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2017-03-08 07:39:12,381] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2017-03-08 07:39:12,381] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2017-03-08 07:39:12,384] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2017-03-08 07:39:12,385] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2017-03-08 07:39:12,385] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2017-03-08 07:39:12,385] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2017-03-08 07:39:12,385] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2017-03-08 07:39:12,385] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2017-03-08 07:39:12,386] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2017-03-08 07:39:12,386] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2017-03-08 07:39:12,386] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2017-03-08 07:39:12,387] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2017-03-08 07:39:12,387] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2017-03-08 07:39:12,387] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2017-03-08 07:39:12,387] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2017-03-08 07:39:12,387] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2017-03-08 07:39:12,388] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2017-03-08 07:39:12,388] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2017-03-08 07:39:12,388] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2017-03-08 07:39:12,388] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2017-03-08 07:39:12,388] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2017-03-08 07:39:12,389] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2017-03-08 07:39:12,389] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2017-03-08 07:39:12,389] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2017-03-08 07:39:12,389] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2017-03-08 07:39:12,390] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2017-03-08 07:39:12,390] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2017-03-08 07:39:12,390] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2017-03-08 07:39:12,391] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2017-03-08 07:39:12,391] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2017-03-08 07:39:12,391] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2017-03-08 07:39:12,391] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2017-03-08 07:39:12,391] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2017-03-08 07:39:12,392] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2017-03-08 07:39:12,393] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2017-03-08 07:39:12,393] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2017-03-08 07:39:12,393] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2017-03-08 07:39:12,393] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2017-03-08 07:39:12,393] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2017-03-08 07:39:12,394] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2017-03-08 07:39:12,394] chirp.directory - INFO: Registered Retevis_RT1 = RT1Radio
[2017-03-08 07:39:12,394] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2017-03-08 07:39:12,394] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2017-03-08 07:39:12,395] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2017-03-08 07:39:12,395] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2017-03-08 07:39:12,395] chirp.directory - INFO: Registered LUITON_LT-316 = LT316
[2017-03-08 07:39:12,395] chirp.directory - INFO: Registered TDXone_TD-Q8A = TDXoneTDQ8A
[2017-03-08 07:39:12,396] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2017-03-08 07:39:12,396] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2017-03-08 07:39:12,396] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2017-03-08 07:39:12,396] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2017-03-08 07:39:12,396] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2017-03-08 07:39:12,397] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2017-03-08 07:39:12,397] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2017-03-08 07:39:12,397] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2017-03-08 07:39:12,397] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2017-03-08 07:39:12,397] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2017-03-08 07:39:12,398] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2017-03-08 07:39:12,398] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2017-03-08 07:39:12,398] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2017-03-08 07:39:12,398] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2017-03-08 07:39:12,399] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2017-03-08 07:39:12,400] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2017-03-08 07:39:12,401] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2017-03-08 07:39:12,402] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2017-03-08 07:39:12,402] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2017-03-08 07:39:12,402] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2017-03-08 07:39:12,402] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2017-03-08 07:39:12,402] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2017-03-08 07:39:12,403] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2017-03-08 07:39:12,403] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2017-03-08 07:39:12,403] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2017-03-08 07:39:12,404] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2017-03-08 07:39:12,404] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2017-03-08 07:39:12,404] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2017-03-08 07:39:12,405] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2017-03-08 07:39:12,405] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2017-03-08 07:39:12,405] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2017-03-08 07:39:12,406] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2017-03-08 07:39:12,406] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2017-03-08 07:39:12,406] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2017-03-08 07:39:12,407] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2017-03-08 07:39:12,407] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2017-03-08 07:39:12,407] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1488937923 18000
# Node ID fd21a61b30264aca28e6a772d902a77de69adf1a
# Parent 61ddec42ac98a7db2568b5233beb206bbff9a926
[KT7900D/KT8900D] Correct Typo
This patch corrects a typo that incorrectly references the
KT8900D model when it should be the KT7900D model.
related to #4269
diff -r 61ddec42ac98 -r fd21a61b3026 chirp/drivers/btech.py
--- a/chirp/drivers/btech.py Tue Mar 07 16:42:11 2017 -0800
+++ b/chirp/drivers/btech.py Tue Mar 07 20:52:03 2017 -0500
@@ -3537,7 +3537,7 @@
LOG.info("Radio ranges: UHF %d to %d" % uhf)
# the additional bands
- if self.MODEL in ["KT8900D", ]:
+ if self.MODEL in ["KT7900D", ]:
# 200Mhz band
vhf2 = _decode_ranges(ranges.vhf2_low, ranges.vhf2_high)
LOG.info("Radio ranges: VHF(220) %d to %d" % vhf2)
1
0
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Add Rugged RH5R and RH5X aliases
#4597
[Dan Smith <dsmith(a)danplanet.com>] Revert recent patch to alias-ify RT22 variants
Aso make the new driver a proper subclass like the rest. Jim
explained that the RT22 driver behaves differently from most,
in that it appends the model used to download to the end of the
image for detection reasons, and this broke that.
related to bug #4551
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev f8861bb7de38718e5dff8fbdd1f823cd1ab8cf98
[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 f8861bb7de38718e5dff8fbdd1f823cd1ab8cf98
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson4047835183179346394.sh
[workspace] $ /bin/sh -xe /tmp/hudson3860538751632145934.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.050s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/platform.py:255:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1909:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1965:80: E501 line too long (82 > 79 characters)
real 0m7.656s
user 0m7.528s
sys 0m0.036s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2017-03-07 16:49:10,407] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2017-03-07 16:49:10,444] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2017-03-07 16:49:10,445] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2017-03-07 16:49:10,446] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2017-03-07 16:49:10,446] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2017-03-07 16:49:10,446] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2017-03-07 16:49:10,448] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2017-03-07 16:49:10,448] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2017-03-07 16:49:10,448] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2017-03-07 16:49:10,448] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2017-03-07 16:49:10,449] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2017-03-07 16:49:10,450] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2017-03-07 16:49:10,450] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2017-03-07 16:49:10,450] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2017-03-07 16:49:10,451] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2017-03-07 16:49:10,451] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2017-03-07 16:49:10,451] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2017-03-07 16:49:10,451] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2017-03-07 16:49:10,451] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2017-03-07 16:49:10,452] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2017-03-07 16:49:10,452] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2017-03-07 16:49:10,452] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2017-03-07 16:49:10,453] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2017-03-07 16:49:10,454] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered QYT_KT7900D = KT7900D
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered QYT_KT8900D = KT8900D
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2017-03-07 16:49:10,455] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2017-03-07 16:49:10,456] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2017-03-07 16:49:10,456] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2017-03-07 16:49:10,456] chirp.directory - INFO: Registered Feidaxin_FD-460UH = FD460UHRadio
[2017-03-07 16:49:10,456] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2017-03-07 16:49:10,457] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2017-03-07 16:49:10,457] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2017-03-07 16:49:10,458] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2017-03-07 16:49:10,458] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2017-03-07 16:49:10,458] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2017-03-07 16:49:10,459] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2017-03-07 16:49:10,459] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2017-03-07 16:49:10,459] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2017-03-07 16:49:10,459] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2017-03-07 16:49:10,459] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2017-03-07 16:49:10,460] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2017-03-07 16:49:10,460] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2017-03-07 16:49:10,460] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2017-03-07 16:49:10,460] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2017-03-07 16:49:10,460] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2017-03-07 16:49:10,461] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2017-03-07 16:49:10,461] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2017-03-07 16:49:10,462] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2017-03-07 16:49:10,462] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2017-03-07 16:49:10,462] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2017-03-07 16:49:10,469] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2017-03-07 16:49:10,469] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2017-03-07 16:49:10,473] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2017-03-07 16:49:10,473] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2017-03-07 16:49:10,473] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2017-03-07 16:49:10,473] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2017-03-07 16:49:10,473] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2017-03-07 16:49:10,474] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2017-03-07 16:49:10,474] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2017-03-07 16:49:10,474] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2017-03-07 16:49:10,475] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2017-03-07 16:49:10,476] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2017-03-07 16:49:10,476] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2017-03-07 16:49:10,476] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2017-03-07 16:49:10,476] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2017-03-07 16:49:10,477] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2017-03-07 16:49:10,477] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2017-03-07 16:49:10,477] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2017-03-07 16:49:10,477] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2017-03-07 16:49:10,477] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2017-03-07 16:49:10,478] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2017-03-07 16:49:10,478] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2017-03-07 16:49:10,478] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2017-03-07 16:49:10,479] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2017-03-07 16:49:10,479] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2017-03-07 16:49:10,479] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2017-03-07 16:49:10,479] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2017-03-07 16:49:10,479] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2017-03-07 16:49:10,480] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2017-03-07 16:49:10,481] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2017-03-07 16:49:10,481] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2017-03-07 16:49:10,481] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2017-03-07 16:49:10,481] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2017-03-07 16:49:10,481] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2017-03-07 16:49:10,482] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2017-03-07 16:49:10,482] chirp.directory - INFO: Registered Retevis_RT1 = RT1Radio
[2017-03-07 16:49:10,482] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2017-03-07 16:49:10,483] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2017-03-07 16:49:10,483] chirp.directory - INFO: Registered WLN_KD-C1 = KDC1
[2017-03-07 16:49:10,483] chirp.directory - INFO: Registered Zastone_ZT-X6 = ZTX6
[2017-03-07 16:49:10,483] chirp.directory - INFO: Registered LUITON_LT-316 = LT316
[2017-03-07 16:49:10,483] chirp.directory - INFO: Registered TDXone_TD-Q8A = TDXoneTDQ8A
[2017-03-07 16:49:10,484] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2017-03-07 16:49:10,484] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2017-03-07 16:49:10,484] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2017-03-07 16:49:10,484] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2017-03-07 16:49:10,484] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2017-03-07 16:49:10,485] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2017-03-07 16:49:10,485] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2017-03-07 16:49:10,485] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2017-03-07 16:49:10,485] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2017-03-07 16:49:10,486] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2017-03-07 16:49:10,486] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2017-03-07 16:49:10,486] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2017-03-07 16:49:10,486] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2017-03-07 16:49:10,487] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2017-03-07 16:49:10,488] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2017-03-07 16:49:10,489] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2017-03-07 16:49:10,490] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2017-03-07 16:49:10,491] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2017-03-07 16:49:10,491] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2017-03-07 16:49:10,491] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2017-03-07 16:49:10,492] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2017-03-07 16:49:10,492] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2017-03-07 16:49:10,492] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2017-03-07 16:49:10,493] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2017-03-07 16:49:10,493] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2017-03-07 16:49:10,493] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2017-03-07 16:49:10,494] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2017-03-07 16:49:10,494] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2017-03-07 16:49:10,494] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2017-03-07 16:49:10,495] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2017-03-07 16:49:10,495] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2017-03-07 16:49:10,495] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Add TD-M8 alias and clean up other RT22 variants
Patch from Sid Hayn on bug #4551
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 0611c6c740ab74c0d939634765a52ebc2b5a8497
[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 0611c6c740ab74c0d939634765a52ebc2b5a8497
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson4370910948636654752.sh
[workspace] $ /bin/sh -xe /tmp/hudson4035772512429906425.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.054s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/platform.py:255:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1909:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1965:80: E501 line too long (82 > 79 characters)
real 0m7.647s
user 0m7.524s
sys 0m0.048s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2017-02-21 14:39:04,795] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2017-02-21 14:39:04,831] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2017-02-21 14:39:04,832] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2017-02-21 14:39:04,833] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2017-02-21 14:39:04,836] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2017-02-21 14:39:04,837] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2017-02-21 14:39:04,838] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2017-02-21 14:39:04,838] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2017-02-21 14:39:04,839] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2017-02-21 14:39:04,839] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2017-02-21 14:39:04,839] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2017-02-21 14:39:04,839] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2017-02-21 14:39:04,839] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2017-02-21 14:39:04,840] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2017-02-21 14:39:04,841] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2017-02-21 14:39:04,841] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2017-02-21 14:39:04,841] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2017-02-21 14:39:04,842] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Feidaxin_FD-460UH = FD460UHRadio
[2017-02-21 14:39:04,843] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2017-02-21 14:39:04,844] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2017-02-21 14:39:04,844] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2017-02-21 14:39:04,845] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2017-02-21 14:39:04,845] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2017-02-21 14:39:04,845] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2017-02-21 14:39:04,846] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2017-02-21 14:39:04,846] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2017-02-21 14:39:04,846] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2017-02-21 14:39:04,846] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2017-02-21 14:39:04,847] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2017-02-21 14:39:04,847] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2017-02-21 14:39:04,847] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2017-02-21 14:39:04,847] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2017-02-21 14:39:04,847] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2017-02-21 14:39:04,848] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2017-02-21 14:39:04,848] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2017-02-21 14:39:04,849] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2017-02-21 14:39:04,849] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2017-02-21 14:39:04,849] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2017-02-21 14:39:04,849] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2017-02-21 14:39:04,856] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2017-02-21 14:39:04,857] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2017-02-21 14:39:04,860] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2017-02-21 14:39:04,860] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2017-02-21 14:39:04,860] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2017-02-21 14:39:04,860] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2017-02-21 14:39:04,861] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2017-02-21 14:39:04,861] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2017-02-21 14:39:04,861] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2017-02-21 14:39:04,861] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2017-02-21 14:39:04,862] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2017-02-21 14:39:04,862] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2017-02-21 14:39:04,862] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2017-02-21 14:39:04,862] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2017-02-21 14:39:04,863] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2017-02-21 14:39:04,863] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2017-02-21 14:39:04,863] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2017-02-21 14:39:04,863] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2017-02-21 14:39:04,863] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2017-02-21 14:39:04,864] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2017-02-21 14:39:04,864] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2017-02-21 14:39:04,864] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2017-02-21 14:39:04,864] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2017-02-21 14:39:04,864] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2017-02-21 14:39:04,865] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2017-02-21 14:39:04,865] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2017-02-21 14:39:04,865] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2017-02-21 14:39:04,866] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2017-02-21 14:39:04,866] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2017-02-21 14:39:04,866] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2017-02-21 14:39:04,866] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2017-02-21 14:39:04,866] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2017-02-21 14:39:04,867] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2017-02-21 14:39:04,868] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2017-02-21 14:39:04,868] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2017-02-21 14:39:04,869] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2017-02-21 14:39:04,869] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2017-02-21 14:39:04,869] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2017-02-21 14:39:04,869] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2017-02-21 14:39:04,870] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2017-02-21 14:39:04,870] chirp.directory - INFO: Registered Retevis_RT1 = RT1Radio
[2017-02-21 14:39:04,870] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2017-02-21 14:39:04,871] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2017-02-21 14:39:04,871] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2017-02-21 14:39:04,872] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2017-02-21 14:39:04,872] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2017-02-21 14:39:04,872] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2017-02-21 14:39:04,872] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2017-02-21 14:39:04,872] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2017-02-21 14:39:04,873] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2017-02-21 14:39:04,873] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2017-02-21 14:39:04,873] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2017-02-21 14:39:04,873] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2017-02-21 14:39:04,874] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2017-02-21 14:39:04,874] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2017-02-21 14:39:04,874] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2017-02-21 14:39:04,875] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2017-02-21 14:39:04,876] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2017-02-21 14:39:04,876] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2017-02-21 14:39:04,876] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2017-02-21 14:39:04,876] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2017-02-21 14:39:04,876] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2017-02-21 14:39:04,877] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2017-02-21 14:39:04,878] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2017-02-21 14:39:04,879] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2017-02-21 14:39:04,880] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2017-02-21 14:39:04,880] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2017-02-21 14:39:04,880] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2017-02-21 14:39:04,881] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2017-02-21 14:39:04,881] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2017-02-21 14:39:04,881] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2017-02-21 14:39:04,882] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2017-02-21 14:39:04,882] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2017-02-21 14:39:04,882] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2017-02-21 14:39:04,882] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2017-02-21 14:39:04,883] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2017-02-21 14:39:04,883] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2017-02-21 14:39:04,883] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2017-02-21 14:39:04,884] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
3
6
Tested changes:
[Jim Unroe <rock.unroe(a)gmail.com>] [RT-22] DTCS Bug in Retevis RT-22 Driver
This patch addresses the bug where the DTCS Tone value can't
but updated when Tone Mode is set to DTCS.
Related to #4585
[Mathias Weyland <lt-betrieb(a)hb9uf.ch>] Alinco DJ-G7: Try slower baud rate if default rate fails (#4355)
Alinco support is suggesting to use lower baud rates if the programming
software fails to communicate with the radio reliably. This patch
alters the code for the Alinco DJ-G7 radio such that if falls back to
19200 baud if the default of 57600 baud does not work. The user must
set his radio to 19200 baud for this mechanism to kick in. Dialog boxes
were added accordingly using the chirp_common.RadioPrompts() feature.
[Dan Smith <dsmith(a)danplanet.com>] Images for #2107
[Jim Unroe <rock.unroe(a)gmail.com>] [New Model] TDXone TD-Q8A
This patch adds support for the TDXone TD-Q8A radio.
#2107
[Dan Smith <dsmith(a)danplanet.com>] Images for #4269
[Jim Unroe <rock.unroe(a)gmail.com>] [KT7900D] Add Support for QYT KT7900D and KT8900D Mobile Radios
This patch modifies the btech.py driver to prepare it to support a
new series of mobile radios that have an OLED color display.
Radio models initially supported:
QYT KT7900D (quad band)
QYT KT8900D (dual band)
New Model #4269
[Tom Hayward <tom(a)tomh.us>] [id880] Fix typo in charset definition. #281
[Tom Hayward <tom(a)tomh.us>] [thf6a] Support full charset (ASCII). Fixes #141
[Tom Hayward <tom(a)tomh.us>] [id880] Support full charset. Fixes #281
[Tom Hayward <tom(a)tomh.us>] [vx5] Support full charset (ASCII). Fixes #292
[Tom Hayward <tom(a)tomh.us>] [id31a] set used bit when creating new memory, clear when deleting. Fixes #269
[Tom Hayward <tom(a)tomh.us>] Support PyGTK < 2.22 in bank edit. Fixes #231
[Tom Hayward <tom(a)tomh.us>] [d710] [v71] [d72] Fix tone list (not all tones are supported). Fixes #212
[Dan Smith <dsmith(a)danplanet.com>] [vx7] Fix setting memory power levels on 220MHz band
Fixes #214
[Dan Smith <dsmith(a)danplanet.com>] fips: Pennsylvania FIPS code was wrong. #117
[Marco Filippi <iz3gme.marco(a)gmail.com>] Consider lower bound frequency of each valid_band as valid
Fix bug #181
[Tom Hayward <tom(a)tomh.us>] tmd700: allow 8-char names. Fixes #176
[Dan Smith <dsmith(a)danplanet.com>] Fix the "blind deletion" problem, as well as properly direct copy/paste
Fixes #172
[David Griffith <dave(a)661.org>] Bug #155 fix: VX-7 1.25m power levels
[David Griffith <dave(a)661.org>] New INSTALL and README files
Fixes #122
[Tom Hayward <tom(a)tomh.us>] thd72: only use hardware flow on OS X. Fixes #166
[Marco Filippi <iz3gme.marco(a)gmail.com>] [FT817] Tone freq not set correctly
Same as #88 for FT857, to avoid code duplication fix code have been moved from
ft857 to its ancestor class
Fix bug #163
[Tom Hayward <tom(a)tomh.us>] Fix Mac .app so paths with spaces work. Fixes Bug #145
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
7 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 dab3915183462c3cc782bb468a2ad77c9e1d3922
[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 dab3915183462c3cc782bb468a2ad77c9e1d3922
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson8667890912565606734.sh
[workspace] $ /bin/sh -xe /tmp/hudson874913604345197356.sh
+ PATH=/usr/bin:/bin:/usr/local/bin ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.056s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
./chirp/platform.py:255:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1909:80: E501 line too long (82 > 79 characters)
./chirp/ui/mainapp.py:1965:80: E501 line too long (82 > 79 characters)
real 0m7.633s
user 0m7.528s
sys 0m0.028s
================================================
Tests OK
+ cat /var/lib/jenkins/.chirp/debug.log
[2017-03-06 19:24:11,664] chirp.logger - DEBUG: CHIRP 0.3.0dev on Linux - Ubuntu 16.04.1 LTS (Python 2.7.12)
[2017-03-06 19:24:11,700] chirp.directory - INFO: Registered Kenwood_TH-D7 = THD7Radio
[2017-03-06 19:24:11,700] chirp.directory - INFO: Registered Kenwood_TH-D7G = THD7GRadio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-D700 = TMD700Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-V7 = TMV7Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-G707 = TMG707Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TH-G71 = THG71Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TH-F6 = THF6ARadio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TH-F7 = THF7ERadio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-D710 = TMD710Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TH-D72_live_mode = THD72Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-V71 = TMV71Radio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TM-D710G = TMD710GRadio
[2017-03-06 19:24:11,701] chirp.directory - INFO: Registered Kenwood_TH-K2 = THK2Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Kenwood_TM-271 = TM271Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Kenwood_TM-281 = TM281Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Kenwood_TM-471 = TM471Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Icom_7200 = Icom7200Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Icom_IC-7000 = Icom7000Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Icom_IC-7100 = Icom7100Radio
[2017-03-06 19:24:11,702] chirp.directory - INFO: Registered Icom_746 = Icom746Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DR03T = DR03Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DR06T = DR06Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DR135T = DR135Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DR235T = DR235Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DR435T = DR435Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DJ596 = DJ596Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Jetstream_JT220M = JT220MRadio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DJ175 = DJ175Radio
[2017-03-06 19:24:11,705] chirp.directory - INFO: Registered Alinco_DJ-G7EG = AlincoDJG7EG
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered AnyTone_5888UV = AnyTone5888UVRadio
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered Intek_HR-2040 = IntekHR2040Radio
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered Polmar_DB-50M = PolmarDB50MRadio
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered Powerwerx_DB-750X = PowerwerxDB750XRadio
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered AnyTone_TERMN-8R = AnyToneTERMN8RRadio
[2017-03-06 19:24:11,706] chirp.directory - INFO: Registered AnyTone_OBLTR-8R = AnyToneOBLTR8RRadio
[2017-03-06 19:24:11,707] chirp.directory - INFO: Registered Baofeng_UV-3R = UV3RRadio
[2017-03-06 19:24:11,708] chirp.directory - INFO: Registered Baofeng_BF-A58 = BFA58
[2017-03-06 19:24:11,708] chirp.directory - INFO: Registered Baofeng_UV-82WP = UV82WP
[2017-03-06 19:24:11,708] chirp.directory - INFO: Registered Baofeng_GT-3WP = GT3WP
[2017-03-06 19:24:11,708] chirp.directory - INFO: Registered Retevis_RT6 = RT6
[2017-03-06 19:24:11,708] chirp.directory - INFO: Registered Baojie_BJ-9900 = BJ9900Radio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_UV-5R = BaofengUV5RGeneric
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_F-11 = BaofengF11Radio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_UV-82 = BaofengUV82Radio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_UV-6 = BaofengUV6Radio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Intek_KT-980HP = IntekKT980Radio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_BF-F8HP = BaofengBFF8HPRadio
[2017-03-06 19:24:11,709] chirp.directory - INFO: Registered Baofeng_UV-82HP = BaofengUV82HPRadio
[2017-03-06 19:24:11,710] chirp.directory - INFO: Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
[2017-03-06 19:24:11,710] chirp.directory - INFO: Registered BTECH_UV-2501 = UV2501
[2017-03-06 19:24:11,710] chirp.directory - INFO: Registered BTECH_UV-2501+220 = UV2501_220
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered BTECH_UV-5001 = UV5001
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered WACCOM_MINI-8900 = MINI8900
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered QYT_KT-UV980 = KTUV980
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered QYT_KT8900 = KT9800
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered QYT_KT8900R = KT9800R
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered LUITON_LT-588UV = LT588UV
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered QYT_KT7900D = KT7900D
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered QYT_KT8900D = KT8900D
[2017-03-06 19:24:11,711] chirp.directory - INFO: Registered Feidaxin_FD-268A = FD268ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-268B = FD268BRadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-288A = FD288ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-288B = FD288BRadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-150A = FD150ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-160A = FD160ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-450A = FD450ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-460A = FD460ARadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Feidaxin_FD-460UH = FD460UHRadio
[2017-03-06 19:24:11,712] chirp.directory - INFO: Registered Yaesu_FT-1802M = FT1802Radio
[2017-03-06 19:24:11,713] chirp.directory - INFO: Registered Yaesu_FT-1D_R = FT1Radio
[2017-03-06 19:24:11,714] chirp.directory - INFO: Registered Yaesu_FT-2800M = FT2800Radio
[2017-03-06 19:24:11,714] chirp.directory - INFO: Registered Yaesu_FT-2900R_1900R = FT2900Radio
[2017-03-06 19:24:11,714] chirp.directory - INFO: Registered Yaesu_FT-50 = FT50Radio
[2017-03-06 19:24:11,715] chirp.directory - INFO: Registered Yaesu_FT-60 = FT60Radio
[2017-03-06 19:24:11,715] chirp.directory - INFO: Registered Yaesu_FT-7800_7900 = FT7800Radio
[2017-03-06 19:24:11,715] chirp.directory - INFO: Registered Yaesu_FT-8800 = FT8800Radio
[2017-03-06 19:24:11,715] chirp.directory - INFO: Registered Yaesu_FT-8900 = FT8900Radio
[2017-03-06 19:24:11,716] chirp.directory - INFO: Registered Yaesu_FT-8100 = FT8100Radio
[2017-03-06 19:24:11,716] chirp.directory - INFO: Registered Yaesu_FT-817 = FT817Radio
[2017-03-06 19:24:11,716] chirp.directory - INFO: Registered Yaesu_FT-817ND = FT817NDRadio
[2017-03-06 19:24:11,716] chirp.directory - INFO: Registered Yaesu_FT-817ND_US = FT817NDUSRadio
[2017-03-06 19:24:11,717] chirp.directory - INFO: Registered Yaesu_FT-857_897 = FT857Radio
[2017-03-06 19:24:11,717] chirp.directory - INFO: Registered Yaesu_FT-857_897_US = FT857USRadio
[2017-03-06 19:24:11,717] chirp.directory - INFO: Registered Yaesu_FT-90 = FT90Radio
[2017-03-06 19:24:11,717] chirp.directory - INFO: Registered Yaesu_FTM-350 = FTM350Radio
[2017-03-06 19:24:11,718] chirp.directory - INFO: Registered Generic_CSV = CSVRadio
[2017-03-06 19:24:11,718] chirp.directory - INFO: Registered Commander_KG-UV = CommanderCSVRadio
[2017-03-06 19:24:11,718] chirp.directory - INFO: Registered RT_Systems_CSV = RTCSVRadio
[2017-03-06 19:24:11,718] chirp.directory - INFO: Registered ARRL_Travel_Plus = TpeRadio
[2017-03-06 19:24:11,726] chirp.directory - INFO: Registered Generic_XML = XMLRadio
[2017-03-06 19:24:11,726] chirp.directory - INFO: Registered BTECH_GMRS-V1 = GMRSV1
[2017-03-06 19:24:11,730] chirp.directory - INFO: Registered Baofeng_BF-888 = H777Radio
[2017-03-06 19:24:11,730] chirp.directory - INFO: Registered HobbyPCB_RS-UV3 = HobbyPCBRSUV3Radio
[2017-03-06 19:24:11,730] chirp.directory - INFO: Registered Icom_IC-208H = IC208Radio
[2017-03-06 19:24:11,730] chirp.directory - INFO: Registered Icom_IC-2100H = IC2100Radio
[2017-03-06 19:24:11,731] chirp.directory - INFO: Registered Icom_IC-2200H = IC2200Radio
[2017-03-06 19:24:11,731] chirp.directory - INFO: Registered Icom_IC-2720H = IC2720Radio
[2017-03-06 19:24:11,731] chirp.directory - INFO: Registered Icom_IC-2820H = IC2820Radio
[2017-03-06 19:24:11,731] chirp.directory - INFO: Registered Icom_IC-91_92AD = IC9xRadio
[2017-03-06 19:24:11,732] chirp.directory - INFO: Registered Icom_IC-Q7A = ICQ7Radio
[2017-03-06 19:24:11,732] chirp.directory - INFO: Registered Icom_IC-T70 = ICT70Radio
[2017-03-06 19:24:11,732] chirp.directory - INFO: Registered Icom_IC-T7H = ICT7HRadio
[2017-03-06 19:24:11,732] chirp.directory - INFO: Registered Icom_IC-T8A = ICT8ARadio
[2017-03-06 19:24:11,733] chirp.directory - INFO: Registered Icom_IC-W32A = ICW32ARadio
[2017-03-06 19:24:11,733] chirp.directory - INFO: Registered Icom_IC-W32E = ICW32ERadio
[2017-03-06 19:24:11,733] chirp.directory - INFO: Registered Icom_IC-V82_U82 = ICx8xRadio
[2017-03-06 19:24:11,733] chirp.directory - INFO: Registered Icom_ID-31A = ID31Radio
[2017-03-06 19:24:11,734] chirp.directory - INFO: Registered Icom_ID-51 = ID51Radio
[2017-03-06 19:24:11,734] chirp.directory - INFO: Registered Icom_ID-51_Plus = ID51PLUSRadio
[2017-03-06 19:24:11,734] chirp.directory - INFO: Registered Icom_ID-800H_v2 = ID800v2Radio
[2017-03-06 19:24:11,734] chirp.directory - INFO: Registered Icom_ID-880H = ID880Radio
[2017-03-06 19:24:11,734] chirp.directory - INFO: Registered Icom_ID-80H = ID80Radio
[2017-03-06 19:24:11,735] chirp.directory - INFO: Registered Kenwood_HMK = HMKRadio
[2017-03-06 19:24:11,735] chirp.directory - INFO: Registered Kenwood_ITM = ITMRadio
[2017-03-06 19:24:11,735] chirp.directory - INFO: Registered Wouxun_KG-UV8D = KGUV8DRadio
[2017-03-06 19:24:11,736] chirp.directory - INFO: Registered KYD_NC-630A = NC630aRadio
[2017-03-06 19:24:11,736] chirp.directory - INFO: Registered KYD_IP-620 = IP620Radio
[2017-03-06 19:24:11,736] chirp.directory - INFO: Registered Leixen_VV-898 = LeixenVV898Radio
[2017-03-06 19:24:11,736] chirp.directory - INFO: Registered Jetstream_JT270M = JetstreamJT270MRadio
[2017-03-06 19:24:11,737] chirp.directory - INFO: Registered Jetstream_JT270MH = JetstreamJT270MHRadio
[2017-03-06 19:24:11,737] chirp.directory - INFO: Registered Leixen_VV-898S = LeixenVV898SRadio
[2017-03-06 19:24:11,737] chirp.directory - INFO: Registered LUITON_LT-725UV = LT725UV
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Wouxun_KG-UVD1P = KGUVD1PRadio
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Wouxun_KG-UV6 = KGUV6DRadio
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Wouxun_KG-816 = KG816Radio
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Wouxun_KG-818 = KG818Radio
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Puxing_PX-777 = Puxing777Radio
[2017-03-06 19:24:11,739] chirp.directory - INFO: Registered Puxing_PX-2R = Puxing2RRadio
[2017-03-06 19:24:11,740] chirp.directory - INFO: Registered Puxing_PX-888K = Puxing_PX888K_Radio
[2017-03-06 19:24:11,741] chirp.directory - INFO: Registered Retevis_RT1 = RT1Radio
[2017-03-06 19:24:11,741] chirp.directory - INFO: Registered Retevis_RT21 = RT21Radio
[2017-03-06 19:24:11,741] chirp.directory - INFO: Registered Retevis_RT22 = RT22Radio
[2017-03-06 19:24:11,742] chirp.directory - INFO: Registered TDXone_TD-Q8A = TDXoneTDQ8A
[2017-03-06 19:24:11,742] chirp.directory - INFO: Registered TYT_TH-7800_File = TYTTH7800File
[2017-03-06 19:24:11,743] chirp.directory - INFO: Registered TYT_TH-7800 = TYTTH7800Radio
[2017-03-06 19:24:11,743] chirp.directory - INFO: Registered TYT_TH9000_220 = Th9000220Radio
[2017-03-06 19:24:11,743] chirp.directory - INFO: Registered TYT_TH9000_144 = Th9000144Radio
[2017-03-06 19:24:11,743] chirp.directory - INFO: Registered TYT_TH9000_440 = Th9000440Radio
[2017-03-06 19:24:11,743] chirp.directory - INFO: Registered TYT_TH-9800_File = TYTTH9800File
[2017-03-06 19:24:11,744] chirp.directory - INFO: Registered TYT_TH-9800 = TYTTH9800Radio
[2017-03-06 19:24:11,744] chirp.directory - INFO: Registered TYT_TH-UV3R = TYTUV3RRadio
[2017-03-06 19:24:11,744] chirp.directory - INFO: Registered TYT_TH-UV3R-25 = TYTUV3R25Radio
[2017-03-06 19:24:11,744] chirp.directory - INFO: Registered TYT_TH-UVF8D = TYTUVF8DRadio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered Kenwood_TH-D72_clone_mode = THD72Radio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered TYT_TH-UVF1 = TYTTHUVF1Radio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered Kenwood_TK-260 = TK260_Radio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered Kenwood_TK-270 = TK270_Radio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered Kenwood_TK-272 = TK272_Radio
[2017-03-06 19:24:11,745] chirp.directory - INFO: Registered Kenwood_TK-278 = TK278_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-360 = TK360_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-370 = TK370_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-372 = TK372_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-378 = TK378_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-760 = TK760_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-762 = TK762_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-768 = TK768_Radio
[2017-03-06 19:24:11,746] chirp.directory - INFO: Registered Kenwood_TK-860 = TK860_Radio
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-862 = TK862_Radio
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-868 = TK868_Radio
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-868G = TK868G_Radios
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-862G = TK862G_Radios
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-860G = TK860G_Radios
[2017-03-06 19:24:11,747] chirp.directory - INFO: Registered Kenwood_TK-768G = TK768G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-762G = TK762G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-760G = TK760G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-388G = TK388G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-378G = TK378G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-372G = TK372G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-370G = TK370G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-360G = TK360G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-278G = TK278G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-272G = TK272G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-270G = TK270G_Radios
[2017-03-06 19:24:11,748] chirp.directory - INFO: Registered Kenwood_TK-260G = TK260G_Radios
[2017-03-06 19:24:11,749] chirp.directory - INFO: Registered Kenwood_TK-7102 = KenwoodTK7102Radio
[2017-03-06 19:24:11,749] chirp.directory - INFO: Registered Kenwood_TK-8102 = KenwoodTK8102Radio
[2017-03-06 19:24:11,749] chirp.directory - INFO: Registered Kenwood_TK-7108 = KenwoodTK7108Radio
[2017-03-06 19:24:11,749] chirp.directory - INFO: Registered Kenwood_TK-8108 = KenwoodTK8108Radio
[2017-03-06 19:24:11,749] chirp.directory - INFO: Registered Kenwood_TS-2000 = TS2000Radio
[2017-03-06 19:24:11,750] chirp.directory - INFO: Registered BTECH_UV-5X3 = UV5X3
[2017-03-06 19:24:11,750] chirp.directory - INFO: Registered Baofeng_UV-6R = UV6R
[2017-03-06 19:24:11,750] chirp.directory - INFO: Registered Baofeng_UV-B5 = BaofengUVB5
[2017-03-06 19:24:11,751] chirp.directory - INFO: Registered BTECH_UV-50X3 = UV50X3
[2017-03-06 19:24:11,751] chirp.directory - INFO: Registered Yaesu_VX-170 = VX170Radio
[2017-03-06 19:24:11,752] chirp.directory - INFO: Registered Yaesu_VX-2 = VX2Radio
[2017-03-06 19:24:11,752] chirp.directory - INFO: Registered Yaesu_VX-3 = VX3Radio
[2017-03-06 19:24:11,752] chirp.directory - INFO: Registered Yaesu_VX-5 = VX5Radio
[2017-03-06 19:24:11,752] chirp.directory - INFO: Registered Yaesu_VX-6 = VX6Radio
[2017-03-06 19:24:11,753] chirp.directory - INFO: Registered Yaesu_VX-7 = VX7Radio
[2017-03-06 19:24:11,754] chirp.directory - INFO: Registered Yaesu_VX-8_R = VX8Radio
[2017-03-06 19:24:11,754] chirp.directory - INFO: Registered Yaesu_VX-8_DR = VX8DRadio
[2017-03-06 19:24:11,754] chirp.directory - INFO: Registered Yaesu_VX-8_GE = VX8GERadio
[2017-03-06 19:24:11,754] chirp.directory - INFO: Registered Vertex_Standard_VXA-700 = VXA700Radio
Email was triggered for: Success
Sending email for trigger: Success
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1488768471 18000
# Node ID 3244f7e72ddac4322b3d1975c3a455ecd9db1942
# Parent 0611c6c740ab74c0d939634765a52ebc2b5a8497
[RT-22] DTCS Bug in Retevis RT-22 Driver
This patch addresses the bug where the DTCS Tone value can't
but updated when Tone Mode is set to DTCS.
Related to #4585
diff -r 0611c6c740ab -r 3244f7e72dda chirp/drivers/retevis_rt22.py
--- a/chirp/drivers/retevis_rt22.py Thu Feb 16 18:28:49 2017 -0800
+++ b/chirp/drivers/retevis_rt22.py Sun Mar 05 21:47:51 2017 -0500
@@ -436,30 +436,33 @@
val += 0x8000
return val
- if mem.tmode == "Cross":
+ rx_mode = tx_mode = None
+ rx_tone = tx_tone = 0xFFFF
+
+ if mem.tmode == "Tone":
+ tx_mode = "Tone"
+ rx_mode = None
+ tx_tone = int(mem.rtone * 10)
+ elif mem.tmode == "TSQL":
+ rx_mode = tx_mode = "Tone"
+ rx_tone = tx_tone = int(mem.ctone * 10)
+ elif mem.tmode == "DTCS":
+ tx_mode = rx_mode = "DTCS"
+ tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ rx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[1])
+ elif mem.tmode == "Cross":
tx_mode, rx_mode = mem.cross_mode.split("->")
- elif mem.tmode == "Tone":
- tx_mode = mem.tmode
- rx_mode = None
- else:
- tx_mode = rx_mode = mem.tmode
+ if tx_mode == "DTCS":
+ tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ elif tx_mode == "Tone":
+ tx_tone = int(mem.rtone * 10)
+ if rx_mode == "DTCS":
+ rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
+ elif rx_mode == "Tone":
+ rx_tone = int(mem.ctone * 10)
- if tx_mode == "DTCS":
- _mem.tx_tone = mem.tmode != "DTCS" and \
- _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) or \
- _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[0])
- elif tx_mode:
- _mem.tx_tone = tx_mode == "Tone" and \
- int(mem.rtone * 10) or int(mem.ctone * 10)
- else:
- _mem.tx_tone = 0xFFFF
-
- if rx_mode == "DTCS":
- _mem.rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
- elif rx_mode:
- _mem.rx_tone = int(mem.ctone * 10)
- else:
- _mem.rx_tone = 0xFFFF
+ _mem.rx_tone = rx_tone
+ _mem.tx_tone = tx_tone
LOG.debug("Set TX %s (%i) RX %s (%i)" %
(tx_mode, _mem.tx_tone, rx_mode, _mem.rx_tone))
1
0

[chirp_devel] Patch to fall back to slower baud rate for Alinco DJ-G7EG (#4355)
by Mathias Weyland 01 Mar '17
by Mathias Weyland 01 Mar '17
01 Mar '17
Hello guys
According to #4355, Alinco support suggests to try slower baud rates
with their official programming software if the default rate of 57600
baud does not work. Unfortunately, their own software does not seem to
have a setting for the baud rate, but we have a documented case in the
bug report where reducing the baud rate in chirp did allow for an image
transfer at the expense of slowing down the procedure.
This patch retries at 19200 baud if the default of 57600 baud fails.
That's kind of the best of both worlds -- users with good cables can
benefit from the fast rate and users with dodgy(?) cables can still use
the software. This patch also adds chirp_common.RadioPrompts() dialog
boxes to tell the user how to put the radio into programming mode, and
to inform him about the two baud rate options. It logs failed attempts
at the fast rate. I'd like to move the instructions to a dedicated tab
and instead pop up the dialog box instead of logging that condition, but
I can't seem to get around it. This is why I'm handing in the patch as
is for now, since at least one other user has asked for the feature
already.
Comments are welcome as usual.
Regards and thank you
Matt
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1487725765 18000
# Node ID 56ee737ca5cfbc201a19ed6bdfa9b7891efb29f3
# Parent 0611c6c740ab74c0d939634765a52ebc2b5a8497
[New Model] TDXone TD-Q8A
This patch adds support for the TDXone TD-Q8A radio.
#2107
diff -r 0611c6c740ab -r 56ee737ca5cf chirp/drivers/tdxone_tdq8a.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/chirp/drivers/tdxone_tdq8a.py Tue Feb 21 20:09:25 2017 -0500
@@ -0,0 +1,1154 @@
+# Copyright 2016:
+# * Jim Unroe KC9HI, <rock.unroe(a)gmail.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import time
+import struct
+import logging
+import re
+
+from chirp import chirp_common, directory, memmap
+from chirp import bitwise, errors, util
+from chirp.settings import RadioSettingGroup, RadioSetting, \
+ RadioSettingValueBoolean, RadioSettingValueList, \
+ RadioSettingValueString, RadioSettingValueInteger, \
+ RadioSettingValueFloat, RadioSettings, \
+ InvalidValueError
+from textwrap import dedent
+
+LOG = logging.getLogger(__name__)
+
+MEM_FORMAT = """
+#seekto 0x0010;
+struct {
+ lbcd rxfreq[4];
+ lbcd txfreq[4];
+ ul16 rxtone;
+ ul16 txtone;
+ u8 unknown1:2,
+ dtmf:1, // DTMF
+ unknown2:1,
+ bcl:1, // Busy Channel Lockout
+ unknown3:3;
+ u8 unknown4:1,
+ scan:1, // Scan Add
+ highpower:1, // TX Power Level
+ wide:1, // BandWidth
+ unknown5:4;
+ u8 unknown6[2];
+} memory[128];
+
+#seekto 0x0E17;
+struct {
+ u8 displayab:1, // Selected Display
+ unknown1:6,
+ unknown2:1;
+} settings1;
+
+#seekto 0x0E22;
+struct {
+ u8 squelcha; // menu 02a Squelch Level 0xe22
+ u8 unknown1;
+ u8 tdrab; // TDR A/B 0xe24
+ u8 roger; // menu 20 Roger Beep 0xe25
+ u8 timeout; // menu 16 TOT 0xe26
+ u8 vox; // menu 05 VOX 0xe27
+ u8 unknown2;
+ u8 mdfb; // menu 27b Memory Display Format B 0xe37
+ u8 dw; // menu 37 DW 0xe2a
+ u8 tdr; // menu 29 Dual Watch 0xe2b
+ u8 voice; // menu 03 Voice Prompts 0xe2c
+ u8 beep; // menu 01 Key Beep 0xe2d
+ u8 ani; // menu 30 ANI 0xe2e
+ u8 unknown3[4];
+ u8 pttdly; // menu 31 PTT-ID Delay 0xe33
+ u8 unknown4;
+ u8 dtmfst; // menu 33 DTMF Side Tone 0xe35
+ u8 toa; // menu 15 TOT Pre-Alert 0xe36
+ u8 mdfa; // menu 27a Memory Display Format A 0xe37
+ u8 screv; // menu 09 Scan Resume Method 0xe38
+ u8 pttid; // menu 32 PTT-ID Enable 0xe39
+ u8 ponmsg; // menu 36 Power-on Message 0xe3a
+ u8 pf1; // menu 28 Programmable Function Key 0xe3b
+ u8 unknown5;
+ u8 wtled; // menu 17 Standby LED Color 0xe3d
+ u8 rxled; // menu 18 RX LED Color 0xe3e
+ u8 txled; // menu 19 TX LED Color 0xe3f
+ u8 unknown6;
+ u8 autolk; // menu 06 Auto Key Lock 0xe41
+ u8 squelchb; // menu 02b Squelch Level 0xe42
+ u8 control; // Control Code 0xe43
+ u8 unknown7;
+ u8 ach; // Selected A channel Number 0xe45
+ u8 unknown8[4];
+ u8 password[6]; // Control Password 0xe4a-0xe4f
+ u8 unknown9[7];
+ u8 code[3]; // PTT ID Code 0xe57-0xe59
+ u8 vfomr; // Frequency/Channel Modevel 0xe5a
+ u8 keylk; // Key Lock 0xe5b
+ u8 unknown10[2];
+ u8 prioritych; // Priority Channel 0xe5e
+ u8 bch; // Selected B channel Number 0xe5f
+} settings;
+
+struct vfo {
+ u8 unknown0[8];
+ u8 freq[8];
+ u8 offset[6];
+ ul16 rxtone;
+ ul16 txtone;
+ u8 unused0:7,
+ band:1;
+ u8 unknown3;
+ u8 unknown4:2,
+ sftd:2,
+ scode:4;
+ u8 unknown5;
+ u8 unknown6:1,
+ step:3,
+ unknown7:4;
+ u8 txpower:1,
+ widenarr:1,
+ unknown8:6;
+};
+
+#seekto 0x0F10;
+struct {
+ struct vfo a;
+ struct vfo b;
+} vfo;
+
+#seekto 0x1010;
+struct {
+ u8 name[6];
+ u8 unknown[10];
+} names[128];
+
+"""
+
+##### MAGICS #########################################################
+
+# TDXone TD-Q8A magic string
+MSTRING_TDQ8A = "\x02PYNCRAM"
+
+#STIMEOUT = 2
+
+LIST_DTMF = ["QT", "QT+DTMF"]
+LIST_VOICE = ["Off", "Chinese", "English"]
+LIST_OFF1TO9 = ["Off"] + list("123456789")
+LIST_OFF1TO10 = LIST_OFF1TO9 + ["10"]
+LIST_RESUME = ["Time Operated(TO)", "Carrier Operated(CO)", "Search(SE)"]
+LIST_COLOR = ["Off", "Blue", "Orange", "Purple"]
+LIST_MODE = ["Channel", "Frequency", "Name"]
+LIST_PF1 = ["Off", "Scan", "Lamp", "FM Radio", "Alarm"]
+LIST_OFF1TO30 = ["OFF"] + ["%s" % x for x in range(1, 31)]
+LIST_DTMFST = ["Off", "DTMF Sidetone", "ANI Sidetone", "DTMF+ANI Sidetone"]
+LIST_PONMSG = ["Full", "Welcome", "Battery Voltage"]
+LIST_TIMEOUT = ["Off"] + ["%s sec" % x for x in range(15, 615, 15)]
+LIST_PTTID = ["BOT", "EOT", "Both"]
+LIST_ROGER = ["Off"] + LIST_PTTID
+LIST_PRIORITY = ["Off"] + ["%s" % x for x in range(1, 129)]
+LIST_WORKMODE = ["Frequency", "Channel"]
+LIST_AB = ["A", "B"]
+
+LIST_ALMOD = ["Site", "Tone", "Code"]
+LIST_BANDWIDTH = ["Wide", "Narrow"]
+LIST_DELAYPROCTIME = ["%s ms" % x for x in range(100, 4100, 100)]
+LIST_DTMFSPEED = ["%s ms" % x for x in range(50, 2010, 10)]
+LIST_OFFAB = ["Off"] + LIST_AB
+LIST_RESETTIME = ["%s ms" % x for x in range(100, 16100, 100)]
+LIST_SCODE = ["%s" % x for x in range(1, 16)]
+LIST_RPSTE = ["Off"] + ["%s" % x for x in range(1, 11)]
+LIST_SAVE = ["Off", "1:1", "1:2", "1:3", "1:4"]
+LIST_SHIFTD = ["Off", "+", "-"]
+LIST_STEDELAY = ["Off"] + ["%s ms" % x for x in range(100, 1100, 100)]
+#LIST_STEP = [str(x) for x in STEPS]
+LIST_TXPOWER = ["High", "Low"]
+LIST_DTMF_SPECIAL_DIGITS = [ "*", "#", "A", "B", "C", "D"]
+LIST_DTMF_SPECIAL_VALUES = [ 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00]
+
+CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ?+-*"
+STEPS = [2.5, 5.0, 6.25, 10.0, 12.5, 25.0]
+POWER_LEVELS = [chirp_common.PowerLevel("High", watts=5),
+ chirp_common.PowerLevel("Low", watts=1)]
+VALID_BANDS = [(136000000, 174000000),
+ (400000000, 520000000)]
+
+
+#def _clean_buffer(radio):
+# radio.pipe.timeout = 0.005
+# junk = radio.pipe.read(256)
+# radio.pipe.timeout = STIMEOUT
+# if junk:
+# LOG.debug("Got %i bytes of junk before starting" % len(junk))
+
+
+def _rawrecv(radio, amount):
+ """Raw read from the radio device"""
+ data = ""
+ try:
+ data = radio.pipe.read(amount)
+ except:
+ msg = "Generic error reading data from radio; check your cable."
+ raise errors.RadioError(msg)
+
+ if len(data) != amount:
+ msg = "Error reading data from radio: not the amount of data we want."
+ raise errors.RadioError(msg)
+
+ return data
+
+
+def _rawsend(radio, data):
+ """Raw send to the radio device"""
+ try:
+ radio.pipe.write(data)
+ except:
+ raise errors.RadioError("Error sending data to radio")
+
+
+def _make_frame(cmd, addr, length, data=""):
+ """Pack the info in the headder format"""
+ frame = struct.pack(">BHB", ord(cmd), addr, length)
+ # add the data if set
+ if len(data) != 0:
+ frame += data
+ # return the data
+ return frame
+
+
+def _recv(radio, addr, length):
+ """Get data from the radio """
+ # read 4 bytes of header
+ hdr = _rawrecv(radio, 4)
+
+ # read data
+ data = _rawrecv(radio, length)
+
+ # DEBUG
+ LOG.info("Response:")
+ LOG.debug(util.hexprint(hdr + data))
+
+ c, a, l = struct.unpack(">BHB", hdr)
+ if a != addr or l != length or c != ord("W"):
+ LOG.error("Invalid answer for block 0x%04x:" % addr)
+ LOG.debug("CMD: %s ADDR: %04x SIZE: %02x" % (c, a, l))
+ raise errors.RadioError("Unknown response from the radio")
+
+ return data
+
+
+def _do_ident(radio, magic):
+ """Put the radio in PROGRAM mode"""
+ # set the serial discipline
+ radio.pipe.baudrate = 9600
+ ####radio.pipe.timeout = STIMEOUT
+
+ ## flush input buffer
+ #_clean_buffer(radio)
+
+ # send request to enter program mode
+ _rawsend(radio, magic)
+
+ ack = _rawrecv(radio, 1)
+ if ack != "\x06":
+ if ack:
+ LOG.debug(repr(ack))
+ raise errors.RadioError("Radio did not respond")
+
+ _rawsend(radio, "\x02")
+
+ # Ok, get the response
+ ident = _rawrecv(radio, radio._magic_response_length)
+
+ # check if response is OK
+ if not ident.startswith("P3107"):
+ # bad response
+ msg = "Unexpected response, got this:"
+ msg += util.hexprint(ident)
+ LOG.debug(msg)
+ raise errors.RadioError("Unexpected response from radio.")
+
+ # DEBUG
+ LOG.info("Valid response, got this:")
+ LOG.debug(util.hexprint(ident))
+
+ _rawsend(radio, "\x06")
+ ack = _rawrecv(radio, 1)
+ if ack != "\x06":
+ if ack:
+ LOG.debug(repr(ack))
+ raise errors.RadioError("Radio refused clone")
+
+ return ident
+
+
+def _ident_radio(radio):
+ for magic in radio._magic:
+ error = None
+ try:
+ data = _do_ident(radio, magic)
+ return data
+ except errors.RadioError, e:
+ print e
+ error = e
+ time.sleep(2)
+ if error:
+ raise error
+ raise errors.RadioError("Radio did not respond")
+
+
+def _download(radio):
+ """Get the memory map"""
+ # put radio in program mode
+ ident = _ident_radio(radio)
+
+ # UI progress
+ status = chirp_common.Status()
+ status.cur = 0
+ status.max = radio._mem_size / radio._recv_block_size
+ status.msg = "Cloning from radio..."
+ radio.status_fn(status)
+
+ data = ""
+ for addr in range(0, radio._mem_size, radio._recv_block_size):
+ frame = _make_frame("R", addr, radio._recv_block_size)
+ # DEBUG
+ LOG.info("Request sent:")
+ LOG.debug(util.hexprint(frame))
+
+ # sending the read request
+ _rawsend(radio, frame)
+
+ # now we read
+ d = _recv(radio, addr, radio._recv_block_size)
+
+ time.sleep(0.05)
+
+ _rawsend(radio, "\x06")
+
+ ack = _rawrecv(radio, 1)
+ if ack != "\x06":
+ raise errors.RadioError(
+ "Radio refused to send block 0x%04x" % addr)
+
+ ####time.sleep(0.05)
+
+ # aggregate the data
+ data += d
+
+ # UI Update
+ status.cur = addr / radio._recv_block_size
+ status.msg = "Cloning from radio..."
+ radio.status_fn(status)
+
+ data += radio.MODEL.ljust(8)
+
+ return data
+
+
+def _upload(radio):
+ """Upload procedure"""
+ # put radio in program mode
+ _ident_radio(radio)
+
+
+
+ addr = 0x0f80
+ frame = _make_frame("R", addr, radio._recv_block_size)
+ # DEBUG
+ LOG.info("Request sent:")
+ LOG.debug(util.hexprint(frame))
+
+ # sending the read request
+ _rawsend(radio, frame)
+
+ # now we read
+ d = _recv(radio, addr, radio._recv_block_size)
+
+ time.sleep(0.05)
+
+ _rawsend(radio, "\x06")
+
+ ack = _rawrecv(radio, 1)
+ if ack != "\x06":
+ raise errors.RadioError(
+ "Radio refused to send block 0x%04x" % addr)
+
+
+
+ _ranges = radio._ranges
+
+ # UI progress
+ status = chirp_common.Status()
+ status.cur = 0
+ status.max = radio._mem_size / radio._send_block_size
+ status.msg = "Cloning to radio..."
+ radio.status_fn(status)
+
+ # the fun start here
+ for start, end in _ranges:
+ for addr in range(start, end, radio._send_block_size):
+ # sending the data
+ data = radio.get_mmap()[addr:addr + radio._send_block_size]
+
+ frame = _make_frame("W", addr, radio._send_block_size, data)
+
+ _rawsend(radio, frame)
+ #time.sleep(0.05)
+
+ # receiving the response
+ ack = _rawrecv(radio, 1)
+ if ack != "\x06":
+ msg = "Bad ack writing block 0x%04x" % addr
+ raise errors.RadioError(msg)
+
+ # UI Update
+ status.cur = addr / radio._send_block_size
+ status.msg = "Cloning to radio..."
+ radio.status_fn(status)
+
+
+def model_match(cls, data):
+ """Match the opened/downloaded image to the correct version"""
+
+ if len(data) == 0x2008:
+ rid = data[0x2000:0x2008]
+ print rid
+ return rid.startswith(cls.MODEL)
+ else:
+ return False
+
+
+def _split(rf, f1, f2):
+ """Returns False if the two freqs are in the same band (no split)
+ or True otherwise"""
+
+ # determine if the two freqs are in the same band
+ for low, high in rf.valid_bands:
+ if f1 >= low and f1 <= high and \
+ f2 >= low and f2 <= high:
+ # if the two freqs are on the same Band this is not a split
+ return False
+
+ # if you get here is because the freq pairs are split
+ return True
+
+
+(a)directory.register
+class TDXoneTDQ8A(chirp_common.CloneModeRadio,
+ chirp_common.ExperimentalRadio):
+ """TDXone TD-Q8A Radio"""
+ VENDOR = "TDXone"
+ MODEL = "TD-Q8A"
+
+ ####_fileid = [TDQ8A_fp1, ]
+
+ _magic = [MSTRING_TDQ8A, MSTRING_TDQ8A,]
+ _magic_response_length = 8
+ _fw_ver_start = 0x1EF0
+ _recv_block_size = 0x40
+ _mem_size = 0x2000
+
+ #_ranges = [(0x0000, 0x2000)]
+ # same as radio
+ #_ranges = [(0x0010, 0x0810),
+ # (0x0F10, 0x0F30),
+ # (0x1010, 0x1810),
+ # (0x0E20, 0x0E60),
+ # (0x1F10, 0x1F30)]
+ # in increasing order
+ _ranges = [(0x0010, 0x0810),
+ (0x0E20, 0x0E60),
+ (0x0F10, 0x0F30),
+ (0x1010, 0x1810),
+ (0x1F10, 0x1F30)]
+ _send_block_size = 0x10
+
+ #DTCS_CODES = sorted(chirp_common.DTCS_CODES + [645])
+ #DTCS_CODES = sorted(chirp_common.ALL_DTCS_CODES)
+ #POWER_LEVELS = [chirp_common.PowerLevel("Low", watts=1.00),
+ # chirp_common.PowerLevel("High", watts=5.00)]
+ #VALID_BANDS = [(136000000, 174000000),
+ # (400000000, 520000000)]
+
+
+ @classmethod
+ def get_prompts(cls):
+ rp = chirp_common.RadioPrompts()
+ rp.experimental = \
+ ('The TDXone TD-Q8A driver is a beta version.\n'
+ '\n'
+ 'Please save an unedited copy of your first successful\n'
+ 'download to a CHIRP Radio Images(*.img) file.'
+ )
+ rp.pre_download = _(dedent("""\
+ Follow these instructions to download your info:
+
+ 1 - Turn off your radio
+ 2 - Connect your interface cable
+ 3 - Turn on your radio
+ 4 - Do the download of your radio data
+ """))
+ rp.pre_upload = _(dedent("""\
+ Follow this instructions to upload your info:
+
+ 1 - Turn off your radio
+ 2 - Connect your interface cable
+ 3 - Turn on your radio
+ 4 - Do the upload of your radio data
+ """))
+ return rp
+
+
+ def get_features(self):
+ """Get the radio's features"""
+
+ rf = chirp_common.RadioFeatures()
+ rf.has_settings = True
+ rf.has_bank = False
+ rf.has_tuning_step = False
+ rf.can_odd_split = True
+ rf.has_name = True
+ rf.has_offset = True
+ rf.has_mode = True
+ rf.has_dtcs = False #True
+ rf.has_rx_dtcs = False #True
+ rf.has_dtcs_polarity = False #True
+ rf.has_ctone = True
+ rf.has_cross = True
+ rf.valid_modes = ["FM", "NFM"]
+ #rf.valid_characters = self.VALID_CHARS
+ rf.valid_characters = CHARSET
+ rf.valid_name_length = 6
+ rf.valid_duplexes = ["", "-", "+", "split", "off"]
+ #rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
+ #rf.valid_cross_modes = [
+ # "Tone->Tone",
+ # "DTCS->",
+ # "->DTCS",
+ # "Tone->DTCS",
+ # "DTCS->Tone",
+ # "->Tone",
+ # "DTCS->DTCS"]
+ rf.valid_tmodes = ['', 'Tone', 'TSQL', 'Cross']
+ rf.valid_cross_modes = [
+ "Tone->Tone",
+ "->Tone"]
+ rf.valid_skips = ["", "S"]
+ #rf.valid_dtcs_codes = self.DTCS_CODES
+ rf.memory_bounds = (1, 128)
+ rf.valid_power_levels = POWER_LEVELS
+ rf.valid_bands = VALID_BANDS
+
+ return rf
+
+
+ def process_mmap(self):
+ """Process the mem map into the mem object"""
+ self._memobj = bitwise.parse(MEM_FORMAT, self._mmap)
+
+
+ def sync_in(self):
+ """Download from radio"""
+ try:
+ data = _download(self)
+ except errors.RadioError:
+ # Pass through any real errors we raise
+ raise
+ except:
+ # If anything unexpected happens, make sure we raise
+ # a RadioError and log the problem
+ LOG.exception('Unexpected error during download')
+ raise errors.RadioError('Unexpected error communicating '
+ 'with the radio')
+ self._mmap = memmap.MemoryMap(data)
+ self.process_mmap()
+
+
+ def sync_out(self):
+ """Upload to radio"""
+ try:
+ _upload(self)
+ except:
+ # If anything unexpected happens, make sure we raise
+ # a RadioError and log the problem
+ LOG.exception('Unexpected error during upload')
+ raise errors.RadioError('Unexpected error communicating '
+ 'with the radio')
+
+
+ def _is_txinh(self, _mem):
+ raw_tx = ""
+ for i in range(0, 4):
+ raw_tx += _mem.txfreq[i].get_raw()
+ return raw_tx == "\xFF\xFF\xFF\xFF"
+
+
+ def _get_mem(self, number):
+ return self._memobj.memory[number - 1]
+
+ def _get_nam(self, number):
+ return self._memobj.names[number - 1]
+
+ def get_memory(self, number):
+ _mem = self._get_mem(number)
+ _nam = self._get_nam(number)
+
+ mem = chirp_common.Memory()
+ mem.number = number
+
+ if _mem.get_raw()[0] == "\xff":
+ mem.empty = True
+ return mem
+
+ mem.freq = int(_mem.rxfreq) * 10
+
+ if self._is_txinh(_mem):
+ # TX freq not set
+ mem.duplex = "off"
+ mem.offset = 0
+ else:
+ # TX freq set
+ offset = (int(_mem.txfreq) * 10) - mem.freq
+ if offset != 0:
+ if _split(self.get_features(), mem.freq, int(_mem.txfreq) * 10):
+ mem.duplex = "split"
+ mem.offset = int(_mem.txfreq) * 10
+ elif offset < 0:
+ mem.offset = abs(offset)
+ mem.duplex = "-"
+ elif offset > 0:
+ mem.offset = offset
+ mem.duplex = "+"
+ else:
+ mem.offset = 0
+
+ if _nam.name:
+ for char in _nam.name:
+ try:
+ mem.name += CHARSET[char]
+ except IndexError:
+ break
+ mem.name = mem.name.rstrip()
+
+ #dtcs_pol = ["N", "N"]
+
+ if _mem.txtone in [0, 0xFFFF]:
+ txmode = ""
+ elif _mem.txtone >= 0x0258:
+ txmode = "Tone"
+ mem.rtone = int(_mem.txtone) / 10.0
+ else:
+ LOG.warn("Bug: txtone is %04x" % _mem.txtone)
+
+ #elif _mem.txtone <= 0x0258:
+ # txmode = "DTCS"
+ # if _mem.txtone > 0x69:
+ # index = _mem.txtone - 0x6A
+ # dtcs_pol[0] = "R"
+ # else:
+ # index = _mem.txtone - 1
+ # mem.dtcs = self.DTCS_CODES[index]
+ #else:
+ # LOG.warn("Bug: txtone is %04x" % _mem.txtone)
+
+ if _mem.rxtone in [0, 0xFFFF]:
+ rxmode = ""
+ elif _mem.rxtone >= 0x0258:
+ rxmode = "Tone"
+ mem.ctone = int(_mem.rxtone) / 10.0
+ else:
+ LOG.warn("Bug: rxtone is %04x" % _mem.rxtone)
+
+ #elif _mem.rxtone <= 0x0258:
+ # rxmode = "DTCS"
+ # if _mem.rxtone >= 0x6A:
+ # index = _mem.rxtone - 0x6A
+ # dtcs_pol[1] = "R"
+ # else:
+ # index = _mem.rxtone - 1
+ # mem.rx_dtcs = self.DTCS_CODES[index]
+ #else:
+ # LOG.warn("Bug: rxtone is %04x" % _mem.rxtone)
+
+ if txmode == "Tone" and not rxmode:
+ mem.tmode = "Tone"
+ elif txmode == rxmode and txmode == "Tone" and mem.rtone == mem.ctone:
+ mem.tmode = "TSQL"
+ elif rxmode or txmode:
+ mem.tmode = "Cross"
+ mem.cross_mode = "%s->%s" % (txmode, rxmode)
+
+ #elif txmode == rxmode and txmode == "DTCS" and mem.dtcs == mem.rx_dtcs:
+ # mem.tmode = "DTCS"
+ #elif rxmode or txmode:
+ # mem.tmode = "Cross"
+ # mem.cross_mode = "%s->%s" % (txmode, rxmode)
+
+ #mem.dtcs_polarity = "".join(dtcs_pol)
+
+ if not _mem.scan:
+ mem.skip = "S"
+
+ mem.power = POWER_LEVELS[1 - _mem.highpower]
+
+ mem.mode = _mem.wide and "FM" or "NFM"
+
+ mem.extra = RadioSettingGroup("Extra", "extra")
+
+ rs = RadioSetting("dtmf", "DTMF",
+ RadioSettingValueList(LIST_DTMF,
+ LIST_DTMF[_mem.dtmf]))
+ mem.extra.append(rs)
+
+ rs = RadioSetting("bcl", "BCL",
+ RadioSettingValueBoolean(_mem.bcl))
+ mem.extra.append(rs)
+
+ return mem
+
+
+ def _set_mem(self, number):
+ return self._memobj.memory[number - 1]
+
+ def _set_nam(self, number):
+ return self._memobj.names[number - 1]
+
+ def set_memory(self, mem):
+ _mem = self._get_mem(mem.number)
+ _nam = self._get_nam(mem.number)
+
+ if mem.empty:
+ _mem.set_raw("\xff" * 12 + "\xbf" +"\xff" * 3)
+ _nam.set_raw("\xff" * 16)
+ return
+
+ #_mem.set_raw("\x00" * 16)
+ _mem.set_raw("\xff" * 12 + "\x9f" +"\xff" * 3)
+
+ _mem.rxfreq = mem.freq / 10
+
+ if mem.duplex == "off":
+ for i in range(0, 4):
+ _mem.txfreq[i].set_raw("\xFF")
+ elif mem.duplex == "split":
+ _mem.txfreq = mem.offset / 10
+ elif mem.duplex == "+":
+ _mem.txfreq = (mem.freq + mem.offset) / 10
+ elif mem.duplex == "-":
+ _mem.txfreq = (mem.freq - mem.offset) / 10
+ else:
+ _mem.txfreq = mem.freq / 10
+
+ if _nam.name:
+ for i in range(0, 6):
+ try:
+ _nam.name[i] = CHARSET.index(mem.name[i])
+ except IndexError:
+ _nam.name[i] = 0xFF
+
+ rxmode = txmode = ""
+ if mem.tmode == "Tone":
+ _mem.txtone = int(mem.rtone * 10)
+ _mem.rxtone = 0
+ elif mem.tmode == "TSQL":
+ _mem.txtone = int(mem.ctone * 10)
+ _mem.rxtone = int(mem.ctone * 10)
+ #elif mem.tmode == "DTCS":
+ # rxmode = txmode = "DTCS"
+ # _mem.txtone = self.DTCS_CODES.index(mem.dtcs) + 1
+ # _mem.rxtone = self.DTCS_CODES.index(mem.dtcs) + 1
+ elif mem.tmode == "Cross":
+ txmode, rxmode = mem.cross_mode.split("->", 1)
+ if txmode == "Tone":
+ _mem.txtone = int(mem.rtone * 10)
+ #elif txmode == "DTCS":
+ # _mem.txtone = self.DTCS_CODES.index(mem.dtcs) + 1
+ else:
+ _mem.txtone = 0
+ if rxmode == "Tone":
+ _mem.rxtone = int(mem.ctone * 10)
+ #elif rxmode == "DTCS":
+ # _mem.rxtone = self.DTCS_CODES.index(mem.rx_dtcs) + 1
+ else:
+ _mem.rxtone = 0
+ else:
+ _mem.rxtone = 0
+ _mem.txtone = 0
+
+ #if txmode == "DTCS" and mem.dtcs_polarity[0] == "R":
+ # _mem.txtone += 0x69
+ #if rxmode == "DTCS" and mem.dtcs_polarity[1] == "R":
+ # _mem.rxtone += 0x69
+
+ _mem.scan = mem.skip != "S"
+ _mem.wide = mem.mode == "FM"
+
+ _mem.highpower = mem.power == POWER_LEVELS[0]
+
+ for setting in mem.extra:
+ setattr(_mem, setting.get_name(), setting.value)
+
+
+ def get_settings(self):
+ # """Translate the bit in the mem_struct into settings in the UI"""
+ _mem = self._memobj
+ basic = RadioSettingGroup("basic", "Basic Settings")
+ advanced = RadioSettingGroup("advanced", "Advanced Settings")
+ #other = RadioSettingGroup("other", "Other Settings")
+ #work = RadioSettingGroup("work", "Work Mode Settings")
+ #fm_preset = RadioSettingGroup("fm_preset", "FM Preset")
+ #dtmfe = RadioSettingGroup("dtmfe", "DTMF Encode Settings")
+ #dtmfd = RadioSettingGroup("dtmfd", "DTMF Decode Settings")
+ #service = RadioSettingGroup("service", "Service Settings")
+ #top = RadioSettings(basic, advanced, other, work, fm_preset, dtmfe,
+ # dtmfd, service)
+ top = RadioSettings(basic, advanced, )
+
+ # Basic settings
+ rs = RadioSetting("settings.beep", "Beep",
+ RadioSettingValueBoolean(_mem.settings.beep))
+ basic.append(rs)
+
+ if _mem.settings.squelcha > 0x09:
+ val = 0x00
+ else:
+ val = _mem.settings.squelcha
+ rs = RadioSetting("squelcha", "Squelch Level A",
+ RadioSettingValueInteger(0, 9, _mem.settings.squelcha))
+ basic.append(rs)
+
+
+ if _mem.settings.squelchb > 0x09:
+ val = 0x00
+ else:
+ val = _mem.settings.squelchb
+ rs = RadioSetting("squelchb", "Squelch Level B",
+ RadioSettingValueInteger(0, 9, _mem.settings.squelchb))
+ basic.append(rs)
+
+
+ if _mem.settings.voice > 0x02:
+ val = 0x01
+ else:
+ val = _mem.settings.voice
+ rs = RadioSetting("settings.voice", "Voice Prompt",
+ RadioSettingValueList(
+ LIST_VOICE, LIST_VOICE[val]))
+ basic.append(rs)
+
+ if _mem.settings.vox > 0x0A:
+ val = 0x00
+ else:
+ val = _mem.settings.vox
+ rs = RadioSetting("settings.vox", "VOX",
+ RadioSettingValueList(
+ LIST_OFF1TO10, LIST_OFF1TO10[val]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.autolk", "Automatic Key Lock",
+ RadioSettingValueBoolean(_mem.settings.autolk))
+ basic.append(rs)
+
+ if _mem.settings.screv > 0x02:
+ val = 0x01
+ else:
+ val = _mem.settings.screv
+ rs = RadioSetting("settings.screv", "Scan Resume",
+ RadioSettingValueList(
+ LIST_RESUME, LIST_RESUME[val]))
+ basic.append(rs)
+
+ if _mem.settings.toa > 0x0A:
+ val = 0x00
+ else:
+ val = _mem.settings.toa
+ rs = RadioSetting("settings.toa", "Time-out Pre-Alert",
+ RadioSettingValueList(
+ LIST_OFF1TO10, LIST_OFF1TO10[val]))
+ basic.append(rs)
+
+ if _mem.settings.timeout > 0x28:
+ val = 0x03
+ else:
+ val = _mem.settings.timeout
+ rs = RadioSetting("settings.timeout", "Timeout Timer",
+ RadioSettingValueList(
+ LIST_TIMEOUT, LIST_TIMEOUT[val]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.wtled", "Standby LED Color",
+ RadioSettingValueList(
+ LIST_COLOR, LIST_COLOR[_mem.settings.wtled]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.rxled", "RX LED Color",
+ RadioSettingValueList(
+ LIST_COLOR, LIST_COLOR[_mem.settings.rxled]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.txled", "TX LED Color",
+ RadioSettingValueList(
+ LIST_COLOR, LIST_COLOR[_mem.settings.txled]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.roger", "Roger Beep",
+ RadioSettingValueList(LIST_ROGER, LIST_ROGER[
+ _mem.settings.roger]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.mdfa", "Display Mode (A)",
+ RadioSettingValueList(LIST_MODE, LIST_MODE[
+ _mem.settings.mdfa]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.mdfb", "Display Mode (B)",
+ RadioSettingValueList(LIST_MODE, LIST_MODE[
+ _mem.settings.mdfb]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.pf1", "PF1 Key Assignment",
+ RadioSettingValueList(LIST_PF1, LIST_PF1[
+ _mem.settings.pf1]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.tdr", "Dual Watch(TDR)",
+ RadioSettingValueBoolean(_mem.settings.tdr))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.ani", "ANI",
+ RadioSettingValueBoolean(_mem.settings.ani))
+ basic.append(rs)
+
+ if _mem.settings.pttdly > 0x0A:
+ val = 0x00
+ else:
+ val = _mem.settings.pttdly
+ rs = RadioSetting("settings.pttdly", "PTT ID Delay",
+ RadioSettingValueList(
+ LIST_OFF1TO30, LIST_OFF1TO30[val]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.pttid", "When to send PTT ID",
+ RadioSettingValueList(LIST_PTTID,
+ LIST_PTTID[_mem.settings.pttid]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.dtmfst", "DTMF Sidetone",
+ RadioSettingValueList(LIST_DTMFST, LIST_DTMFST[
+ _mem.settings.dtmfst]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.ponmsg", "Power-On Message",
+ RadioSettingValueList(LIST_PONMSG, LIST_PONMSG[
+ _mem.settings.ponmsg]))
+ basic.append(rs)
+
+ rs = RadioSetting("settings.dw", "DW",
+ RadioSettingValueBoolean(_mem.settings.dw))
+ basic.append(rs)
+
+ # Advanced settings
+ rs = RadioSetting("settings.prioritych", "Priority Channel",
+ RadioSettingValueList(LIST_PRIORITY, LIST_PRIORITY[
+ _mem.settings.prioritych]))
+ advanced.append(rs)
+
+ rs = RadioSetting("settings.vfomr", "Work Mode",
+ RadioSettingValueList(LIST_WORKMODE, LIST_WORKMODE[
+ _mem.settings.vfomr]))
+ advanced.append(rs)
+
+ dtmfchars = "0123456789"
+ _codeobj = _mem.settings.code
+ _code = "".join([dtmfchars[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 3, _code, False)
+ val.set_charset(dtmfchars)
+ rs = RadioSetting("settings.code", "PTT-ID Code", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 3):
+ try:
+ code.append(dtmfchars.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.code = code
+ rs.set_apply_callback(apply_code, _mem.settings)
+ advanced.append(rs)
+
+ _codeobj = _mem.settings.password
+ _code = "".join([dtmfchars[x] for x in _codeobj if int(x) < 0x1F])
+ val = RadioSettingValueString(0, 6, _code, False)
+ val.set_charset(dtmfchars)
+ rs = RadioSetting("settings.password", "Control Password", val)
+
+ def apply_code(setting, obj):
+ code = []
+ for j in range(0, 6):
+ try:
+ code.append(dtmfchars.index(str(setting.value)[j]))
+ except IndexError:
+ code.append(0xFF)
+ obj.password = code
+ rs.set_apply_callback(apply_code, _mem.settings)
+ advanced.append(rs)
+
+ if _mem.settings.tdrab > 0x01:
+ val = 0x00
+ else:
+ val = _mem.settings.tdrab
+ rs = RadioSetting("settings.tdrab", "Dual Watch TX Priority",
+ RadioSettingValueList(
+ LIST_AB, LIST_AB[val]))
+ advanced.append(rs)
+
+ rs = RadioSetting("settings.keylk", "Key Lock",
+ RadioSettingValueBoolean(_mem.settings.keylk))
+ advanced.append(rs)
+
+ rs = RadioSetting("settings.control", "Control Code",
+ RadioSettingValueBoolean(_mem.settings.control))
+ advanced.append(rs)
+
+ return top
+
+
+
+ """
+ # Other settings
+ def _filter(name):
+ filtered = ""
+ for char in str(name):
+ if char in chirp_common.CHARSET_ASCII:
+ filtered += char
+ else:
+ filtered += " "
+ return filtered
+
+ _msg = _mem.sixpoweron_msg
+ val = RadioSettingValueString(0, 7, _filter(_msg.line1))
+ val.set_mutable(False)
+ rs = RadioSetting("sixpoweron_msg.line1", "6+Power-On Message 1", val)
+ other.append(rs)
+ val = RadioSettingValueString(0, 7, _filter(_msg.line2))
+ val.set_mutable(False)
+ rs = RadioSetting("sixpoweron_msg.line2", "6+Power-On Message 2", val)
+ other.append(rs)
+
+ _msg = _mem.poweron_msg
+ rs = RadioSetting("poweron_msg.line1", "Power-On Message 1",
+ RadioSettingValueString(
+ 0, 7, _filter(_msg.line1)))
+ other.append(rs)
+ rs = RadioSetting("poweron_msg.line2", "Power-On Message 2",
+ RadioSettingValueString(
+ 0, 7, _filter(_msg.line2)))
+ other.append(rs)
+
+ # DTMF encode settings
+
+ if _mem.ani.dtmfon > 0xC3:
+ val = 0x03
+ else:
+ val = _mem.ani.dtmfon
+ rs = RadioSetting("ani.dtmfon", "DTMF Speed (on)",
+ RadioSettingValueList(LIST_DTMFSPEED,
+ LIST_DTMFSPEED[val]))
+ dtmfe.append(rs)
+
+ if _mem.ani.dtmfoff > 0xC3:
+ val = 0x03
+ else:
+ val = _mem.ani.dtmfoff
+ rs = RadioSetting("ani.dtmfoff", "DTMF Speed (off)",
+ RadioSettingValueList(LIST_DTMFSPEED,
+ LIST_DTMFSPEED[val]))
+ dtmfe.append(rs)
+
+ """
+
+
+ def set_settings(self, settings):
+ _settings = self._memobj.settings
+ _mem = self._memobj
+ for element in settings:
+ if not isinstance(element, RadioSetting):
+ if element.get_name() == "fm_preset":
+ self._set_fm_preset(element)
+ else:
+ self.set_settings(element)
+ continue
+ else:
+ try:
+ name = element.get_name()
+ if "." in name:
+ bits = name.split(".")
+ obj = self._memobj
+ for bit in bits[:-1]:
+ if "/" in bit:
+ bit, index = bit.split("/", 1)
+ index = int(index)
+ obj = getattr(obj, bit)[index]
+ else:
+ obj = getattr(obj, bit)
+ setting = bits[-1]
+ else:
+ obj = _settings
+ setting = element.get_name()
+
+ if element.has_apply_callback():
+ LOG.debug("Using apply callback")
+ element.run_apply_callback()
+ 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
+
+ def _set_fm_preset(self, settings):
+ for element in settings:
+ try:
+ val = element.value
+ if self._memobj.fm_presets <= 108.0 * 10 - 650:
+ value = int(val.get_value() * 10 - 650)
+ else:
+ value = int(val.get_value() * 10)
+ LOG.debug("Setting fm_presets = %s" % (value))
+ self._memobj.fm_presets = value
+ except Exception, e:
+ LOG.debug(element.get_name())
+ raise
+
+
+ @classmethod
+ def match_model(cls, filedata, filename):
+ match_size = False
+ match_model = False
+
+ # testing the file data size
+ if len(filedata) == 0x2008:
+ match_size = True
+
+ # testing the model fingerprint
+ match_model = model_match(cls, filedata)
+
+ #if match_size and match_model:
+ if match_size and match_model:
+ return True
+ else:
+ return False
1
1