Developers
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2013
- 11 participants
- 42 discussions
Tested changes:
[Dan Smith <dsmith(a)danplanet.com>] Avoid complaining about driver file line lengths (for the time being)
Simple additions to large files like the previous few patches are hard
to reject when they follow the convention in the rest of the file.
Related to patches for #1167
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-B5] Display of STEP Setting Issue
This patch forces a valid STEP value and restores CHIRP's ability to
program frequencies with a resolution of 2.5 KHz
related to #1179
[Jim Unroe <rock.unroe(a)gmail.com>] [KG-UV3]Add FM Presets
for Wouxun KG-UVD1P, KG-UV2 and KG-UV3
expose fm preset settings fields in memmap
add FM Presets tab
add FM Preset settings and other associated support
related to #1167
[Jim Unroe <rock.unroe(a)gmail.com>] [KG-UV3]Add Basic Settings
for Wouxun KG-UVD1P, KG-UV2 and KG-UV3
expose basic settings fields in memmap
add Basic Settings tab
add Basic Settings and other associated support
related to #1167
Full log:
[...truncated 11 lines...]
[workspace] $ /bin/sh -xe /tmp/hudson7496473825040065499.sh
+ ./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_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 150 tests in 0.067s
OK
Registered Icom_IC-2820H = IC2820Radio
Registered TYT_TH-UVF8D = TYTUVF8DRadio
Registered AnyTone_5888UV = AnyTone5888UVRadio
Registered Intek_HR-2040 = IntekHR2040Radio
Registered Icom_IC-2200H = IC2200Radio
Registered Yaesu_FT-2800M = FT2800Radio
Registered Yaesu_VX-3 = VX3Radio
Registered Icom_IC-2100H = IC2100Radio
Registered Yaesu_FTM-350 = FTM350Radio
Registered Icom_IC-91_92AD_ICF_File = IC9xICFRadio
Registered Icom_IC-V82_U82 = ICx8xRadio
Registered Yaesu_VX-6 = VX6Radio
Registered Yaesu_VX-5 = VX5Radio
Registered Yaesu_FT-60 = FT60Radio
Registered Yaesu_VX-7 = VX7Radio
Registered Baofeng_UV-5R = BaofengUV5R
Registered Baofeng_F-11 = BaofengF11Radio
Registered Baofeng_UV-82 = BaofengUV82Radio
Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
Registered Yaesu_FT-1802M = FT1802Radio
Registered Kenwood_TK-7102 = KenwoodTK7102Radio
Registered Kenwood_TK-8102 = KenwoodTK8102Radio
Registered Kenwood_TK-7108 = KenwoodTK7108Radio
Registered Kenwood_TK-8108 = KenwoodTK8108Radio
Registered Icom_ID-31A = ID31Radio
Registered Icom_ID-51A = ID51Radio
Registered Icom_IC-2720H = IC2720Radio
Registered Icom_IC-T8A = ICT8ARadio
Registered Wouxun_KG-UVD1P = KGUVD1PRadio
Registered Wouxun_KG-UV6 = KGUV6DRadio
Registered Wouxun_KG-816 = KG816Radio
Registered Wouxun_KG-818 = KG818Radio
Registered TYT_TH-UVF1 = TYTTHUVF1Radio
Registered Yaesu_FT-90 = FT90Radio
Registered Generic_CSV = CSVRadio
Registered RT_Systems_CSV = RTCSVRadio
Registered Kenwood_ITM = ITMRadio
Registered Alinco_DR03T = DR03Radio
Registered Alinco_DR06T = DR06Radio
Registered Alinco_DR135T = DR135Radio
Registered Alinco_DR235T = DR235Radio
Registered Alinco_DR435T = DR435Radio
Registered Alinco_DJ596 = DJ596Radio
Registered Jetstream_JT220M = JT220MRadio
Registered Alinco_DJ175 = DJ175Radio
Registered Kenwood_TH-D7 = THD7Radio
Registered Kenwood_TH-D7G = THD7GRadio
Registered Kenwood_TM-D700 = TMD700Radio
Registered Kenwood_TM-V7 = TMV7Radio
Registered Kenwood_TM-G707 = TMG707Radio
Registered Kenwood_TH-G71 = THG71Radio
Registered Kenwood_TH-F6 = THF6ARadio
Registered Kenwood_TH-F7 = THF7ERadio
Registered Kenwood_TM-D710 = TMD710Radio
Registered Kenwood_TH-D72_live_mode = THD72Radio
Registered Kenwood_TM-V71 = TMV71Radio
Registered Kenwood_TH-K2 = THK2Radio
Registered Kenwood_TM-271 = TM271Radio
Registered Kenwood_TM-471 = TM471Radio
Registered Yaesu_VX-8_R = VX8Radio
Registered Yaesu_VX-8_DR = VX8DRadio
Registered Yaesu_VX-8_GE = VX8GERadio
Registered Icom_IC-T7H = ICT7HRadio
Registered Icom_IC-Q7A = ICQ7Radio
Registered Baofeng_UV-B5 = BaofengUVB5
Registered Generic_XML = XMLRadio
Registered Kenwood_HMK = HMKRadio
Registered Kenwood_TH-D72_clone_mode = THD72Radio
Registered Icom_IC-91_92AD = IC9xRadio
Registered Icom_IC-T70 = ICT70Radio
Registered Icom_IC-208H = IC208Radio
Registered Icom_ID-800H_v2 = ID800v2Radio
Registered Icom_7200 = Icom7200Radio
Registered Icom_7000 = Icom7000Radio
Registered Icom_746 = Icom746Radio
Registered ARRL_Travel_Plus = TpeRadio
Registered Vertex_Standard_VXA-700 = VXA700Radio
Registered Icom_IC-W32A = ICW32ARadio
Registered Baofeng_UV-3R = UV3RRadio
Registered Yaesu_VX-2 = VX2Radio
Registered Puxing_PX-777 = Puxing777Radio
Registered Puxing_PX-2R = Puxing2RRadio
Registered Baofeng_BF-888 = H777Radio
Registered Yaesu_FT-7800 = FT7800Radio
Registered Yaesu_FT-8800 = FT8800Radio
Registered Yaesu_FT-8900 = FT8900Radio
Registered Yaesu_FT-817 = FT817Radio
Registered Yaesu_FT-817ND = FT817NDRadio
Registered Yaesu_FT-817ND_US = FT817NDUSRadio
Registered Yaesu_FT-857_897 = FT857Radio
Registered Yaesu_FT-857_897_US = FT857USRadio
Registered Icom_ID-880H = ID880Radio
Registered Icom_ID-80H = ID80Radio
Registered TYT_TH-UV3R = TYTUV3RRadio
Alinco DJ175 Detect PASSED: All tests
Alinco DJ175 CopyAll PASSED: All tests
Alinco DJ175 Clone PASSED: All tests
Alinco DJ175 BruteForce PASSED: All tests
Alinco DJ175 Edges PASSED: All tests
Alinco DJ175 Banks SKIPPED: Banks not supported
Alinco DJ596 Detect PASSED: All tests
Alinco DJ596 CopyAll PASSED: All tests
Alinco DJ596 Clone PASSED: All tests
Alinco DJ596 BruteForce PASSED: All tests
Alinco DJ596 Edges PASSED: All tests
Alinco DJ596 Banks SKIPPED: Banks not supported
Alinco DR235T Detect PASSED: All tests
Alinco DR235T CopyAll PASSED: All tests
Alinco DR235T Clone PASSED: All tests
Alinco DR235T BruteForce PASSED: All tests
Alinco DR235T Edges PASSED: All tests
Alinco DR235T Banks SKIPPED: Banks not supported
Baofeng BF-888 Detect PASSED: All tests
Baofeng BF-888 CopyAll PASSED: All tests
Baofeng BF-888 Clone PASSED: All tests
Baofeng BF-888 BruteForce PASSED: All tests
Baofeng BF-888 Edges PASSED: All tests
Baofeng BF-888 Banks SKIPPED: Banks not supported
Baofeng F-11 Detect PASSED: All tests
Baofeng F-11 CopyAll PASSED: All tests
Baofeng F-11 Clone PASSED: All tests
Baofeng F-11 BruteForce PASSED: All tests
Baofeng F-11 Edges PASSED: All tests
Baofeng F-11 Banks SKIPPED: Banks not supported
Baofeng UV-3R Detect PASSED: All tests
Baofeng UV-3R CopyAll PASSED: All tests
Baofeng UV-3R Clone PASSED: All tests
Baofeng UV-3R BruteForce PASSED: All tests
Baofeng UV-3R Edges PASSED: All tests
Baofeng UV-3R Banks SKIPPED: Banks not supported
Baofeng UV-5R Detect PASSED: All tests
Baofeng UV-5R CopyAll PASSED: All tests
Baofeng UV-5R Clone PASSED: All tests
Baofeng UV-5R BruteForce PASSED: All tests
Baofeng UV-5R Edges PASSED: All tests
Baofeng UV-5R Banks SKIPPED: Banks not supported
Baofeng UV-B5 Detect PASSED: All tests
Baofeng UV-B5 CopyAll PASSED: All tests
Baofeng UV-B5 Clone PASSED: All tests
Baofeng UV-B5 BruteForce PASSED: All tests
Baofeng UV-B5 Edges PASSED: All tests
Baofeng UV-B5 Banks SKIPPED: Banks not supported
Icom IC-208H Detect PASSED: All tests
Icom IC-208H CopyAll PASSED: All tests
Icom IC-208H Clone PASSED: All tests
Icom IC-208H BruteForce PASSED: All tests
Icom IC-208H Edges PASSED: All tests
Icom IC-208H Banks PASSED: All tests
Icom IC-2100H Detect PASSED: All tests
Icom IC-2100H CopyAll PASSED: All tests
Icom IC-2100H Clone PASSED: All tests
Icom IC-2100H BruteForce PASSED: All tests
Icom IC-2100H Edges PASSED: All tests
Icom IC-2100H Banks SKIPPED: Banks not supported
Icom IC-2200H Detect PASSED: All tests
Icom IC-2200H CopyAll PASSED: All tests
Icom IC-2200H Clone PASSED: All tests
Icom IC-2200H BruteForce PASSED: All tests
Icom IC-2200H Edges PASSED: All tests
Icom IC-2200H Banks PASSED: All tests
Icom IC-2720H Detect PASSED: All tests
Icom IC-2720H CopyAll PASSED: All tests
Icom IC-2720H Clone PASSED: All tests
Icom IC-2720H BruteForce PASSED: All tests
Icom IC-2720H Edges PASSED: All tests
Icom IC-2720H Banks PASSED: All tests
Icom IC-2820H Detect PASSED: All tests
Icom IC-2820H CopyAll PASSED: All tests
Icom IC-2820H Clone PASSED: All tests
Icom IC-2820H BruteForce PASSED: All tests
Icom IC-2820H Edges PASSED: All tests
Icom IC-2820H Banks PASSED: All tests
Icom IC-Q7A Detect PASSED: All tests
Icom IC-Q7A CopyAll PASSED: All tests
Icom IC-Q7A Clone PASSED: All tests
Icom IC-Q7A BruteForce PASSED: All tests
Icom IC-Q7A Edges PASSED: All tests
Icom IC-Q7A Banks SKIPPED: Banks not supported
Icom IC-T70 Detect PASSED: All tests
Icom IC-T70 CopyAll PASSED: All tests
Icom IC-T70 Clone PASSED: All tests
Icom IC-T70 BruteForce PASSED: All tests
Icom IC-T70 Edges PASSED: All tests
Icom IC-T70 Banks PASSED: All tests
Icom IC-T7H Detect PASSED: All tests
Icom IC-T7H CopyAll PASSED: All tests
Icom IC-T7H Clone PASSED: All tests
Icom IC-T7H BruteForce PASSED: All tests
Icom IC-T7H Edges PASSED: All tests
Icom IC-T7H Banks SKIPPED: Banks not supported
Icom IC-T8A Detect PASSED: All tests
Icom IC-T8A CopyAll PASSED: All tests
Icom IC-T8A Clone PASSED: All tests
Icom IC-T8A BruteForce PASSED: All tests
Icom IC-T8A Edges PASSED: All tests
Icom IC-T8A Banks SKIPPED: Banks not supported
Icom IC-V82/U82 Detect PASSED: All tests
Icom IC-V82/U82 CopyAll PASSED: All tests
Icom IC-V82/U82 Clone PASSED: All tests
Icom IC-V82/U82 BruteForce PASSED: All tests
Icom IC-V82/U82 Edges PASSED: All tests
Icom IC-V82/U82 Banks PASSED: All tests
Icom IC-W32A VHF Detect PASSED: All tests
Icom IC-W32A VHF CopyAll PASSED: All tests
Icom IC-W32A VHF Clone PASSED: All tests
Icom IC-W32A VHF BruteForce PASSED: All tests
Icom IC-W32A VHF Edges PASSED: All tests
Icom IC-W32A VHF Banks SKIPPED: Banks not supported
Icom IC-W32A UHF Detect PASSED: All tests
Icom IC-W32A UHF CopyAll PASSED: All tests
Icom IC-W32A UHF Clone PASSED: All tests
Icom IC-W32A UHF BruteForce PASSED: All tests
Icom IC-W32A UHF Edges PASSED: All tests
Icom IC-W32A UHF Banks SKIPPED: Banks not supported
Icom ID-31A Detect PASSED: All tests
Icom ID-31A CopyAll PASSED: All tests
Icom ID-31A Clone PASSED: All tests
Icom ID-31A BruteForce PASSED: All tests
Icom ID-31A Edges PASSED: All tests
Icom ID-31A Banks PASSED: All tests
Icom ID-51A Detect PASSED: All tests
Icom ID-51A CopyAll PASSED: All tests
Icom ID-51A Clone PASSED: All tests
Icom ID-51A BruteForce PASSED: All tests
Icom ID-51A Edges PASSED: All tests
Icom ID-51A Banks PASSED: All tests
Icom ID-800H v2 Detect PASSED: All tests
Icom ID-800H v2 CopyAll PASSED: All tests
Icom ID-800H v2 Clone PASSED: All tests
Icom ID-800H v2 BruteForce PASSED: All tests
Icom ID-800H v2 Edges PASSED: All tests
Icom ID-800H v2 Banks PASSED: All tests
Icom ID-880H Detect PASSED: All tests
Icom ID-880H CopyAll PASSED: All tests
Icom ID-880H Clone PASSED: All tests
Icom ID-880H BruteForce PASSED: All tests
Icom ID-880H Edges PASSED: All tests
Icom ID-880H Banks PASSED: All tests
Jetstream JT220M Detect PASSED: All tests
Jetstream JT220M CopyAll PASSED: All tests
Jetstream JT220M Clone PASSED: All tests
Jetstream JT220M BruteForce PASSED: All tests
Jetstream JT220M Edges PASSED: All tests
Jetstream JT220M Banks SKIPPED: Banks not supported
Kenwood TH-D72 (clone Detect PASSED: All tests
Kenwood TH-D72 (clone CopyAll PASSED: All tests
Kenwood TH-D72 (clone Clone PASSED: All tests
Kenwood TH-D72 (clone BruteForce PASSED: All tests
Kenwood TH-D72 (clone Edges PASSED: All tests
Kenwood TH-D72 (clone Banks SKIPPED: Banks not supported
Kenwood TK-8102 Detect PASSED: All tests
Kenwood TK-8102 CopyAll PASSED: All tests
Kenwood TK-8102 Clone PASSED: All tests
Kenwood TK-8102 BruteForce PASSED: All tests
Kenwood TK-8102 Edges PASSED: All tests
Kenwood TK-8102 Banks SKIPPED: Banks not supported
Puxing PX-2R Detect PASSED: All tests
Puxing PX-2R CopyAll PASSED: All tests
Puxing PX-2R Clone PASSED: All tests
Puxing PX-2R BruteForce PASSED: All tests
Puxing PX-2R Edges PASSED: All tests
Puxing PX-2R Banks SKIPPED: Banks not supported
Puxing PX-777 Detect PASSED: All tests
Puxing PX-777 CopyAll PASSED: All tests
Puxing PX-777 Clone PASSED: All tests
Puxing PX-777 BruteForce PASSED: All tests
Puxing PX-777 Edges PASSED: All tests
Puxing PX-777 Banks SKIPPED: Banks not supported
TYT TH-UV3R Detect PASSED: All tests
TYT TH-UV3R CopyAll PASSED: All tests
TYT TH-UV3R Clone PASSED: All tests
TYT TH-UV3R BruteForce PASSED: All tests
TYT TH-UV3R Edges PASSED: All tests
TYT TH-UV3R Banks SKIPPED: Banks not supported
TYT TH-UVF1 Detect PASSED: All tests
TYT TH-UVF1 CopyAll PASSED: All tests
TYT TH-UVF1 Clone PASSED: All tests
TYT TH-UVF1 BruteForce PASSED: All tests
TYT TH-UVF1 Edges PASSED: All tests
TYT TH-UVF1 Banks SKIPPED: Banks not supported
Vertex VXA-700 Detect PASSED: All tests
Vertex VXA-700 CopyAll PASSED: All tests
Vertex VXA-700 Clone PASSED: All tests
Vertex VXA-700 BruteForce PASSED: All tests
Vertex VXA-700 Edges PASSED: All tests
Vertex VXA-700 Banks SKIPPED: Banks not supported
Wouxun KG-816 Detect PASSED: All tests
Wouxun KG-816 CopyAll PASSED: All tests
Wouxun KG-816 Clone PASSED: All tests
Wouxun KG-816 BruteForce PASSED: All tests
Wouxun KG-816 Edges PASSED: All tests
Wouxun KG-816 Banks SKIPPED: Banks not supported
Wouxun KG-818 Detect PASSED: All tests
Wouxun KG-818 CopyAll PASSED: All tests
Wouxun KG-818 Clone PASSED: All tests
Wouxun KG-818 BruteForce PASSED: All tests
Wouxun KG-818 Edges PASSED: All tests
Wouxun KG-818 Banks SKIPPED: Banks not supported
Wouxun KG-UV6 Detect PASSED: All tests
Wouxun KG-UV6 CopyAll PASSED: All tests
Wouxun KG-UV6 Clone PASSED: All tests
Wouxun KG-UV6 BruteForce PASSED: All tests
Wouxun KG-UV6 Edges PASSED: All tests
Wouxun KG-UV6 Banks SKIPPED: Banks not supported
Wouxun KG-UVD1P Detect PASSED: All tests
Wouxun KG-UVD1P CopyAll PASSED: All tests
Wouxun KG-UVD1P Clone PASSED: All tests
Wouxun KG-UVD1P BruteForce PASSED: All tests
Wouxun KG-UVD1P Edges PASSED: All tests
Wouxun KG-UVD1P Banks SKIPPED: Banks not supported
Yaesu FT-1802M Detect PASSED: All tests
Yaesu FT-1802M CopyAll PASSED: All tests
Yaesu FT-1802M Clone PASSED: All tests
Yaesu FT-1802M BruteForce PASSED: All tests
Yaesu FT-1802M Edges PASSED: All tests
Yaesu FT-1802M Banks SKIPPED: Banks not supported
Yaesu FT-2800M Detect PASSED: All tests
Yaesu FT-2800M CopyAll PASSED: All tests
Yaesu FT-2800M Clone PASSED: All tests
Yaesu FT-2800M BruteForce PASSED: All tests
Yaesu FT-2800M Edges PASSED: All tests
Yaesu FT-2800M Banks SKIPPED: Banks not supported
Yaesu FT-60 Detect PASSED: All tests
Yaesu FT-60 CopyAll PASSED: All tests
Yaesu FT-60 Clone PASSED: All tests
Yaesu FT-60 BruteForce PASSED: All tests
Yaesu FT-60 Edges PASSED: All tests
Yaesu FT-60 Banks SKIPPED: Banks not supported
Yaesu FT-7800 Detect PASSED: All tests
Yaesu FT-7800 CopyAll PASSED: All tests
Yaesu FT-7800 Clone PASSED: All tests
Yaesu FT-7800 BruteForce PASSED: All tests
Yaesu FT-7800 Edges PASSED: All tests
Yaesu FT-7800 Banks PASSED: All tests
Yaesu FT-817 Detect PASSED: All tests
Yaesu FT-817 CopyAll PASSED: All tests
Yaesu FT-817 Clone PASSED: All tests
Yaesu FT-817 BruteForce PASSED: All tests
Yaesu FT-817 Edges PASSED: All tests
Yaesu FT-817 Banks SKIPPED: Banks not supported
Yaesu FT-817ND Detect PASSED: All tests
Yaesu FT-817ND CopyAll PASSED: All tests
Yaesu FT-817ND Clone PASSED: All tests
Yaesu FT-817ND BruteForce PASSED: All tests
Yaesu FT-817ND Edges PASSED: All tests
Yaesu FT-817ND Banks SKIPPED: Banks not supported
Yaesu FT-817ND (US) Detect PASSED: All tests
Yaesu FT-817ND (US) CopyAll PASSED: All tests
Yaesu FT-817ND (US) Clone PASSED: All tests
Yaesu FT-817ND (US) BruteForce PASSED: All tests
Yaesu FT-817ND (US) Edges PASSED: All tests
Yaesu FT-817ND (US) Banks SKIPPED: Banks not supported
Yaesu FT-857/897 Detect PASSED: All tests
Yaesu FT-857/897 CopyAll PASSED: All tests
Yaesu FT-857/897 Clone PASSED: All tests
Yaesu FT-857/897 BruteForce PASSED: All tests
Yaesu FT-857/897 Edges PASSED: All tests
Yaesu FT-857/897 Banks SKIPPED: Banks not supported
Yaesu FT-857/897 (U Detect PASSED: All tests
Yaesu FT-857/897 (U CopyAll PASSED: All tests
Yaesu FT-857/897 (U Clone PASSED: All tests
Yaesu FT-857/897 (U BruteForce PASSED: All tests
Yaesu FT-857/897 (U Edges PASSED: All tests
Yaesu FT-857/897 (U Banks SKIPPED: Banks not supported
Yaesu FT-8800 Left Detect PASSED: All tests
Yaesu FT-8800 Left CopyAll PASSED: All tests
Yaesu FT-8800 Left Clone PASSED: All tests
Yaesu FT-8800 Left BruteForce PASSED: All tests
Yaesu FT-8800 Left Edges PASSED: All tests
Yaesu FT-8800 Left Banks PASSED: All tests
Yaesu FT-8800 Right Detect PASSED: All tests
Yaesu FT-8800 Right CopyAll PASSED: All tests
Yaesu FT-8800 Right Clone PASSED: All tests
Yaesu FT-8800 Right BruteForce PASSED: All tests
Yaesu FT-8800 Right Edges PASSED: All tests
Yaesu FT-8800 Right Banks PASSED: All tests
Yaesu FT-8900 Detect PASSED: All tests
Yaesu FT-8900 CopyAll PASSED: All tests
Yaesu FT-8900 Clone PASSED: All tests
Yaesu FT-8900 BruteForce PASSED: All tests
Yaesu FT-8900 Edges PASSED: All tests
Yaesu FT-8900 Banks SKIPPED: Banks not supported
Yaesu FTM-350 Left Detect PASSED: All tests
Yaesu FTM-350 Left CopyAll PASSED: All tests
Yaesu FTM-350 Left Clone PASSED: All tests
Yaesu FTM-350 Left BruteForce PASSED: All tests
Yaesu FTM-350 Left Edges PASSED: All tests
Yaesu FTM-350 Left Banks SKIPPED: Banks not supported
Yaesu FTM-350 Right Detect PASSED: All tests
Yaesu FTM-350 Right CopyAll PASSED: All tests
Yaesu FTM-350 Right Clone PASSED: All tests
Yaesu FTM-350 Right BruteForce PASSED: All tests
Yaesu FTM-350 Right Edges PASSED: All tests
Yaesu FTM-350 Right Banks SKIPPED: Banks not supported
Yaesu VX-2 Detect PASSED: All tests
Yaesu VX-2 CopyAll PASSED: All tests
Yaesu VX-2 Clone PASSED: All tests
Yaesu VX-2 BruteForce PASSED: All tests
Yaesu VX-2 Edges PASSED: All tests
Yaesu VX-2 Banks PASSED: All tests
Yaesu VX-3 Detect PASSED: All tests
Yaesu VX-3 CopyAll PASSED: All tests
Yaesu VX-3 Clone PASSED: All tests
Yaesu VX-3 BruteForce PASSED: All tests
Yaesu VX-3 Edges PASSED: All tests
Yaesu VX-3 Banks PASSED: All tests
Yaesu VX-5 Detect PASSED: All tests
Yaesu VX-5 CopyAll PASSED: All tests
Yaesu VX-5 Clone PASSED: All tests
Yaesu VX-5 BruteForce PASSED: All tests
Yaesu VX-5 Edges PASSED: All tests
Yaesu VX-5 Banks PASSED: All tests
Yaesu VX-6 Detect PASSED: All tests
Yaesu VX-6 CopyAll PASSED: All tests
Yaesu VX-6 Clone PASSED: All tests
Yaesu VX-6 BruteForce PASSED: All tests
Yaesu VX-6 Edges PASSED: All tests
Yaesu VX-6 Banks PASSED: All tests
Yaesu VX-7 Detect PASSED: All tests
Yaesu VX-7 CopyAll PASSED: All tests
Yaesu VX-7 Clone PASSED: All tests
Yaesu VX-7 BruteForce PASSED: All tests
Yaesu VX-7 Edges PASSED: All tests
Yaesu VX-7 Banks PASSED: All tests
Yaesu VX-8 R Detect PASSED: All tests
Yaesu VX-8 R CopyAll PASSED: All tests
Yaesu VX-8 R Clone PASSED: All tests
Yaesu VX-8 R BruteForce PASSED: All tests
Yaesu VX-8 R Edges PASSED: All tests
Yaesu VX-8 R Banks PASSED: All tests
----------------------------------------------------------------------
Results:
TOTAL : 336
FAILED : 0
SKIPPED: 37
PASSED : 299
CRASHED: 0
Patch 'tip' is OK
================================================
Tests OK
Email was triggered for: Success
Sending email for trigger: Success
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1386511833 18000
# Node ID 41950a14c1c9103caa4561531dffe38b71e11e39
# Parent 720f9773857660de70f767262f1c729d99c316d1
[UV-B5] Display of STEP Setting Issue
This patch forces a valid STEP value and restores CHIRP's ability to
program frequencies with a resolution of 2.5 KHz
related to #1179
diff -r 720f97738576 -r 41950a14c1c9 chirp/uvb5.py
--- a/chirp/uvb5.py Tue Dec 03 11:13:12 2013 -0800
+++ b/chirp/uvb5.py Sun Dec 08 09:10:33 2013 -0500
@@ -284,8 +284,7 @@
rf.valid_power_levels = POWER_LEVELS
rf.has_ctone = True
rf.has_bank = False
- rf.has_tuning_step = True
- rf.valid_tuning_steps = UVB5_STEPS
+ rf.has_tuning_step = False
rf.memory_bounds = (1, 99)
return rf
@@ -371,11 +370,8 @@
self._decode_tone(_mem.txtone, _mem.txpol),
self._decode_tone(_mem.rxtone, _mem.rxpol))
- if _mem.step < 0x06:
- mem.tuning_step = UVB5_STEPS[_mem.step]
- else:
+ if _mem.step > 0x05:
_mem.step = 0x00
- mem.tuning_step = UVB5_STEPS[0]
mem.duplex = DUPLEX[_mem.duplex]
mem.mode = _mem.isnarrow and "NFM" or "FM"
mem.skip = "" if _mem.scanadd else "S"
@@ -442,7 +438,6 @@
self._encode_tone(_mem, 'tx', *tx)
self._encode_tone(_mem, 'rx', *rx)
- _mem.step = UVB5_STEPS.index(mem.tuning_step)
_mem.isnarrow = mem.mode == "NFM"
_mem.scanadd = mem.skip == ""
_mem.highpower = mem.power == POWER_LEVELS[1]
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1386445464 18000
# Node ID eee14df4c4e590bf653da9a507a009be070e06e3
# Parent a7632ab56621a4843eb0f6cd2e917196510b615e
[KG-UV3]Add FM Presets
for Wouxun KG-UVD1P, KG-UV2 and KG-UV3
expose fm preset settings fields in memmap
add FM Presets tab
add FM Preset settings and other associated support
related to #1167
diff -r a7632ab56621 -r eee14df4c4e5 chirp/wouxun.py
--- a/chirp/wouxun.py Fri Dec 06 14:57:28 2013 -0500
+++ b/chirp/wouxun.py Sat Dec 07 14:44:24 2013 -0500
@@ -85,6 +85,12 @@
u8 unknown[2];
} memory[199];
+ #seekto 0x0842;
+ u16 fm_presets_0[9];
+
+ #seekto 0x0882;
+ u16 fm_presets_1[9];
+
#seekto 0x0970;
struct {
u16 vhf_rx_start;
@@ -324,7 +330,8 @@
def get_settings(self):
freqranges = RadioSettingGroup("freqranges", "Freq ranges")
- top = RadioSettingGroup("top", "All Settings", freqranges)
+ fm_preset = RadioSettingGroup("fm_preset", "FM Presets")
+ top = RadioSettingGroup("top", "All Settings", freqranges, fm_preset)
rs = RadioSetting("menu_available", "Menu Available",
RadioSettingValueBoolean(
@@ -570,6 +577,29 @@
rs.set_apply_callback(apply_ani_id, self._memobj.settings)
top.append(rs)
+ for i in range(0, 9):
+ if self._memobj.fm_presets_0[i] != 0xFFFF:
+ used = True
+ preset = self._memobj.fm_presets_0[i]/10.0+76
+ else:
+ used = False
+ preset = 76
+ rs = RadioSetting("fm_presets_0_%1i" % i, "Team 1 Location %i" % (i+1),
+ RadioSettingValueBoolean(used),
+ RadioSettingValueFloat(76, 108, preset, 0.1, 1))
+ fm_preset.append(rs)
+ for i in range(0, 9):
+ if self._memobj.fm_presets_1[i] != 0xFFFF:
+ used = True
+ preset = self._memobj.fm_presets_1[i]/10.0+76
+ else:
+ used = False
+ preset = 76
+ rs = RadioSetting("fm_presets_1_%1i" % i, "Team 2 Location %i" % (i+1),
+ RadioSettingValueBoolean(used),
+ RadioSettingValueFloat(76, 108, preset, 0.1, 1))
+ fm_preset.append(rs)
+
return top
def set_settings(self, settings):
@@ -577,6 +607,8 @@
if not isinstance(element, RadioSetting):
if element.get_name() == "freqranges" :
self._set_freq_settings(element)
+ elif element.get_name() == "fm_preset" :
+ self._set_fm_preset(element)
else:
self.set_settings(element)
continue
@@ -602,6 +634,26 @@
print element.get_name()
raise
+ def _set_fm_preset(self, settings):
+ obj = self._memobj
+ for element in settings:
+ try:
+ (bank, index) = (int(a) for a in element.get_name().split("_")[-2:])
+ val = element.value
+ if val[0].get_value():
+ value = int(val[1].get_value()*10-760)
+ else:
+ value = 0xffff
+ print "Setting fm_presets_%1i[%1i] = %s" % (bank, index, value)
+ if bank == 0:
+ setting = self._memobj.fm_presets_0
+ else:
+ setting = self._memobj.fm_presets_1
+ setting[index] = value
+ except Exception, e:
+ print element.get_name()
+ raise
+
def _set_freq_settings(self, settings):
for element in settings:
try:
1
0
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1386359848 18000
# Node ID a7632ab56621a4843eb0f6cd2e917196510b615e
# Parent 720f9773857660de70f767262f1c729d99c316d1
[KG-UV3]Add Basic Settings
for Wouxun KG-UVD1P, KG-UV2 and KG-UV3
expose basic settings fields in memmap
add Basic Settings tab
add Basic Settings and other associated support
related to #1167
diff -r 720f97738576 -r a7632ab56621 chirp/wouxun.py
--- a/chirp/wouxun.py Tue Dec 03 11:13:12 2013 -0800
+++ b/chirp/wouxun.py Fri Dec 06 14:57:28 2013 -0500
@@ -97,10 +97,86 @@
u16 uhf_tx_stop;
} freq_ranges;
- #seekto 0x0E5C;
+ #seekto 0x0E00;
struct {
- u8 unknown_flag1:7,
+ char welcome1[6];
+ char welcome2[6];
+ char single_band[6];
+ } strings;
+
+ #seekto 0x0E20;
+ struct {
+ u8 unknown_flag_01:6,
+ vfo_b_ch_disp:2;
+ u8 unknown_flag_02:5,
+ vfo_a_fr_step:3;
+ u8 unknown_flag_03:4,
+ vfo_a_squelch:4;
+ u8 unknown_flag_04:7,
+ power_save:1;
+ u8 unknown_flag_05:8;
+ u8 unknown_flag_06:6,
+ roger_beep:2;
+ u8 unknown_flag_07:2,
+ transmit_time_out:6;
+ u8 unknown_flag_08:4,
+ vox:4;
+ u8 unknown_1[4];
+ u8 unknown_flag_09:6,
+ voice:2;
+ u8 unknown_flag_10:7,
+ beep:1;
+ u8 unknown_flag_11:7,
+ ani_id_enable:1;
+ u8 unknown_2[2];
+ u8 unknown_flag_12:5,
+ vfo_b_fr_step:3;
+ u8 unknown_3[1];
+ u8 unknown_flag_13:3,
+ ani_id_tx_delay:5;
+ u8 unknown_4[1];
+ u8 unknown_flag_14:6,
+ ani_id_sidetone:2;
+ u8 unknown_flag_15:4,
+ tx_time_out_alert:4;
+ u8 unknown_flag_16:6,
+ vfo_a_ch_disp:2;
+ u8 unknown_flag_15:6,
+ scan_mode:2;
+ u8 unknown_flag_16:7,
+ kbd_lock:1;
+ u8 unknown_flag_17:6,
+ ponmsg:2;
+ u8 unknown_flag_18:5,
+ pf1_function:3;
+ u8 unknown_5[1];
+ u8 unknown_flag_19:7,
+ auto_backlight:1;
+ u8 unknown_flag_20:7,
+ sos_ch:1;
+ u8 unknown_6;
+ u8 sd_available;
+ u8 unknown_flag_21:7,
+ auto_lock_kbd:1;
+ u8 unknown_flag_22:4,
+ vfo_b_squelch:4;
+ u8 unknown_7[1];
+ u8 unknown_flag_23:7,
+ stopwatch:1;
+ u8 vfo_a_cur_chan;
+ u8 unknown_flag_24:7,
+ dual_band_receive:1;
+ u8 current_vfo:1,
+ unknown_flag_24:7;
+ u8 unknown_8[2];
+ u8 mode_password[6];
+ u8 reset_password[6];
+ u8 ani_id_content[6];
+ u8 unknown_flag_25:7,
menu_available:1;
+ u8 unknown_9[1];
+ u8 priority_chan;
+ u8 vfo_b_cur_chan;
} settings;
#seekto 0x1008;
@@ -299,19 +375,211 @@
# tell the decoded ranges to UI
self.valid_freq = [
( decode_freq(self._memobj.freq_ranges.vhf_rx_start) * 1000000,
- (decode_freq(self._memobj.freq_ranges.vhf_rx_stop)+1) * 1000000),
+ (decode_freq(self._memobj.freq_ranges.vhf_rx_stop)+1) * 1000000),
( decode_freq(self._memobj.freq_ranges.uhf_rx_start) * 1000000,
(decode_freq(self._memobj.freq_ranges.uhf_rx_stop)+1) * 1000000)]
+ def _filter(name):
+ filtered = ""
+ for char in str(name):
+ if char in chirp_common.CHARSET_ASCII:
+ filtered += char
+ else:
+ filtered += " "
+ return filtered
+
+ # add some radio specific settings
+ options = ["Off", "Welcome", "V bat"]
+ rs = RadioSetting("ponmsg", "Poweron message",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.ponmsg]))
+ top.append(rs)
+ rs = RadioSetting("strings.welcome1", "Power-On Message 1",
+ RadioSettingValueString(0, 6,
+ _filter(self._memobj.strings.welcome1)))
+ top.append(rs)
+ rs = RadioSetting("strings.welcome2", "Power-On Message 2",
+ RadioSettingValueString(0, 6,
+ _filter(self._memobj.strings.welcome2)))
+ top.append(rs)
+ rs = RadioSetting("strings.single_band", "Single Band Message",
+ RadioSettingValueString(0, 6,
+ _filter(self._memobj.strings.single_band)))
+ top.append(rs)
+ options = ["Channel", "ch/freq","Name", "VFO"]
+ rs = RadioSetting("vfo_a_ch_disp", "VFO A Channel disp mode",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.vfo_a_ch_disp]))
+ top.append(rs)
+ rs = RadioSetting("vfo_b_ch_disp", "VFO B Channel disp mode",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.vfo_b_ch_disp]))
+ top.append(rs)
+ options = ["5.0", "6.25", "10.0", "12.5", "25.0", "50.0", "100.0"]
+ rs = RadioSetting("vfo_a_fr_step", "VFO A Frequency Step",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.vfo_a_fr_step]))
+ top.append(rs)
+ rs = RadioSetting("vfo_b_fr_step", "VFO B Frequency Step",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.vfo_b_fr_step]))
+ top.append(rs)
+ rs = RadioSetting("vfo_a_squelch", "VFO A Squelch",
+ RadioSettingValueInteger(0, 9,
+ self._memobj.settings.vfo_a_squelch))
+ top.append(rs)
+ rs = RadioSetting("vfo_b_squelch", "VFO B Squelch",
+ RadioSettingValueInteger(0, 9,
+ self._memobj.settings.vfo_b_squelch))
+ top.append(rs)
+ rs = RadioSetting("vfo_a_cur_chan", "VFO A current channel",
+ RadioSettingValueInteger(1, 128,
+ self._memobj.settings.vfo_a_cur_chan))
+ top.append(rs)
+ rs = RadioSetting("vfo_b_cur_chan", "VFO B current channel",
+ RadioSettingValueInteger(1, 128,
+ self._memobj.settings.vfo_b_cur_chan))
+ top.append(rs)
+ rs = RadioSetting("priority_chan", "Priority channel",
+ RadioSettingValueInteger(0, 199,
+ self._memobj.settings.priority_chan))
+ top.append(rs)
+ rs = RadioSetting("power_save", "Power save",
+ RadioSettingValueBoolean(
+ self._memobj.settings.power_save))
+ top.append(rs)
+ options = ["Off", "Scan", "Lamp", "SOS", "Radio"]
+ rs = RadioSetting("pf1_function", "PF1 Function select",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.pf1_function]))
+ top.append(rs)
+ options = ["Off", "Begin", "End", "Both"]
+ rs = RadioSetting("roger_beep", "Roger beep select",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.roger_beep]))
+ top.append(rs)
+ options = ["%s" % x for x in range(15, 615, 15)]
+ rs = RadioSetting("transmit_time_out", "TX Time-out Timer",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.transmit_time_out]))
+ top.append(rs)
+ rs = RadioSetting("tx_time_out_alert", "TX Time-out Alert",
+ RadioSettingValueInteger(0, 10,
+ self._memobj.settings.tx_time_out_alert))
+ top.append(rs)
+ rs = RadioSetting("vox", "Vox",
+ RadioSettingValueInteger(0, 10,
+ self._memobj.settings.vox))
+ top.append(rs)
+ options = ["Off", "Chinese", "English"]
+ rs = RadioSetting("voice", "Voice",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.voice]))
+ top.append(rs)
+ rs = RadioSetting("beep", "Beep",
+ RadioSettingValueBoolean(self._memobj.settings.beep))
+ top.append(rs)
+ rs = RadioSetting("ani_id_enable", "ANI id enable",
+ RadioSettingValueBoolean(
+ self._memobj.settings.ani_id_enable))
+ top.append(rs)
+ rs = RadioSetting("ani_id_tx_delay", "ANI id tx delay",
+ RadioSettingValueInteger(0, 30,
+ self._memobj.settings.ani_id_tx_delay))
+ top.append(rs)
+ options = ["Off", "Key", "ANI", "Key+ANI"]
+ rs = RadioSetting("ani_id_sidetone", "ANI id sidetone",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.ani_id_sidetone]))
+ top.append(rs)
+ options = ["Time", "Carrier", "Search"]
+ rs = RadioSetting("scan_mode", "Scan mode",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.scan_mode]))
+ top.append(rs)
+ rs = RadioSetting("kbd_lock", "Keyboard lock",
+ RadioSettingValueBoolean(
+ self._memobj.settings.kbd_lock))
+ top.append(rs)
+ rs = RadioSetting("auto_lock_kbd", "Auto lock keyboard",
+ RadioSettingValueBoolean(
+ self._memobj.settings.auto_lock_kbd))
+ top.append(rs)
+ rs = RadioSetting("auto_backlight", "Auto backlight",
+ RadioSettingValueBoolean(
+ self._memobj.settings.auto_backlight))
+ top.append(rs)
+ options = ["CH A", "CH B"]
+ rs = RadioSetting("sos_ch", "SOS CH",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.sos_ch]))
+ top.append(rs)
+ rs = RadioSetting("stopwatch", "Stopwatch",
+ RadioSettingValueBoolean(
+ self._memobj.settings.stopwatch))
+ top.append(rs)
+ rs = RadioSetting("dual_band_receive", "Dual band receive",
+ RadioSettingValueBoolean(
+ self._memobj.settings.dual_band_receive))
+ top.append(rs)
+ options = ["VFO A", "VFO B"]
+ rs = RadioSetting("current_vfo", "Current VFO",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.current_vfo]))
+ top.append(rs)
+
+ options = ["Dual", "Single"]
+ rs = RadioSetting("sd_available", "Single/Dual Band",
+ RadioSettingValueList(options,
+ options[self._memobj.settings.sd_available]))
+ top.append(rs)
+
+ _pwd = self._memobj.settings.mode_password
+ rs = RadioSetting("mode_password", "Mode password (000000 disabled)",
+ RadioSettingValueInteger(0, 9, _pwd[0]),
+ RadioSettingValueInteger(0, 9, _pwd[1]),
+ RadioSettingValueInteger(0, 9, _pwd[2]),
+ RadioSettingValueInteger(0, 9, _pwd[3]),
+ RadioSettingValueInteger(0, 9, _pwd[4]),
+ RadioSettingValueInteger(0, 9, _pwd[5]))
+ top.append(rs)
+ _pwd = self._memobj.settings.reset_password
+ rs = RadioSetting("reset_password", "Reset password (000000 disabled)",
+ RadioSettingValueInteger(0, 9, _pwd[0]),
+ RadioSettingValueInteger(0, 9, _pwd[1]),
+ RadioSettingValueInteger(0, 9, _pwd[2]),
+ RadioSettingValueInteger(0, 9, _pwd[3]),
+ RadioSettingValueInteger(0, 9, _pwd[4]),
+ RadioSettingValueInteger(0, 9, _pwd[5]))
+ top.append(rs)
+
+ dtmfchars = "0123456789 *#ABCD"
+ _codeobj = self._memobj.settings.ani_id_content
+ _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.ani_id_content", "PTT-ID Code", val)
+ def apply_ani_id(setting, obj):
+ value = []
+ for j in range(0, 6):
+ try:
+ value.append(dtmfchars.index(str(setting.value)[j]))
+ except IndexError:
+ value.append(0xFF)
+ obj.ani_id_content = value
+ rs.set_apply_callback(apply_ani_id, self._memobj.settings)
+ top.append(rs)
+
return top
def set_settings(self, settings):
for element in settings:
if not isinstance(element, RadioSetting):
- if element.get_name() != "freqranges" :
+ if element.get_name() == "freqranges" :
+ self._set_freq_settings(element)
+ else:
self.set_settings(element)
- else:
- self._set_freq_settings(element)
+ continue
else:
try:
if "." in element.get_name():
@@ -323,8 +591,13 @@
else:
obj = self._memobj.settings
setting = element.get_name()
- print "Setting %s = %s" % (setting, element.value)
- setattr(obj, setting, element.value)
+
+ if element.has_apply_callback():
+ print "Using apply callback"
+ element.run_apply_callback()
+ else:
+ print "Setting %s = %s" % (setting, element.value)
+ setattr(obj, setting, element.value)
except Exception, e:
print element.get_name()
raise
@@ -347,7 +620,7 @@
code = int("%03o" % (val & 0x07FF))
pol = (val & 0x8000) and "R" or "N"
return code, pol
-
+
if _mem.tx_tone != 0xFFFF and _mem.tx_tone > 0x2800:
tcode, tpol = _get_dcs(_mem.tx_tone)
mem.dtcs = tcode
1
0
Tested changes:
[Tom Hayward <tom(a)tomh.us>] [ft60] Fix off-by-order-of-magnitude in frequency encoding. #1273
[Tom Hayward <tom(a)tomh.us>] [bitwise] Allow packing in bcd msb for FT-60 fractional step. #1273
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-3R] Add VFO Presets
expose vfo presets fields in memmap
add VFO Presets tab
add vfo presets
related to #1267
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-3R] Add Broadcast FM Presets
expose fm preset fields in memmap
add FM Radio Presets tab
add fm radio presets
add other related support
related to #1267
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-3R] Add Band Limit Settings
expose band limit fields in memmap
expand band ranges to 136-235 MHz and 400-529 MHz
add band limit settings to Basic Settings tab
related to #1267
[Jim Unroe <rock.unroe(a)gmail.com>] [UV-3R] Add Basic Settings
expose basic settings fields in memmap
add Basic Settings tab
add Basic Settings and other associated support
related to #1267
[Jens Jensen <kd4tjx(a)yahoo.com>] adding ability to convert to/from jujumao .dat/.adj to bin/img #1259
[Marco Filippi <iz3gme.marco(a)gmail.com>] [kg-uvd1p] Enlarge accepted freq ranges to follow new sub models
Fix #1243 and #1271 at once
[Jim Unroe <rock.unroe(a)gmail.com>] [uv-b5] add additional ACK value
'unexpected response' caused by '0x48' not in list of expected ACK values
related to bug #1111
[Tom Hayward <tom(a)tomh.us>] [tm-g707] Fix valid_bands to actual supported values. #1275
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
8 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 8125d5fddbe70cc6a79f414b883bbf767173648f
[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 8125d5fddbe70cc6a79f414b883bbf767173648f
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson7750649914533051824.sh
+ cd tests
+ ./run_tests
Registered Icom_IC-2820H = IC2820Radio
Registered TYT_TH-UVF8D = TYTUVF8DRadio
Registered AnyTone_5888UV = AnyTone5888UVRadio
Registered Intek_HR-2040 = IntekHR2040Radio
Registered Icom_IC-2200H = IC2200Radio
Registered Yaesu_FT-2800M = FT2800Radio
Registered Yaesu_VX-3 = VX3Radio
Registered Icom_IC-2100H = IC2100Radio
Registered Yaesu_FTM-350 = FTM350Radio
Registered Icom_IC-91_92AD_ICF_File = IC9xICFRadio
Registered Icom_IC-V82_U82 = ICx8xRadio
Registered Yaesu_VX-6 = VX6Radio
Registered Yaesu_VX-5 = VX5Radio
Registered Yaesu_FT-60 = FT60Radio
Registered Yaesu_VX-7 = VX7Radio
Registered Baofeng_UV-5R = BaofengUV5R
Registered Baofeng_F-11 = BaofengF11Radio
Registered Baofeng_UV-82 = BaofengUV82Radio
Registered Baojie_BJ-UV55 = BaojieBJUV55Radio
Registered Yaesu_FT-1802M = FT1802Radio
Registered Kenwood_TK-7102 = KenwoodTK7102Radio
Registered Kenwood_TK-8102 = KenwoodTK8102Radio
Registered Kenwood_TK-7108 = KenwoodTK7108Radio
Registered Kenwood_TK-8108 = KenwoodTK8108Radio
Registered Icom_ID-31A = ID31Radio
Registered Icom_ID-51A = ID51Radio
Registered Icom_IC-2720H = IC2720Radio
Registered Icom_IC-T8A = ICT8ARadio
Registered Wouxun_KG-UVD1P = KGUVD1PRadio
Registered Wouxun_KG-UV6 = KGUV6DRadio
Registered Wouxun_KG-816 = KG816Radio
Registered Wouxun_KG-818 = KG818Radio
Registered TYT_TH-UVF1 = TYTTHUVF1Radio
Registered Yaesu_FT-90 = FT90Radio
Registered Generic_CSV = CSVRadio
Registered RT_Systems_CSV = RTCSVRadio
Registered Kenwood_ITM = ITMRadio
Registered Alinco_DR03T = DR03Radio
Registered Alinco_DR06T = DR06Radio
Registered Alinco_DR135T = DR135Radio
Registered Alinco_DR235T = DR235Radio
Registered Alinco_DR435T = DR435Radio
Registered Alinco_DJ596 = DJ596Radio
Registered Jetstream_JT220M = JT220MRadio
Registered Alinco_DJ175 = DJ175Radio
Registered Kenwood_TH-D7 = THD7Radio
Registered Kenwood_TH-D7G = THD7GRadio
Registered Kenwood_TM-D700 = TMD700Radio
Registered Kenwood_TM-V7 = TMV7Radio
Registered Kenwood_TM-G707 = TMG707Radio
Registered Kenwood_TH-G71 = THG71Radio
Registered Kenwood_TH-F6 = THF6ARadio
Registered Kenwood_TH-F7 = THF7ERadio
Registered Kenwood_TM-D710 = TMD710Radio
Registered Kenwood_TH-D72_live_mode = THD72Radio
Registered Kenwood_TM-V71 = TMV71Radio
Registered Kenwood_TH-K2 = THK2Radio
Registered Kenwood_TM-271 = TM271Radio
Registered Kenwood_TM-471 = TM471Radio
Registered Yaesu_VX-8_R = VX8Radio
Registered Yaesu_VX-8_DR = VX8DRadio
Registered Yaesu_VX-8_GE = VX8GERadio
Registered Icom_IC-T7H = ICT7HRadio
Registered Icom_IC-Q7A = ICQ7Radio
Registered Baofeng_UV-B5 = BaofengUVB5
Registered Generic_XML = XMLRadio
Registered Kenwood_HMK = HMKRadio
Registered Kenwood_TH-D72_clone_mode = THD72Radio
Registered Icom_IC-91_92AD = IC9xRadio
Registered Icom_IC-T70 = ICT70Radio
Registered Icom_IC-208H = IC208Radio
Registered Icom_ID-800H_v2 = ID800v2Radio
Registered Icom_7200 = Icom7200Radio
Registered Icom_7000 = Icom7000Radio
Registered Icom_746 = Icom746Radio
Registered ARRL_Travel_Plus = TpeRadio
Registered Vertex_Standard_VXA-700 = VXA700Radio
Registered Icom_IC-W32A = ICW32ARadio
Registered Baofeng_UV-3R = UV3RRadio
Registered Yaesu_VX-2 = VX2Radio
Registered Puxing_PX-777 = Puxing777Radio
Registered Puxing_PX-2R = Puxing2RRadio
Registered Baofeng_BF-888 = H777Radio
Registered Yaesu_FT-7800 = FT7800Radio
Registered Yaesu_FT-8800 = FT8800Radio
Registered Yaesu_FT-8900 = FT8900Radio
Registered Yaesu_FT-817 = FT817Radio
Registered Yaesu_FT-817ND = FT817NDRadio
Registered Yaesu_FT-817ND_US = FT817NDUSRadio
Registered Yaesu_FT-857_897 = FT857Radio
Registered Yaesu_FT-857_897_US = FT857USRadio
Registered Icom_ID-880H = ID880Radio
Registered Icom_ID-80H = ID80Radio
Registered TYT_TH-UV3R = TYTUV3RRadio
Alinco DJ175 Detect PASSED: All tests
Alinco DJ175 CopyAll PASSED: All tests
Alinco DJ175 Clone PASSED: All tests
Alinco DJ175 BruteForce PASSED: All tests
Alinco DJ175 Edges PASSED: All tests
Alinco DJ175 Banks SKIPPED: Banks not supported
Alinco DJ596 Detect PASSED: All tests
Alinco DJ596 CopyAll PASSED: All tests
Alinco DJ596 Clone PASSED: All tests
Alinco DJ596 BruteForce PASSED: All tests
Alinco DJ596 Edges PASSED: All tests
Alinco DJ596 Banks SKIPPED: Banks not supported
Alinco DR235T Detect PASSED: All tests
Alinco DR235T CopyAll PASSED: All tests
Alinco DR235T Clone PASSED: All tests
Alinco DR235T BruteForce PASSED: All tests
Alinco DR235T Edges PASSED: All tests
Alinco DR235T Banks SKIPPED: Banks not supported
Baofeng BF-888 Detect PASSED: All tests
Baofeng BF-888 CopyAll PASSED: All tests
Baofeng BF-888 Clone PASSED: All tests
Baofeng BF-888 BruteForce PASSED: All tests
Baofeng BF-888 Edges PASSED: All tests
Baofeng BF-888 Banks SKIPPED: Banks not supported
Baofeng F-11 Detect PASSED: All tests
Baofeng F-11 CopyAll PASSED: All tests
Baofeng F-11 Clone PASSED: All tests
Baofeng F-11 BruteForce PASSED: All tests
Baofeng F-11 Edges PASSED: All tests
Baofeng F-11 Banks SKIPPED: Banks not supported
Baofeng UV-3R Detect PASSED: All tests
Baofeng UV-3R CopyAll PASSED: All tests
Baofeng UV-3R Clone PASSED: All tests
Baofeng UV-3R BruteForce PASSED: All tests
Baofeng UV-3R Edges PASSED: All tests
Baofeng UV-3R Banks SKIPPED: Banks not supported
Baofeng UV-5R Detect PASSED: All tests
Baofeng UV-5R CopyAll PASSED: All tests
Baofeng UV-5R Clone PASSED: All tests
Baofeng UV-5R BruteForce PASSED: All tests
Baofeng UV-5R Edges PASSED: All tests
Baofeng UV-5R Banks SKIPPED: Banks not supported
Baofeng UV-B5 Detect PASSED: All tests
Baofeng UV-B5 CopyAll PASSED: All tests
Baofeng UV-B5 Clone PASSED: All tests
Baofeng UV-B5 BruteForce PASSED: All tests
Baofeng UV-B5 Edges PASSED: All tests
Baofeng UV-B5 Banks SKIPPED: Banks not supported
Icom IC-208H Detect PASSED: All tests
Icom IC-208H CopyAll PASSED: All tests
Icom IC-208H Clone PASSED: All tests
Icom IC-208H BruteForce PASSED: All tests
Icom IC-208H Edges PASSED: All tests
Icom IC-208H Banks PASSED: All tests
Icom IC-2100H Detect PASSED: All tests
Icom IC-2100H CopyAll PASSED: All tests
Icom IC-2100H Clone PASSED: All tests
Icom IC-2100H BruteForce PASSED: All tests
Icom IC-2100H Edges PASSED: All tests
Icom IC-2100H Banks SKIPPED: Banks not supported
Icom IC-2200H Detect PASSED: All tests
Icom IC-2200H CopyAll PASSED: All tests
Icom IC-2200H Clone PASSED: All tests
Icom IC-2200H BruteForce PASSED: All tests
Icom IC-2200H Edges PASSED: All tests
Icom IC-2200H Banks PASSED: All tests
Icom IC-2720H Detect PASSED: All tests
Icom IC-2720H CopyAll PASSED: All tests
Icom IC-2720H Clone PASSED: All tests
Icom IC-2720H BruteForce PASSED: All tests
Icom IC-2720H Edges PASSED: All tests
Icom IC-2720H Banks PASSED: All tests
Icom IC-2820H Detect PASSED: All tests
Icom IC-2820H CopyAll PASSED: All tests
Icom IC-2820H Clone PASSED: All tests
Icom IC-2820H BruteForce PASSED: All tests
Icom IC-2820H Edges PASSED: All tests
Icom IC-2820H Banks PASSED: All tests
Icom IC-Q7A Detect PASSED: All tests
Icom IC-Q7A CopyAll PASSED: All tests
Icom IC-Q7A Clone PASSED: All tests
Icom IC-Q7A BruteForce PASSED: All tests
Icom IC-Q7A Edges CRASHED: chr() arg not in range(256)
Icom IC-Q7A Banks SKIPPED: Banks not supported
Icom IC-T70 Detect PASSED: All tests
Icom IC-T70 CopyAll PASSED: All tests
Icom IC-T70 Clone PASSED: All tests
Icom IC-T70 BruteForce PASSED: All tests
Icom IC-T70 Edges PASSED: All tests
Icom IC-T70 Banks PASSED: All tests
Icom IC-T7H Detect PASSED: All tests
Icom IC-T7H CopyAll PASSED: All tests
Icom IC-T7H Clone PASSED: All tests
Icom IC-T7H BruteForce PASSED: All tests
Icom IC-T7H Edges PASSED: All tests
Icom IC-T7H Banks SKIPPED: Banks not supported
Icom IC-T8A Detect PASSED: All tests
Icom IC-T8A CopyAll PASSED: All tests
Icom IC-T8A Clone PASSED: All tests
Icom IC-T8A BruteForce PASSED: All tests
Icom IC-T8A Edges PASSED: All tests
Icom IC-T8A Banks SKIPPED: Banks not supported
Icom IC-V82/U82 Detect PASSED: All tests
Icom IC-V82/U82 CopyAll PASSED: All tests
Icom IC-V82/U82 Clone PASSED: All tests
Icom IC-V82/U82 BruteForce PASSED: All tests
Icom IC-V82/U82 Edges PASSED: All tests
Icom IC-V82/U82 Banks PASSED: All tests
Icom IC-W32A VHF Detect PASSED: All tests
Icom IC-W32A VHF CopyAll PASSED: All tests
Icom IC-W32A VHF Clone PASSED: All tests
Icom IC-W32A VHF BruteForce PASSED: All tests
Icom IC-W32A VHF Edges PASSED: All tests
Icom IC-W32A VHF Banks SKIPPED: Banks not supported
Icom IC-W32A UHF Detect PASSED: All tests
Icom IC-W32A UHF CopyAll PASSED: All tests
Icom IC-W32A UHF Clone PASSED: All tests
Icom IC-W32A UHF BruteForce PASSED: All tests
Icom IC-W32A UHF Edges PASSED: All tests
Icom IC-W32A UHF Banks SKIPPED: Banks not supported
Icom ID-31A Detect PASSED: All tests
Icom ID-31A CopyAll PASSED: All tests
Icom ID-31A Clone PASSED: All tests
Icom ID-31A BruteForce PASSED: All tests
Icom ID-31A Edges PASSED: All tests
Icom ID-31A Banks PASSED: All tests
Icom ID-51A Detect PASSED: All tests
Icom ID-51A CopyAll PASSED: All tests
Icom ID-51A Clone PASSED: All tests
Icom ID-51A BruteForce PASSED: All tests
Icom ID-51A Edges PASSED: All tests
Icom ID-51A Banks PASSED: All tests
Icom ID-800H v2 Detect PASSED: All tests
Icom ID-800H v2 CopyAll PASSED: All tests
Icom ID-800H v2 Clone PASSED: All tests
Icom ID-800H v2 BruteForce PASSED: All tests
Icom ID-800H v2 Edges PASSED: All tests
Icom ID-800H v2 Banks PASSED: All tests
Icom ID-880H Detect PASSED: All tests
Icom ID-880H CopyAll PASSED: All tests
Icom ID-880H Clone PASSED: All tests
Icom ID-880H BruteForce PASSED: All tests
Icom ID-880H Edges PASSED: All tests
Icom ID-880H Banks PASSED: All tests
Jetstream JT220M Detect PASSED: All tests
Jetstream JT220M CopyAll PASSED: All tests
Jetstream JT220M Clone PASSED: All tests
Jetstream JT220M BruteForce PASSED: All tests
Jetstream JT220M Edges PASSED: All tests
Jetstream JT220M Banks SKIPPED: Banks not supported
Kenwood TH-D72 (clone Detect PASSED: All tests
Kenwood TH-D72 (clone CopyAll PASSED: All tests
Kenwood TH-D72 (clone Clone PASSED: All tests
Kenwood TH-D72 (clone BruteForce PASSED: All tests
Kenwood TH-D72 (clone Edges PASSED: All tests
Kenwood TH-D72 (clone Banks SKIPPED: Banks not supported
Kenwood TK-8102 Detect PASSED: All tests
Kenwood TK-8102 CopyAll PASSED: All tests
Kenwood TK-8102 Clone PASSED: All tests
Kenwood TK-8102 BruteForce PASSED: All tests
Kenwood TK-8102 Edges PASSED: All tests
Kenwood TK-8102 Banks SKIPPED: Banks not supported
Puxing PX-2R Detect PASSED: All tests
Puxing PX-2R CopyAll PASSED: All tests
Puxing PX-2R Clone PASSED: All tests
Puxing PX-2R BruteForce PASSED: All tests
Puxing PX-2R Edges PASSED: All tests
Puxing PX-2R Banks SKIPPED: Banks not supported
Puxing PX-777 Detect PASSED: All tests
Puxing PX-777 CopyAll PASSED: All tests
Puxing PX-777 Clone PASSED: All tests
Puxing PX-777 BruteForce PASSED: All tests
Puxing PX-777 Edges PASSED: All tests
Puxing PX-777 Banks SKIPPED: Banks not supported
TYT TH-UV3R Detect PASSED: All tests
TYT TH-UV3R CopyAll PASSED: All tests
TYT TH-UV3R Clone PASSED: All tests
TYT TH-UV3R BruteForce PASSED: All tests
TYT TH-UV3R Edges PASSED: All tests
TYT TH-UV3R Banks SKIPPED: Banks not supported
TYT TH-UVF1 Detect PASSED: All tests
TYT TH-UVF1 CopyAll PASSED: All tests
TYT TH-UVF1 Clone PASSED: All tests
TYT TH-UVF1 BruteForce PASSED: All tests
TYT TH-UVF1 Edges PASSED: All tests
TYT TH-UVF1 Banks SKIPPED: Banks not supported
Vertex VXA-700 Detect PASSED: All tests
Vertex VXA-700 CopyAll PASSED: All tests
Vertex VXA-700 Clone PASSED: All tests
Vertex VXA-700 BruteForce PASSED: All tests
Vertex VXA-700 Edges PASSED: All tests
Vertex VXA-700 Banks SKIPPED: Banks not supported
Wouxun KG-816 Detect PASSED: All tests
Wouxun KG-816 CopyAll PASSED: All tests
Wouxun KG-816 Clone PASSED: All tests
Wouxun KG-816 BruteForce PASSED: All tests
Wouxun KG-816 Edges PASSED: All tests
Wouxun KG-816 Banks SKIPPED: Banks not supported
Wouxun KG-818 Detect PASSED: All tests
Wouxun KG-818 CopyAll PASSED: All tests
Wouxun KG-818 Clone PASSED: All tests
Wouxun KG-818 BruteForce PASSED: All tests
Wouxun KG-818 Edges PASSED: All tests
Wouxun KG-818 Banks SKIPPED: Banks not supported
Wouxun KG-UV6 Detect PASSED: All tests
Wouxun KG-UV6 CopyAll PASSED: All tests
Wouxun KG-UV6 Clone PASSED: All tests
Wouxun KG-UV6 BruteForce PASSED: All tests
Wouxun KG-UV6 Edges PASSED: All tests
Wouxun KG-UV6 Banks SKIPPED: Banks not supported
Wouxun KG-UVD1P Detect PASSED: All tests
Wouxun KG-UVD1P CopyAll PASSED: All tests
Wouxun KG-UVD1P Clone PASSED: All tests
Wouxun KG-UVD1P BruteForce PASSED: All tests
Wouxun KG-UVD1P Edges PASSED: All tests
Wouxun KG-UVD1P Banks SKIPPED: Banks not supported
Yaesu FT-1802M Detect PASSED: All tests
Yaesu FT-1802M CopyAll PASSED: All tests
Yaesu FT-1802M Clone PASSED: All tests
Yaesu FT-1802M BruteForce PASSED: All tests
Yaesu FT-1802M Edges PASSED: All tests
Yaesu FT-1802M Banks SKIPPED: Banks not supported
Yaesu FT-2800M Detect PASSED: All tests
Yaesu FT-2800M CopyAll PASSED: All tests
Yaesu FT-2800M Clone PASSED: All tests
Yaesu FT-2800M BruteForce PASSED: All tests
Yaesu FT-2800M Edges PASSED: All tests
Yaesu FT-2800M Banks SKIPPED: Banks not supported
Yaesu FT-60 Detect PASSED: All tests
Yaesu FT-60 CopyAll FAILED: <29>: Field `freq' is `442920000', expected `442925000'
Yaesu FT-60 CopyAll FAILED: <31>: Field `freq' is `442820000', expected `442825000'
Yaesu FT-60 CopyAll FAILED: <61>: Field `freq' is `440170000', expected `440175000'
Yaesu FT-60 CopyAll FAILED: <81>: Field `freq' is `162420000', expected `162425000'
Yaesu FT-60 CopyAll FAILED: <83>: Field `freq' is `162470000', expected `162475000'
Yaesu FT-60 CopyAll FAILED: <85>: Field `freq' is `162520000', expected `162525000'
Yaesu FT-60 CopyAll FAILED: <100>: Field `freq' is `851022500', expected `851012500'
Yaesu FT-60 CopyAll FAILED: <101>: Field `freq' is `851522500', expected `851512500'
Yaesu FT-60 CopyAll FAILED: <102>: Field `freq' is `852022500', expected `852012500'
Yaesu FT-60 CopyAll FAILED: <103>: Field `freq' is `852522500', expected `852512500'
Yaesu FT-60 CopyAll FAILED: <104>: Field `freq' is `853022500', expected `853012500'
Yaesu FT-60 CopyAll FAILED: <105>: Field `freq' is `851320000', expected `851325000'
Yaesu FT-60 CopyAll FAILED: <108>: Field `freq' is `851770000', expected `851775000'
Yaesu FT-60 CopyAll FAILED: <111>: Field `freq' is `852572500', expected `852562500'
Yaesu FT-60 CopyAll FAILED: <113>: Field `freq' is `852622500', expected `852612500'
Yaesu FT-60 CopyAll FAILED: <115>: Field `freq' is `453222500', expected `453212500'
Yaesu FT-60 CopyAll FAILED: <116>: Field `freq' is `453472500', expected `453462500'
Yaesu FT-60 CopyAll FAILED: <117>: Field `freq' is `453722500', expected `453712500'
Yaesu FT-60 CopyAll FAILED: <118>: Field `freq' is `453872500', expected `453862500'
Yaesu FT-60 CopyAll FAILED: <122>: Field `freq' is `851170000', expected `851175000'
Yaesu FT-60 CopyAll FAILED: <136>: Field `freq' is `855972500', expected `855962500'
Yaesu FT-60 CopyAll FAILED: <139>: Field `freq' is `155800000', expected `155805000'
Yaesu FT-60 CopyAll FAILED: <140>: Field `freq' is `155470000', expected `155475000'
Yaesu FT-60 CopyAll FAILED: <142>: Field `freq' is `154930000', expected `154935000'
Yaesu FT-60 CopyAll FAILED: <143>: Field `freq' is `156220000', expected `156225000'
Yaesu FT-60 CopyAll FAILED: <144>: Field `freq' is `154900000', expected `154905000'
Yaesu FT-60 CopyAll FAILED: <146>: Field `freq' is `153930000', expected `153935000'
Yaesu FT-60 CopyAll FAILED: <147>: Field `freq' is `154780000', expected `154785000'
Yaesu FT-60 CopyAll FAILED: <151>: Field `freq' is `156070000', expected `156075000'
Yaesu FT-60 CopyAll FAILED: <152>: Field `freq' is `158890000', expected `158895000'
Yaesu FT-60 CopyAll FAILED: <153>: Field `freq' is `158900000', expected `158905000'
Yaesu FT-60 Clone PASSED: All tests
Yaesu FT-60 BruteForce PASSED: All tests
Yaesu FT-60 Edges PASSED: All tests
Yaesu FT-60 Banks SKIPPED: Banks not supported
Yaesu FT-7800 Detect PASSED: All tests
Yaesu FT-7800 CopyAll PASSED: All tests
Yaesu FT-7800 Clone PASSED: All tests
Yaesu FT-7800 BruteForce PASSED: All tests
Yaesu FT-7800 Edges PASSED: All tests
Yaesu FT-7800 Banks PASSED: All tests
Yaesu FT-817 Detect PASSED: All tests
Yaesu FT-817 CopyAll PASSED: All tests
Yaesu FT-817 Clone PASSED: All tests
Yaesu FT-817 BruteForce PASSED: All tests
Yaesu FT-817 Edges PASSED: All tests
Yaesu FT-817 Banks SKIPPED: Banks not supported
Yaesu FT-817ND Detect PASSED: All tests
Yaesu FT-817ND CopyAll PASSED: All tests
Yaesu FT-817ND Clone PASSED: All tests
Yaesu FT-817ND BruteForce PASSED: All tests
Yaesu FT-817ND Edges PASSED: All tests
Yaesu FT-817ND Banks SKIPPED: Banks not supported
Yaesu FT-817ND (US) Detect PASSED: All tests
Yaesu FT-817ND (US) CopyAll PASSED: All tests
Yaesu FT-817ND (US) Clone PASSED: All tests
Yaesu FT-817ND (US) BruteForce PASSED: All tests
Yaesu FT-817ND (US) Edges PASSED: All tests
Yaesu FT-817ND (US) Banks SKIPPED: Banks not supported
Yaesu FT-857/897 Detect PASSED: All tests
Yaesu FT-857/897 CopyAll PASSED: All tests
Yaesu FT-857/897 Clone PASSED: All tests
Yaesu FT-857/897 BruteForce PASSED: All tests
Yaesu FT-857/897 Edges PASSED: All tests
Yaesu FT-857/897 Banks SKIPPED: Banks not supported
Yaesu FT-857/897 (U Detect PASSED: All tests
Yaesu FT-857/897 (U CopyAll PASSED: All tests
Yaesu FT-857/897 (U Clone PASSED: All tests
Yaesu FT-857/897 (U BruteForce PASSED: All tests
Yaesu FT-857/897 (U Edges PASSED: All tests
Yaesu FT-857/897 (U Banks SKIPPED: Banks not supported
Yaesu FT-8800 Left Detect PASSED: All tests
Yaesu FT-8800 Left CopyAll PASSED: All tests
Yaesu FT-8800 Left Clone PASSED: All tests
Yaesu FT-8800 Left BruteForce PASSED: All tests
Yaesu FT-8800 Left Edges PASSED: All tests
Yaesu FT-8800 Left Banks PASSED: All tests
Yaesu FT-8800 Right Detect PASSED: All tests
Yaesu FT-8800 Right CopyAll PASSED: All tests
Yaesu FT-8800 Right Clone PASSED: All tests
Yaesu FT-8800 Right BruteForce PASSED: All tests
Yaesu FT-8800 Right Edges PASSED: All tests
Yaesu FT-8800 Right Banks PASSED: All tests
Yaesu FT-8900 Detect PASSED: All tests
Yaesu FT-8900 CopyAll PASSED: All tests
Yaesu FT-8900 Clone PASSED: All tests
Yaesu FT-8900 BruteForce PASSED: All tests
Yaesu FT-8900 Edges PASSED: All tests
Yaesu FT-8900 Banks SKIPPED: Banks not supported
Yaesu FTM-350 Left Detect PASSED: All tests
Yaesu FTM-350 Left CopyAll PASSED: All tests
Yaesu FTM-350 Left Clone PASSED: All tests
Yaesu FTM-350 Left BruteForce PASSED: All tests
Yaesu FTM-350 Left Edges PASSED: All tests
Yaesu FTM-350 Left Banks SKIPPED: Banks not supported
Yaesu FTM-350 Right Detect PASSED: All tests
Yaesu FTM-350 Right CopyAll PASSED: All tests
Yaesu FTM-350 Right Clone PASSED: All tests
Yaesu FTM-350 Right BruteForce PASSED: All tests
Yaesu FTM-350 Right Edges PASSED: All tests
Yaesu FTM-350 Right Banks SKIPPED: Banks not supported
Yaesu VX-2 Detect PASSED: All tests
Yaesu VX-2 CopyAll PASSED: All tests
Yaesu VX-2 Clone PASSED: All tests
Yaesu VX-2 BruteForce PASSED: All tests
Yaesu VX-2 Edges PASSED: All tests
Yaesu VX-2 Banks PASSED: All tests
Yaesu VX-3 Detect PASSED: All tests
Yaesu VX-3 CopyAll PASSED: All tests
Yaesu VX-3 Clone PASSED: All tests
Yaesu VX-3 BruteForce PASSED: All tests
Yaesu VX-3 Edges PASSED: All tests
Yaesu VX-3 Banks PASSED: All tests
Yaesu VX-5 Detect PASSED: All tests
Yaesu VX-5 CopyAll PASSED: All tests
Yaesu VX-5 Clone PASSED: All tests
Yaesu VX-5 BruteForce PASSED: All tests
Yaesu VX-5 Edges PASSED: All tests
Yaesu VX-5 Banks PASSED: All tests
Yaesu VX-6 Detect PASSED: All tests
Yaesu VX-6 CopyAll PASSED: All tests
Yaesu VX-6 Clone PASSED: All tests
Yaesu VX-6 BruteForce PASSED: All tests
Yaesu VX-6 Edges PASSED: All tests
Yaesu VX-6 Banks PASSED: All tests
Yaesu VX-7 Detect PASSED: All tests
Yaesu VX-7 CopyAll PASSED: All tests
Yaesu VX-7 Clone PASSED: All tests
Yaesu VX-7 BruteForce PASSED: All tests
Yaesu VX-7 Edges PASSED: All tests
Yaesu VX-7 Banks PASSED: All tests
Yaesu VX-8 R Detect PASSED: All tests
Yaesu VX-8 R CopyAll PASSED: All tests
Yaesu VX-8 R Clone PASSED: All tests
Yaesu VX-8 R BruteForce PASSED: All tests
Yaesu VX-8 R Edges PASSED: All tests
Yaesu VX-8 R Banks PASSED: All tests
----------------------------------------------------------------------
Results:
TOTAL : 366
FAILED : 31
SKIPPED: 37
PASSED : 297
CRASHED: 1
Build step 'Execute shell' marked build as failure
Email was triggered for: Failure
Sending email for trigger: Failure
2
5
Taking a stab at fixing the "ack-a-mole" issues.
Rather than attempting to maintain a list of known acks, switching to a solution to capture first ack received, and use that through rest of download session. This should still fail if, for some reason, ack changes within a download session as this would likely indicate a real problem (communication errors, etc).
Would like to get feedback from a few uv-b5/b6 users to verify this is working ok before I submit a patch.
-Jens
AF5MI
2
2
This set adds two things:
1. A strict(er) set of style checks for a given patch. This will enforce
<80 column lines for all files touched in a patch. This will avoid failing
on everything right now, but any patch that touches a file will need to
fix all the lines. This is a nice ideal, but I'm not sure how other folks
feel about it. This check also verifies the bug number in the commit
message, etc. I'd like this to be a "does this meet style requirements"
hook for people to run before submitting a patch.
2. A top-level test function that runs everything we have, to maybe help
avoid what happened recently, where the unit tests passed, but the driver
tests did not.
If folks like this, I'll make jenkins run all of this on each build.
3
4
[chirp_devel] [PATCH] [KG-UV6D] Update ANI Code Setting for Greater Flexibility
by Jim Unroe 02 Dec '13
by Jim Unroe 02 Dec '13
02 Dec '13
# HG changeset patch
# User Jim Unroe <rock.unroe(a)gmail.com>
# Date 1386030766 18000
# Node ID 6b364b1105109800c6bf945febe50f50ae5c4681
# Parent a03a1e9a3c99c1bcd85fe4c4a0501d3d02f68980
[KG-UV6D] Update ANI Code Setting for Greater Flexibility
Update the ANI Code setting to allow a variable length code and
use of all 16 DTMF signal tones.
#1283
diff -r a03a1e9a3c99 -r 6b364b110510 chirp/wouxun.py
--- a/chirp/wouxun.py Sun Nov 24 19:31:08 2013 -0600
+++ b/chirp/wouxun.py Mon Dec 02 19:32:46 2013 -0500
@@ -920,20 +920,24 @@
RadioSettingValueInteger(0, 9, _pwd[4]),
RadioSettingValueInteger(0, 9, _pwd[5]))
top.append(rs)
- try:
- _ani = self._memobj.settings.ani_id_content
- rs = RadioSetting("ani_id_content", "ANI Code",
- RadioSettingValueInteger(0, 9, _ani[0]),
- RadioSettingValueInteger(0, 9, _ani[1]),
- RadioSettingValueInteger(0, 9, _ani[2]),
- RadioSettingValueInteger(0, 9, _ani[3]),
- RadioSettingValueInteger(0, 9, _ani[4]),
- RadioSettingValueInteger(0, 9, _ani[5]))
- top.append(rs)
- except Exception:
- print ("Your ANI code is not six digits, which is not currently"
- " supported in CHIRP.")
-
+
+ dtmfchars = "0123456789 *#ABCD"
+ _codeobj = self._memobj.settings.ani_id_content
+ _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.ani_id_content", "ANI Code", val)
+ def apply_ani_id(setting, obj):
+ value = []
+ for j in range(0, 6):
+ try:
+ value.append(dtmfchars.index(str(setting.value)[j]))
+ except IndexError:
+ value.append(0xFF)
+ obj.ani_id_content = value
+ rs.set_apply_callback(apply_ani_id, self._memobj.settings)
+ top.append(rs)
+
for i in range(0, 9):
if self._memobj.fm_presets_0[i] != 0xFFFF:
used = True
@@ -979,8 +983,13 @@
else:
obj = self._memobj.settings
setting = element.get_name()
- print "Setting %s = %s" % (setting, element.value)
- setattr(obj, setting, element.value)
+
+ if element.has_apply_callback():
+ print "Using apply callback"
+ element.run_apply_callback()
+ else:
+ print "Setting %s = %s" % (setting, element.value)
+ setattr(obj, setting, element.value)
except Exception, e:
print element.get_name()
raise
1
0
[chirp_devel] [PATCH] Chirp help menu should have a link to documentation on the wiki. Fixes #1277
by Robert Terzi 02 Dec '13
by Robert Terzi 02 Dec '13
02 Dec '13
# HG changeset patch
# User Robert Terzi <rct(a)r-t.org>
# Date 1385931834 18000
# Node ID f2f24b5c011c9c364327949168076f0a9c2873ab
# Parent a03a1e9a3c99c1bcd85fe4c4a0501d3d02f68980
Chirp help menu should have a link to documentation on the wiki. Fixes #1277
diff -r a03a1e9a3c99 -r f2f24b5c011c chirpui/mainapp.py
--- a/chirpui/mainapp.py Sun Nov 24 19:31:08 2013 -0600
+++ b/chirpui/mainapp.py Sun Dec 01 16:03:54 2013 -0500
@@ -1171,6 +1171,19 @@
d.run()
d.destroy()
+ def do_documentation(self):
+ d = gtk.MessageDialog(buttons=gtk.BUTTONS_OK, parent=self,
+ type=gtk.MESSAGE_INFO)
+
+ d.set_markup("<b><big>" + _("CHIRP Documentation") + "</big></b>\r\n")
+ msg = _("Documentation for CHIRP, including FAQs, and help for common " +
+ "problems is available on the CHIRP web site, please go to\n\n" +
+ "<a href=\"http://chirp.danplanet.com/projects/chirp/wiki/Documentation\">" +
+ "http://chirp.danplanet.com/projects/chirp/wiki/Documentation</a>\n")
+ d.format_secondary_markup(msg.replace("\n","\r\n"))
+ d.run()
+ d.destroy()
+
def do_columns(self):
eset = self.get_current_editorset()
driver = directory.get_driver(eset.rthread.radio.__class__)
@@ -1358,6 +1371,8 @@
self.do_przemienniki(action[0] == "i")
elif action == "about":
self.do_about()
+ elif action == "documentation":
+ self.do_documentation()
elif action == "columns":
self.do_columns()
elif action == "hide_unused":
@@ -1452,6 +1467,7 @@
</menu>
<menu action="help">
<menuitem action="about"/>
+ <menuitem action="documentation"/>
<menuitem action="report"/>
<menuitem action="developer"/>
</menu>
@@ -1506,6 +1522,7 @@
('cancelq', gtk.STOCK_STOP, None, "Escape", None, self.mh),
('help', None, _('Help'), None, None, self.mh),
('about', gtk.STOCK_ABOUT, None, None, None, self.mh),
+ ('documentation', None, _("Documentation"), None, None, self.mh),
]
conf = config.get()
@@ -1652,6 +1669,9 @@
aboutitem = self.menu_uim.get_widget("/MenuBar/help/about")
macapp.insert_app_menu_item(aboutitem, 0)
+ documentationitem = self.menu_uim.get_widget("/MenuBar/help/documentation")
+ macapp.insert_app_menu_item(documentationitem, 0)
+
macapp.set_use_quartz_accelerators(False)
macapp.ready()
2
2
[chirp_devel] [PATCH] Show clone/live radio type in model support matrix. #1279
by Tom Hayward 02 Dec '13
by Tom Hayward 02 Dec '13
02 Dec '13
# HG changeset patch
# User Tom Hayward <tom(a)tomh.us>
# Date 1386007172 28800
# Node ID 14773355dc953e6de1dd3e8d29b6cfa1d92d5722
# Parent 8125d5fddbe70cc6a79f414b883bbf767173648f
Show clone/live radio type in model support matrix. #1279
diff -r 8125d5fddbe7 -r 14773355dc95 share/make_supported.py
--- a/share/make_supported.py Wed Nov 20 19:36:59 2013 -0600
+++ b/share/make_supported.py Mon Dec 02 09:59:32 2013 -0800
@@ -15,6 +15,20 @@
KEYS = [x for x in sorted(RF.__dict__.keys()) \
if "_" in x and not x.startswith("_")]
+RADIO_TYPES = {
+ 'Clone': chirp_common.CloneModeRadio,
+ 'File': chirp_common.FileBackedRadio,
+ 'Live': chirp_common.LiveRadio,
+}
+
+
+def radio_type(radio):
+ for k, v in RADIO_TYPES.items():
+ if isinstance(radio, v):
+ return k
+ return ""
+
+
def supported_row(radio, odd):
row = '<tr class="%s" title="%s %s %s">' % (odd and "odd" or "even",
radio.VENDOR,
@@ -57,6 +71,7 @@
value and "Yes" or "No")
else:
row += '<td class="%s">%s</td>' % (key, value)
+ row += '<td class="radio_type">%s</td>' % radio_type(radio)
row += "</tr>\n"
return row
@@ -66,6 +81,7 @@
for key in KEYS:
Key = key.split("_", 1)[1].title().replace("_", " ")
row += '<th title="%s">%s</th>' % (RF.get_doc(key), Key)
+ row += '<th title="Radio programming type">Type</th>\n'
row += "</tr></thead>\n"
return row
1
0