svn commit: r552598 - in head/comms/nanovna-saver: . files
Diane Bruce
db at FreeBSD.org
Sat Oct 17 16:50:27 UTC 2020
Author: db
Date: Sat Oct 17 16:50:25 2020
New Revision: 552598
URL: https://svnweb.freebsd.org/changeset/ports/552598
Log:
Long overdue upgrade to 0.3.7
Added Sysctl.py to handle retrieving pid/vid of comports [db]
Changelog [upstream]
=========
v0.3.7
------
- Added a delta marker
- Segments can now have exponential different step widths
(see logarithmic sweeping)
- More different data points selectable
(shorter are useful on logarithmic sweeping)
- Scrollable marker column
- Markers initialize on start, middle, end
- Frequency input is now more "lazy"
10m, 50K and 1g are now valid for 10MHz, 50kHz and 1GHz
- Added a wavelength field to Markers
- 32 bit windows binaries build in actions
- Stability improvements due to better exception handling
- Workaround for wrong first S21mag value on V2 devices
v0.3.6
------
- Implemented bandwidth setting in device management
v0.3.5
------
- Sweep worker now initializes full dataset on setting changes.
Therefore no resize of charts when doing multi segment sweep
- Changing datapoints in DeviceSettings are reflected in SweepSettings widget step size
- Simplified calibration code by just using scipy.interp1d with fill\_value
- Established Interface class to ease locking and allow non usb connections in future
- Cleaned up VNA code. Added some pause statements to get more robust readings
- Added MagLoopAnalysis
- Touchstone class can now generate interpolated Datapoints for a given frequency
Will be usefull in future analysis code
- Fixed a bug in Version comparison
v0.3.4
------
- Refactored Analysis
- Add Antenna Analysis
- Fixed bug in Through Calibration
- Fixed bug in s2p saving
- Fixed crash when clicking connect with no device connected
- Fixed module error with source installation if
pkg\_resources missing
v0.3.3
------
- Fixed data acquisition with S-A-A-2 / NanoVNA V2
- Refactored calibration code
- Calibration data between known datapoints in now
interpolated by spline interpolation
- Fixed through calibration
v0.3.2
------
- fixed crash with averaging sweeps
also averaging now discards reading by geometrical distance
v0.3.1
------
- fixed crash with calibration assistant
v0.3.0
------
- Support for S-A-A-2 / NanoVNA V2
- Support for 202 Datapoints/scan with NanoVNA-H
- Support for attenuator at S11
- Massive code separation to easy additon of
Hardware, Charts, Analysis ...
Known Issues
------------
- -H / -H4 supports depends on Firmware
Added:
head/comms/nanovna-saver/files/Sysctl.py (contents, props changed)
head/comms/nanovna-saver/files/patch-NanoVNASaver_Hardware_Hardware.py (contents, props changed)
Deleted:
head/comms/nanovna-saver/files/patch-NanoVNASaver_NanoVNASaver.py
Modified:
head/comms/nanovna-saver/Makefile
head/comms/nanovna-saver/distinfo (contents, props changed)
head/comms/nanovna-saver/files/patch-setup.py (contents, props changed)
Modified: head/comms/nanovna-saver/Makefile
==============================================================================
--- head/comms/nanovna-saver/Makefile Sat Oct 17 16:32:54 2020 (r552597)
+++ head/comms/nanovna-saver/Makefile Sat Oct 17 16:50:25 2020 (r552598)
@@ -2,8 +2,7 @@
PORTNAME= nanovna-saver
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.2
-PORTREVISION= 2
+DISTVERSION= 0.3.7
CATEGORIES= comms hamradio
MAINTAINER= hamradio at FreeBSD.org
@@ -26,5 +25,8 @@ USE_GITHUB= yes
GH_ACCOUNT= mihtjel
NO_ARCH= yes
+
+post-extract:
+ ${CP} ${FILESDIR}/Sysctl.py ${WRKSRC}/NanoVNASaver/Hardware/
.include <bsd.port.mk>
Modified: head/comms/nanovna-saver/distinfo
==============================================================================
--- head/comms/nanovna-saver/distinfo Sat Oct 17 16:32:54 2020 (r552597)
+++ head/comms/nanovna-saver/distinfo Sat Oct 17 16:50:25 2020 (r552598)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1578812631
-SHA256 (mihtjel-nanovna-saver-v0.2.2_GH0.tar.gz) = 82fa37fcd487cbafebd07751f76fc5bad42f7e6f1276008f5463f0256e17748f
-SIZE (mihtjel-nanovna-saver-v0.2.2_GH0.tar.gz) = 178819
+TIMESTAMP = 1602611094
+SHA256 (mihtjel-nanovna-saver-v0.3.7_GH0.tar.gz) = 4b2cb4e736855452ef0fcc198f4f467ab042857b7844aac973fa99de7eb128ad
+SIZE (mihtjel-nanovna-saver-v0.3.7_GH0.tar.gz) = 359208
Added: head/comms/nanovna-saver/files/Sysctl.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/comms/nanovna-saver/files/Sysctl.py Sat Oct 17 16:50:25 2020 (r552598)
@@ -0,0 +1,23 @@
+import re
+from ctypes import *
+from ctypes.util import find_library
+
+libc = cdll.LoadLibrary(find_library("c"))
+sysctlbyname = libc.sysctlbyname
+
+def posix_sysctlbyname(name):
+ _len = c_uint(0)
+ result = sysctlbyname(name,None , byref(_len), None, 0)
+ _mem = create_string_buffer(_len.value)
+ result = sysctlbyname(name, _mem, byref(_len), None, 0)
+ if result != 0:
+ raise Exception('sysctlbyname returned with error %s' % result)
+ return _mem.value
+
+def usb_vid_pid(name):
+ digit = (re.search(r'\d',name)).group()
+ result = (posix_sysctlbyname(b'dev.umodem.'+bytes(digit,'ascii')+b'.%pnpinfo')).decode('ascii')
+ items=result.split(' ')
+ vendor=int(items[0].split('=')[1],0)
+ product=int(items[1].split('=')[1],0)
+ return([vendor,product])
Added: head/comms/nanovna-saver/files/patch-NanoVNASaver_Hardware_Hardware.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/comms/nanovna-saver/files/patch-NanoVNASaver_Hardware_Hardware.py Sat Oct 17 16:50:25 2020 (r552598)
@@ -0,0 +1,33 @@
+--- NanoVNASaver/Hardware/Hardware.py.orig 2020-08-13 17:01:29 UTC
++++ NanoVNASaver/Hardware/Hardware.py
+@@ -32,6 +32,7 @@ from NanoVNASaver.Hardware.NanoVNA_H import NanoVNA_H
+ from NanoVNASaver.Hardware.NanoVNA_H4 import NanoVNA_H4
+ from NanoVNASaver.Hardware.NanoVNA_V2 import NanoVNA_V2
+ from NanoVNASaver.Hardware.Serial import drain_serial, Interface
++from NanoVNASaver.Hardware.Sysctl import usb_vid_pid
+
+ logger = logging.getLogger(__name__)
+
+@@ -61,8 +62,12 @@ def get_interfaces() -> List[Interface]:
+ interfaces = []
+ # serial like usb interfaces
+ for d in list_ports.comports():
+- if platform.system() == 'Windows' and d.vid is None:
+- d = _fix_v2_hwinfo(d)
++ if platform.system() == 'FreeBSD':
++ logger.debug("Found FreeBSD USB port %s", d.device)
++ vid_pid = usb_vid_pid(d.device)
++ d.vid = vid_pid[0]
++ d.pid = vid_pid[1]
++
+ for t in USBDEVICETYPES:
+ if d.vid != t.vid or d.pid != t.pid:
+ continue
+@@ -72,7 +77,6 @@ def get_interfaces() -> List[Interface]:
+ iface.port = d.device
+ interfaces.append(iface)
+ return interfaces
+-
+
+ def get_VNA(iface: Interface) -> 'VNA':
+ # serial_port.timeout = TIMEOUT
Modified: head/comms/nanovna-saver/files/patch-setup.py
==============================================================================
--- head/comms/nanovna-saver/files/patch-setup.py Sat Oct 17 16:32:54 2020 (r552597)
+++ head/comms/nanovna-saver/files/patch-setup.py Sat Oct 17 16:50:25 2020 (r552598)
@@ -1,36 +1,16 @@
---- setup.py.orig 2019-12-04 11:05:36 UTC
+--- setup.py.orig 2020-08-13 17:01:29 UTC
+++ setup.py
-@@ -15,10 +15,11 @@
- # along with this program. If not, see <https://www.gnu.org/licenses/>.
-
- import sys
-+import io
- from NanoVNASaver.about import version
-
--if sys.version_info < (3, 7):
-- print("You need at least Python 3.7 for this application!")
-+if sys.version_info < (3, 3):
-+ print("You need at least Python 3.3 for this application!")
- if sys.version_info[0] < 3:
- print("try running with python3 {}".format(" ".join(sys.argv)))
- sys.exit(1)
-@@ -30,7 +31,7 @@ except ImportError:
- print("Try installing them with pip install setuptools")
- sys.exit(1)
-
--with open("README.md", "r") as fh:
-+with io.open("README.md", "r", encoding="utf-8") as fh:
- long_description = fh.read()
-
- setup(
-@@ -48,10 +49,4 @@ setup(
+@@ -37,12 +37,5 @@ setup(
+ 'console_scripts': [
'NanoVNASaver = NanoVNASaver.__main__:main'
],
- },
+- },
- install_requires=[
- 'pyserial',
- 'PyQt5',
- 'numpy',
-- 'scipy'
+- 'scipy<1.5',
+- 'cython',
- ],
++ }
)
More information about the svn-ports-all
mailing list