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

Reply via email to