Hi Bill,
Thank you for your reply. I understood both your preference for WSJT-X coverage
and the issue of GPL licensing for closed source dynamic link libraries.
The USBIF4CW was designed as HID like keyboard and mouse. The current USBIF4CW
supports not only CW software but also digital mode software such as MMTTY,
MMSSTV and MMVARI with DLL.
We already considered to control PTT with either RTS or DTR signals via VCP
driver for USBIF4CW. However, it is difficult to achieve complete operation on
all versions of Windows with the developed VCP driver.
For personal use, we try to branch the WSJT-X code to control our equipment.
73 de Mutsuhiro, JG5CBR
On 2019/07/04 23:49, Bill Somerville wrote:
On 04/07/2019 13:54, usbif...@nksg.net wrote:
Hello all,
We are developing a digital mode / CW interface named USBIF4CW from 2002.
Could you please support our interface for the PTT method on WSJT-X?
You can access it from python code via dll for Windows-OS as shown below.
#####################################
self.lib = ctypes.windll.LoadLibrary("./usbif4cw.dll");
if (self.lib.usbif4cwOpen(0) < 0):
tkmsg.showerror('err', 'USBIF4CW not found')
self.dlg.destroy()
self.port0_data = 0xFF # port0 default value
# ON the PTT with audio
self.port0_data &= 0xFD # ptt on
self.port0_data &= 0xF7 # switch audio
self.lib.usbif4cwWriteData(0, 0, self.port0_data)
# OFF the PTT with audio
self.port0_data |= 0x02; # ptt off
self.port0_data |= 0x08; # switch audio
self.lib.usbif4cwWriteData(0, 0, self.port0_data)
self.lib.usbif4cwClose(0)
#####################################
For details, please see the link below.
http://nksg.net/usbif4cw/dll/usbif4cw-python-dev.zip
http://nksg.net/usbif4cw/lab/devlib/
73 de Mutsuhiro, JG5CBR
Hi Mutsuhiro san,
thank you for informing us about your project. Unfortunately at first sight it
does not seem to be compatible with WSJT-X for the following reasons:
1) Implementation appears to require closed source library which must be dynamically
linked, to use such a library in WSJT-X would be in violation of our GPL licence terms.
The only exception for closed source code in a GPL project is what is referred to as
"system libraries"
(https://www.gnu.org/licenses/gpl-faq.html#SystemLibraryException),
2) WSJT-X defers PTT handling either to Hamlib or to other applications via
networking or other inter-process communications,
3) WSJT-X is not a python application and we do not have any current ability to
call out to Python (yes I realize that we could call the DLL API via direct
C/C++ calls),
4) Our preference is to support all of WSJT-X's features on multiple platforms
currently including MS Windows, MacOS, and many *nix versions and
distributions. We do have a couple of historical exceptions in the case of HRD
and DX Lab Suite Commander, but note that they are via inter-process network
interfaces and could be used across platform boundaries. And the OmniRig rig
control server which is again via inter-process communications albeit MS
proprietary (note that OmniRig is an Open Source project and could be ported to
other platforms although not easily).
So unfortunately at this stage it seems we must reject your kind offer to
integrate your project with WSJT-X unless one or more of the above issues can
be addressed or clarified.
I note the USBIF4CW utilizes virtual serial port devices over a USB connection,
if there is a spare virtual serial device available in the USBIF4CW; have you
considered using either the RTS or DTR signals from this virtual device for
direct PTT control? Doing so would make it possible for many CAT control
applications, including WSJT-X, to control the target rig's PTT without any
software modifications. I think this would only be possible if the controlling
application can open the COM port even if it does not do any RS-232
communications on that port.
73
Bill
G4WJS.
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel