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-03 13:37:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chirp (Old)
 and      /work/SRC/openSUSE:Factory/.chirp.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chirp"

Sun Aug  3 13:37:31 2025 rev:32 rq:1297119 version:20250801

Changes:
--------
--- /work/SRC/openSUSE:Factory/chirp/chirp.changes      2025-07-21 
19:59:43.369643858 +0200
+++ /work/SRC/openSUSE:Factory/.chirp.new.1085/chirp.changes    2025-08-03 
13:37:59.800909433 +0200
@@ -1,0 +2,11 @@
+Fri Aug  1 19:23:11 UTC 2025 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- Update to version 20250801:
+  * Add fingerprint for RT-630 V0.09
+  * btech: Fix block size for non-8900D models
+  * Add Baofeng UV-5G Pro
+  * btech: Fix download for QYT KT-8900D radios
+  * ft4: Format different ID messages for better readability
+  * rt21: Add new fingerprint for RT29UHF
+
+-------------------------------------------------------------------

Old:
----
  chirp-20250718.obscpio

New:
----
  chirp-20250801.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ chirp.spec ++++++
--- /var/tmp/diff_new_pack.I3fYkS/_old  2025-08-03 13:38:01.356973975 +0200
+++ /var/tmp/diff_new_pack.I3fYkS/_new  2025-08-03 13:38:01.360974141 +0200
@@ -19,7 +19,7 @@
 
 %define pythons python3
 Name:           chirp
-Version:        20250718
+Version:        20250801
 Release:        0
 Summary:        Tool for programming amateur radio sets
 License:        GPL-3.0-only

++++++ _service ++++++
--- /var/tmp/diff_new_pack.I3fYkS/_old  2025-08-03 13:38:01.392975468 +0200
+++ /var/tmp/diff_new_pack.I3fYkS/_new  2025-08-03 13:38:01.396975634 +0200
@@ -4,8 +4,8 @@
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">chirp</param>
-    <param name="versionformat">20250718</param>
-    <param name="revision">c28ea5e8a7d8036ccc76ec38a050fd30b84c65e4</param>
+    <param name="versionformat">20250801</param>
+    <param name="revision">477a28489d173e582f859e6f7242bbbeb840fd60</param>
   </service>
   <service mode="manual" name="set_version"/>
   <service name="tar" mode="buildtime"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.I3fYkS/_old  2025-08-03 13:38:01.416976464 +0200
+++ /var/tmp/diff_new_pack.I3fYkS/_new  2025-08-03 13:38:01.420976630 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/kk7ds/chirp.git</param>
-    <param 
name="changesrevision">c28ea5e8a7d8036ccc76ec38a050fd30b84c65e4</param>
+    <param 
name="changesrevision">477a28489d173e582f859e6f7242bbbeb840fd60</param>
   </service>
 </servicedata>
 (No newline at EOF)

++++++ chirp-20250718.obscpio -> chirp-20250801.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chirp-20250718/chirp/drivers/btech.py 
new/chirp-20250801/chirp/drivers/btech.py
--- old/chirp-20250718/chirp/drivers/btech.py   2025-07-17 23:58:04.000000000 
+0200
+++ new/chirp-20250801/chirp/drivers/btech.py   2025-08-01 00:30:55.000000000 
+0200
@@ -419,11 +419,11 @@
     # Get the full 69 bytes at a time to reduce load
     # 1 byte ACK + 4 bytes header + 64 bytes of data (BLOCK_SIZE)
 
-    # get the whole block
-    block = _rawrecv(radio, BLOCK_SIZE + 5)
+    # get the whole block Bug #11851 BLOCKSIZE fix for KT-8900D
+    block = _rawrecv(radio, radio._block_size + 5)
 
-    # basic check
-    if len(block) < (BLOCK_SIZE + 5):
+    # basic check Bug #11851 BLOCKSIZE fix for KT-8900D
+    if len(block) < (radio._block_size + 5):
         raise errors.RadioError("Short read of the block 0x%04x" % addr)
 
     # checking for the ack
