Hello Richie and All who may be concerned about CAT interface on TCP/IP,
Thanks to Richie's effort, we can enjoy CAT interface on TCP/IP. In this regard, recently, I've written Acom-2000A auto-tuning program working on a PC. It works fine with Thetis (v 2.9.0.6) to get the Thetis frequency as well as to control the power of Thetis including PTT. I didn't use ZZSM, because there was not the need.
Today, for my project I try to read S-meter level of Thetis. However I couldn't succeed in it completely. For my case, ZZSM0 doesn't work, but ZZSM1 seems to be working.
I attached a very simple Python3 socket program to show this status as well as Thetis Rx meter screenshot. You can see the CAT responses.
Any comments/help would be much appreciated.
73,
Tokio
JA1CCA
Thetis ZZSM0 not working on TCP/IP CAT
Thetis ZZSM0 not working on TCP/IP CAT
- Attachments
-
- Thetis S-meter readings (Small).PNG (188.62 KiB) Viewed 4557 times
-
- Thetis TCP server response (Small).PNG (118.99 KiB) Viewed 4557 times
Re: Thetis ZZSM0 not working on TCP/IP CAT
Hello All,
My simple python socket may cause the trouble to receive an inadequate response...
But, does ZZSM1; return ZZSM1xxx; ?
73,
Tokio
JA1CCA
My simple python socket may cause the trouble to receive an inadequate response...
But, does ZZSM1; return ZZSM1xxx; ?
73,
Tokio
JA1CCA
Re: Thetis ZZSM0 not working on TCP/IP CAT
Hello All,
My post has been resolved. My code of Python was not adequate.
I confirmed the very correct reply from Thetis regarding ZZSM0/ZZSM1.
Therefore I can proceed to the next step of my project.
So far I used to use C# socket program. Python is quite convenient, but is very new to me.
FYI, I attached the reply from Thetis.
73,
Tokio
JA1CCA
My post has been resolved. My code of Python was not adequate.
I confirmed the very correct reply from Thetis regarding ZZSM0/ZZSM1.
Therefore I can proceed to the next step of my project.
So far I used to use C# socket program. Python is quite convenient, but is very new to me.
FYI, I attached the reply from Thetis.
73,
Tokio
JA1CCA
- Attachments
-
- corrected ZZSM (Small).PNG (116.3 KiB) Viewed 4546 times
Re: Thetis ZZSM0 not working on TCP/IP CAT
Works as expected here (.net)
73 Ernst
73 Ernst
Re: Thetis ZZSM0 not working on TCP/IP CAT
Hi Ernst,
Thank for your confirmation.
I confirmed your result.
Now I can get the correct reply from Thetis as you showed.
I'll try a speech synthesize of S-meter reading and frequency.
One of my friends has an eyesight problem, so he cannot read the S-meter nor Frequency. I've heard that IC-7800 could speech them by touching a buttom but the speech is too slow.
The speech recognition as well as speech synthesize are good tools for ham operators handicapped and getting older.
73,
Tokio
JA1CCA
PS:
my corrected Python script. It works:
import socket
HOST = "192.168.1.17"
PORT = 13013
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
data1 = s.recv(1028)
s.sendall(b"ZZSM0;")
data2 = s.recv(1028)
s.sendall(b"ZZSM1;")
data3 = s.recv(1028)
s.sendall(b"IF;")
data4 = s.recv(1028)
print(f"Received header {data1!r}")
print(f"Received by ZZSM0 RX1 {data2!r}")
print(f"Received by ZZSM1 RX2 {data3!r}")
print(f"Received by IF {data4!r}")
s.close()
Thank for your confirmation.
I confirmed your result.
Now I can get the correct reply from Thetis as you showed.
I'll try a speech synthesize of S-meter reading and frequency.
One of my friends has an eyesight problem, so he cannot read the S-meter nor Frequency. I've heard that IC-7800 could speech them by touching a buttom but the speech is too slow.
The speech recognition as well as speech synthesize are good tools for ham operators handicapped and getting older.
73,
Tokio
JA1CCA
PS:
my corrected Python script. It works:
import socket
HOST = "192.168.1.17"
PORT = 13013
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
data1 = s.recv(1028)
s.sendall(b"ZZSM0;")
data2 = s.recv(1028)
s.sendall(b"ZZSM1;")
data3 = s.recv(1028)
s.sendall(b"IF;")
data4 = s.recv(1028)
print(f"Received header {data1!r}")
print(f"Received by ZZSM0 RX1 {data2!r}")
print(f"Received by ZZSM1 RX2 {data3!r}")
print(f"Received by IF {data4!r}")
s.close()