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