@@ -432,7 +432,7 @@
 
     # header validation
     c, a, l = struct.unpack(">BHB", block[1:5])
-    if a != addr or l != BLOCK_SIZE or c != ord("X"):
+    if a != addr or l != radio._block_size or c != ord("X"):
         LOG.debug("Invalid header for block 0x%04x" % addr)
         LOG.debug("CMD: %s  ADDR: %04x  SIZE: %02x" % (c, a, l))
         raise errors.RadioError("Invalid header for block 0x%04x:" % addr)
@@ -542,16 +542,16 @@
     # put radio in program mode and identify it
     _do_ident(radio, status)
 
-    # reset the progress bar in the UI
-    status.max = MEM_SIZE // BLOCK_SIZE
+    # reset the progress bar in the UI Bug #11851 BLOCKSIZE fix for KT-8900D
+    status.max = MEM_SIZE // radio._block_size
     status.msg = "Cloning from radio..."
     status.cur = 0
     radio.status_fn(status)
 
     data = b""
-    for addr in range(0, MEM_SIZE, BLOCK_SIZE):
+    for addr in range(0, MEM_SIZE, radio._block_size):
         # sending the read request
-        _send(radio, _make_frame("S", addr, BLOCK_SIZE))
+        _send(radio, _make_frame("S", addr, radio._block_size))
 
         # read
         d = _recv(radio, addr)
@@ -662,6 +662,7 @@
     """BTECH's UV-5001 and alike radios"""
     VENDOR = "BTECH"
     MODEL = ""
+    _block_size = BLOCK_SIZE  # Bug 11851 should default to BLOCK_SIZE
     IDENT = ""
     BANDS = 2
     COLOR_LCD = False
@@ -4091,6 +4092,7 @@
     """QYT KT8900D"""
     VENDOR = "QYT"
     MODEL = "KT8900D"
+    _block_size = 0x10   # Bug 11851 BLOCKSIZE fix for KT-8900D
     BANDS = 2
     LIST_TMR = LIST_TMR15
     _vhf_range = (136000000, 175000000)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chirp-20250718/chirp/drivers/ft4.py 
new/chirp-20250801/chirp/drivers/ft4.py
--- old/chirp-20250718/chirp/drivers/ft4.py     2025-07-17 23:58:04.000000000 
+0200
+++ new/chirp-20250801/chirp/drivers/ft4.py     2025-08-01 00:30:55.000000000 
+0200
@@ -345,13 +345,15 @@
     if id_response != radio.id_str:
         substr0 = radio.id_str[:radio.id_str.find(b'\x00')]
         if id_response[:id_response.find(b'\x00')] != substr0:
-            msg = "ID mismatch. Expected" + util.hexprint(radio.id_str)
-            msg += ", Received:" + util.hexprint(id_response_mod)
+            msg = "ID mismatch.\nExpected:\n{}Received:\n{}".format(
+                util.hexprint(radio.id_str), util.hexprint(id_response_mod)
+                )
             LOG.warning(msg)
             raise errors.RadioError("Incorrect ID read from radio.")
         else:
-            msg = "ID suspect. Expected" + util.hexprint(radio.id_str)
-            msg += ", Received:" + util.hexprint(id_response_mod)
+            msg = "ID suspect.\nExpected:\n{}Received:\n{}".format(
+                util.hexprint(radio.id_str), util.hexprint(id_response_mod)
+                )
             LOG.warning(msg)
     return progressbar
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chirp-20250718/chirp/drivers/mml_jc8810.py 
new/chirp-20250801/chirp/drivers/mml_jc8810.py
--- old/chirp-20250718/chirp/drivers/mml_jc8810.py      2025-07-17 
23:58:04.000000000 +0200
+++ new/chirp-20250801/chirp/drivers/mml_jc8810.py      2025-08-01 
00:30:55.000000000 +0200
@@ -1580,6 +1580,7 @@
     # ==========
 
     _fingerprint = [b"\x00\x00\x00\x32\x00\x20\xD8\x04",  # fw 0.07
+                    b"\x00\x00\x00\x36\x00\x20\xDC\x04",  # fw V0.09 20250703
                     ]
 
     POWER_LEVELS = [chirp_common.PowerLevel("H", watts=5.00),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chirp-20250718/chirp/drivers/retevis_rt21.py 
new/chirp-20250801/chirp/drivers/retevis_rt21.py
--- old/chirp-20250718/chirp/drivers/retevis_rt21.py    2025-07-17 
23:58:04.000000000 +0200
+++ new/chirp-20250801/chirp/drivers/retevis_rt21.py    2025-08-01 
00:30:55.000000000 +0200
@@ -2034,7 +2034,8 @@
                     chirp_common.PowerLevel("Low", watts=1.00)]
 
     _magic = b"PROHRAM"
