Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chirp for openSUSE:Factory checked in at 2025-08-15 21:52:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chirp (Old) and /work/SRC/openSUSE:Factory/.chirp.new.1085 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chirp" Fri Aug 15 21:52:55 2025 rev:34 rq:1299857 version:20250815 Changes: -------- --- /work/SRC/openSUSE:Factory/chirp/chirp.changes 2025-08-09 20:06:00.205739463 +0200 +++ /work/SRC/openSUSE:Factory/.chirp.new.1085/chirp.changes 2025-08-15 21:54:39.814614608 +0200 @@ -1,0 +2,7 @@ +Fri Aug 15 17:39:41 UTC 2025 - Andreas Stieger <andreas.stie...@gmx.de> + +- Update to version 20250815: + * icv80: Fix duplex/tx-inhibit setting + * add Baofeng BF-F8HP PRO firmware V0.44 support + +------------------------------------------------------------------- Old: ---- chirp-20250808.obscpio New: ---- chirp-20250815.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chirp.spec ++++++ --- /var/tmp/diff_new_pack.M5fHpM/_old 2025-08-15 21:54:40.418639725 +0200 +++ /var/tmp/diff_new_pack.M5fHpM/_new 2025-08-15 21:54:40.422639891 +0200 @@ -19,7 +19,7 @@ %define pythons python3 Name: chirp -Version: 20250808 +Version: 20250815 Release: 0 Summary: Tool for programming amateur radio sets License: GPL-3.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.M5fHpM/_old 2025-08-15 21:54:40.454641222 +0200 +++ /var/tmp/diff_new_pack.M5fHpM/_new 2025-08-15 21:54:40.458641389 +0200 @@ -4,8 +4,8 @@ <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">chirp</param> - <param name="versionformat">20250808</param> - <param name="revision">600a65c103b6c44c1d0d28f5a98d3025aebacd36</param> + <param name="versionformat">20250815</param> + <param name="revision">c686bcfdeae9d8633503ac9f18e5d9f15908a34f</param> </service> <service mode="manual" name="set_version"/> <service name="tar" mode="buildtime"/> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.M5fHpM/_old 2025-08-15 21:54:40.490642719 +0200 +++ /var/tmp/diff_new_pack.M5fHpM/_new 2025-08-15 21:54:40.494642885 +0200 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/kk7ds/chirp.git</param> - <param name="changesrevision">600a65c103b6c44c1d0d28f5a98d3025aebacd36</param> + <param name="changesrevision">c686bcfdeae9d8633503ac9f18e5d9f15908a34f</param> </service> </servicedata> (No newline at EOF) ++++++ chirp-20250808.obscpio -> chirp-20250815.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/baofeng_uv17Pro.py new/chirp-20250815/chirp/drivers/baofeng_uv17Pro.py --- old/chirp-20250808/chirp/drivers/baofeng_uv17Pro.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/baofeng_uv17Pro.py 2025-08-14 23:59:27.000000000 +0200 @@ -256,6 +256,8 @@ _has_send_id_delay = False _has_skey1_short = False _has_skey2_short = False + _has_skey_disable = False + _has_zone_linking = False _scode_offset = 0 _encrsym = 1 _has_voice = True @@ -295,6 +297,7 @@ VALID_BANDS = [_vhf_range, _vhf2_range, _uhf_range] PTTID_LIST = LIST_PTTID + RXDTMF_LIST = ["CTCSS/DTS", "CTCSS/DCS + DTMF"] SCODE_LIST = ["%s" % x for x in range(1, 21)] SQUELCH_LIST = ["Off"] + list("12345") SCRAMBLE_LIST = ["Off"] + ["SCR%s" % x for x in list("123")] @@ -791,7 +794,8 @@ 0x1D: 2, 0x2D: 3, 0x0A: 4, - 0x0C: 5} + 0x0C: 5, + 0x34: 6} return key_to_index.get(int(value), 0) def apply_Key1short(setting, obj): @@ -801,7 +805,8 @@ 'Search': 0x1D, 'Vox': 0x2D, 'TX Power': 0x0A, - 'NOAA': 0x0C} + 'NOAA': 0x0C, + 'Zone Select': 0x34} obj.key1short = key_to_index.get(val, 0x07) def getKey2shortIndex(value): @@ -810,7 +815,8 @@ 0x1D: 2, 0x2D: 3, 0x0A: 4, - 0x0C: 5} + 0x0C: 5, + 0x34: 6} return key_to_index.get(int(value), 0) def apply_Key2short(setting, obj): @@ -820,7 +826,8 @@ 'Search': 0x1D, 'Vox': 0x2D, 'TX Power': 0x0A, - 'NOAA': 0x0C} + 'NOAA': 0x0C, + 'Zone Select': 0x34} obj.key2short = key_to_index.get(val, 0x07) if self._has_skey1_short: @@ -841,6 +848,13 @@ rs.set_apply_callback(apply_Key2short, _mem.settings) basic.append(rs) + if self._has_skey_disable: + rs = RadioSetting("settings.skdisable", "Side Key Disable", + RadioSettingValueList( + self.LIST_SKEY_DISABLE, + current_index=_mem.settings.skdisable)) + basic.append(rs) + rs = RadioSetting("settings.chaworkmode", "Channel A work mode", RadioSettingValueList( LIST_WORKMODE, @@ -913,6 +927,18 @@ RadioSettingValueBoolean(_mem.settings.fmenable)) basic.append(rs) + if self._has_zone_linking: + for i in range(1, 11): + rs = RadioSetting(f"settings.zn{i}linkd", + f"Scan Link Zone {i}", + RadioSettingValueBoolean(getattr( + _mem.settings, f"zn{i}linkd"))) + basic.append(rs) + + rs = RadioSetting("settings.lnkzones", "Scan Zone Linking", + RadioSettingValueBoolean(_mem.settings.lnkzones)) + basic.append(rs) + def get_settings_common_workmode(self, workmode, _mem): vfoA = RadioSettingGroup("vfoA", "VFO A") @@ -1345,7 +1371,18 @@ current_index=scode)) mem.extra.append(rs) - if self.MODEL in ["BF-F8HP-PRO", "K6"]: + if self.MODEL in ["BF-F8HP-PRO"]: + rs = RadioSetting("sqmode", "RX DTMF", + RadioSettingValueList( + self.RXDTMF_LIST, + current_index=_mem.sqmode)) + mem.extra.append(rs) + + rs = RadioSetting("fhss", "Encryption", + RadioSettingValueBoolean(_mem.fhss)) + mem.extra.append(rs) + + if self.MODEL == "K6": rs = RadioSetting("sqmode", "RX DTMF", RadioSettingValueBoolean(_mem.sqmode)) mem.extra.append(rs) @@ -1354,7 +1391,6 @@ RadioSettingValueBoolean(_mem.fhss)) mem.extra.append(rs) - if self.MODEL == "K6": rs = RadioSetting("scramble", "Scramble", RadioSettingValueList( self.SCRAMBLE_LIST, @@ -1581,7 +1617,7 @@ # ========== # Notice to developers: - # The BF-F8HP-PRO support in this driver is currently based upon v0.33 + # The BF-F8HP-PRO support in this driver is currently based upon v0.44 # firmware. # ========== @@ -1592,11 +1628,14 @@ b"\x12\x0A\x11\x06\x04\x0E\x02\x09\x0D\x00\x00", 1)] _encrsym = 3 - STEPS = [2.5, 5.0, 6.25, 10.0, 12.5, 20.0, 25.0, 50.0, 100.0] + STEPS = [2.5, 5.0, 6.25, 8.33, 10.0, 12.5, 20.0, 25.0, 50.0, 100.0] LIST_STEPS = ["2.5", "5.0", "6.25", "10.0", "12.5", "20.0", "25.0", "50.0", "100.0"] - VALID_BANDS = [UV17Pro._airband, UV17Pro._vhf_range, UV17Pro._vhf2_range, + _airband = (108000000, 136999999) + _vhf_range = (137000000, 174000000) + + VALID_BANDS = [_airband, _vhf_range, UV17Pro._vhf2_range, UV17Pro._uhf_range, UV17Pro._uhf2_range] POWER_LEVELS = [chirp_common.PowerLevel("High", watts=8.00), chirp_common.PowerLevel("Low", watts=1.00), @@ -1609,8 +1648,11 @@ LIST_BACKLIGHT_TIMER = ["Always On", "5 sec", "10 sec", "15 sec", "20 sec", "30 sec", "60 sec"] LIST_ID_DELAY = ["%s ms" % x for x in range(100, 3100, 100)] - LIST_SKEY2_SHORT = ["FM", "Scan", "Search", "Vox", "TX Power", "NOAA"] + LIST_SKEY2_SHORT = ["FM", "Scan", "Search", "Vox", "TX Power", "NOAA", + "Zone Select"] MODES = UV17Pro.MODES + ['AM'] + SQUELCH_LIST = ["Off"] + list("12345678") + LIST_SKEY_DISABLE = ["Off", "SK Only", "PTT Only", "SK + PTT"] _has_support_for_banknames = True _vfoscan = True @@ -1620,8 +1662,10 @@ _has_send_id_delay = True _has_skey1_short = True _has_skey2_short = True + _has_skey_disable = True _has_voice = False _has_when_to_send_aniid = False + _has_zone_linking = True MEM_STARTS = [0x0000, 0x9000, 0xA000, 0xD000] MEM_SIZES = [0x8040, 0x0080, 0x02C0, 0x00C0] @@ -1672,9 +1716,20 @@ u8 menuquittime; u8 unknown5[2]; u8 dispani; - u8 unknown11[3]; + u8 unknown11[2]; + u8 skdisable; u8 totalarm; - u8 unknown6[2]; + u8 zn8linkd:1, + zn7linkd:1, + zn6linkd:1, + zn5linkd:1, + zn4linkd:1, + zn3linkd:1, + zn2linkd:1, + zn1linkd:1; + u8 unknown6:6, + zn10linkd:1, + zn9linkd:1; u8 ctsdcsscantype; ul16 vfoscanmin; ul16 vfoscanmax; @@ -1689,7 +1744,7 @@ u8 hangup; u8 voxsw; u8 gpstimezone; - u8 unknown10; + u8 lnkzones; u8 inputdtmf; u8 gpsunits; u8 pontime; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/icf520.py new/chirp-20250815/chirp/drivers/icf520.py --- old/chirp-20250808/chirp/drivers/icf520.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/icf520.py 2025-08-14 23:59:27.000000000 +0200 @@ -337,8 +337,8 @@ DUPLEX = ["", "+", "-", "split", "off"] -# Valid values for programable keys. -# Hex numbers are used for unkown functions. +# Valid values for programmable keys. +# Hex numbers are used for unknown functions. KEY_FUNC = [ "Null", "CH Up", @@ -493,7 +493,7 @@ ] # Valid values for Mic Gain. -# Hex numbers are used for unkown functions. +# Hex numbers are used for unknown functions. MIC_GAIN_FUNC = [ "0x00", "1 Min", @@ -544,7 +544,7 @@ ] # Valid values for Scrambler Synchronous Capture. -# Hex numbers are used for unkown functions. +# Hex numbers are used for unknown functions. SYN_CAPTURE_FUNC = [ "Standard", "0x01", @@ -797,7 +797,7 @@ memory.extra = RadioSettingGroup('extra', 'Extra') # Mask (Don't display) channel on radio. - # This is refered as Inhibit in the CS-F500 software. + # This is referred as Inhibit in the CS-F500 software. _disp_inhibit = RadioSetting( "disp_inhibit", "Mask", RadioSettingValueList( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/icv80.py new/chirp-20250815/chirp/drivers/icv80.py --- old/chirp-20250808/chirp/drivers/icv80.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/icv80.py 2025-08-14 23:59:27.000000000 +0200 @@ -410,7 +410,7 @@ if mem.extd_number == "": mem.name = str(_mem.name).rstrip() mem.skip = (_skip & bit) and "S" or "" - if _mem.tx_inhibit: + if not _mem.tx_inhibit: mem.duplex = 'off' else: mem.duplex = DUPLEXES[_mem.duplex] @@ -497,6 +497,7 @@ _mem.duplex = DUPLEXES.index(mem.duplex) except ValueError: _mem.duplex = 0 + _mem.tx_inhibit = mem.duplex != 'off' power = mem.power or POWER_LEVELS[0] _mem.power = POWER_LEVELS.index(power) _mem.tuning_step = TUNING_STEPS.index(mem.tuning_step) @@ -506,7 +507,6 @@ _mem.ctone = chirp_common.TONES.index(mem.ctone) _mem.dtcs = chirp_common.DTCS_CODES.index(mem.dtcs) _mem.dtcs_polarity = DTCS_POLARITY.index(mem.dtcs_polarity) - _mem.tx_inhibit = mem.duplex == 'off' # Set used _unused &= ~bit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/retevis_ra25.py new/chirp-20250815/chirp/drivers/retevis_ra25.py --- old/chirp-20250808/chirp/drivers/retevis_ra25.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/retevis_ra25.py 2025-08-14 23:59:27.000000000 +0200 @@ -597,7 +597,7 @@ mem.extra.append(rs) rstype = RadioSettingValueBoolean(_mem.nc) - rs = RadioSetting("nc", "Noise Cancelation", rstype) + rs = RadioSetting("nc", "Noise Cancellation", rstype) mem.extra.append(rs) tid_options = ['Off', 'Begin', 'End', "Both"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/tdh8.py new/chirp-20250815/chirp/drivers/tdh8.py --- old/chirp-20250808/chirp/drivers/tdh8.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/tdh8.py 2025-08-14 23:59:27.000000000 +0200 @@ -1507,7 +1507,7 @@ if _settings.brightness not in range(0, 5): LOG.warning( "brightness out of range 1 to 5. Actual value: %X. " - "Screen may not be visable", + "Screen may not be visible", _settings.brightness) rs = RadioSetting("brightness", "Brightness", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/drivers/tk280.py new/chirp-20250815/chirp/drivers/tk280.py --- old/chirp-20250808/chirp/drivers/tk280.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/drivers/tk280.py 2025-08-14 23:59:27.000000000 +0200 @@ -68,7 +68,7 @@ step = chirp_common.required_step(freq, step_map.keys()) except errors.InvalidDataError: step = default - LOG.warning('Frequency %s requires step not in availble map, ' + LOG.warning('Frequency %s requires step not in available map, ' 'using %s kHz by default', chirp_common.format_freq(freq), step) return step_map[step] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chirp-20250808/chirp/wxui/main.py new/chirp-20250815/chirp/wxui/main.py --- old/chirp-20250808/chirp/wxui/main.py 2025-08-06 23:43:59.000000000 +0200 +++ new/chirp-20250815/chirp/wxui/main.py 2025-08-14 23:59:27.000000000 +0200 @@ -1718,14 +1718,15 @@ else: d = clone.ChirpUploadDialog(radio, self) - d.Centre() - r = d.ShowModal() - if r != wx.ID_OK: - LOG.info('Removing un-uploaded backup %s', fn) - try: - os.remove(fn) - except Exception: - pass + with d: + d.Centre() + r = d.ShowModal() + if r != wx.ID_OK: + LOG.info('Removing un-uploaded backup %s', fn) + try: + os.remove(fn) + except Exception: + pass @common.error_proof() def _menu_reload_driver(self, event, andfile=False): ++++++ chirp.obsinfo ++++++ --- /var/tmp/diff_new_pack.M5fHpM/_old 2025-08-15 21:54:42.938744518 +0200 +++ /var/tmp/diff_new_pack.M5fHpM/_new 2025-08-15 21:54:42.978746181 +0200 @@ -1,5 +1,5 @@ name: chirp -version: 20250808 -mtime: 1754516639 -commit: 600a65c103b6c44c1d0d28f5a98d3025aebacd36 +version: 20250815 +mtime: 1755208767 +commit: c686bcfdeae9d8633503ac9f18e5d9f15908a34f