-    _fingerprint = [b"P3207" + b"\x13\xF8\xFF", ]  # UHF model
+    _fingerprint = [b"P3207" + b"\x13\xF8\xFF",
+                    b"P3207s\xF8\xFF"]  # UHF model
     _upper = 16
     _skipflags = True
     _reserved = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chirp-20250718/chirp/drivers/uv5r.py 
new/chirp-20250801/chirp/drivers/uv5r.py
--- old/chirp-20250718/chirp/drivers/uv5r.py    2025-07-17 23:58:04.000000000 
+0200
+++ new/chirp-20250801/chirp/drivers/uv5r.py    2025-08-01 00:30:55.000000000 
+0200
@@ -1902,6 +1902,46 @@
 
 
 @directory.register
+class BaofengUV5GPro(BaofengUV5R):
+    MODEL = "UV-5G Pro"
+    _airband = (108000000, 136000000)
+
+    def get_features(self):
+        rf = super().get_features()
+        rf.valid_bands = [(108000000, 174000000),
+                          (220000000, 260000000),
+                          (350000000, 390000000),
+                          (400000000, 520000000)]
+        rf.valid_modes.append('AM')
+        return rf
+
+    @classmethod
+    def match_model(cls, filename, filedata):
+        return False
+
+    def get_memory(self, number):
+        mem = super().get_memory(number)
+        if chirp_common.in_range(mem.freq, [self._airband]):
+            # UV-5G Pro is AM in 108-136 MHz range
+            mem.mode = 'AM'
+        elif mem.mode == 'AM':
+            mem.mode = 'FM'
+        return mem
+
+    def validate_memory(self, mem):
+        msgs = super().validate_memory(mem)
+        if (chirp_common.in_range(mem.freq, [self._airband]) and
+                not mem.mode == 'AM'):
+            msgs.append(chirp_common.ValidationWarning(
+                _('Frequency in this range requires AM mode')))
+        if (not chirp_common.in_range(mem.freq, [self._airband]) and
+                mem.mode == 'AM'):
+            msgs.append(chirp_common.ValidationWarning(
+                _('Frequency in this range must not be AM mode')))
+        return msgs
+
+
+@directory.register
 class BaofengF11Radio(BaofengUV5R):
     VENDOR = "Baofeng"
     MODEL = "F-11"
Binary files old/chirp-20250718/tests/images/Baofeng_UV-5G_Pro.img and 
new/chirp-20250801/tests/images/Baofeng_UV-5G_Pro.img differ

++++++ chirp.obsinfo ++++++
--- /var/tmp/diff_new_pack.I3fYkS/_old  2025-08-03 13:38:02.001000688 +0200
+++ /var/tmp/diff_new_pack.I3fYkS/_new  2025-08-03 13:38:02.005000854 +0200
@@ -1,5 +1,5 @@
 name: chirp
-version: 20250718
-mtime: 1752789484
-commit: c28ea5e8a7d8036ccc76ec38a050fd30b84c65e4
+version: 20250801
+mtime: 1754001055
+commit: 477a28489d173e582f859e6f7242bbbeb840fd60
 

Reply via email to