Forum Replies Created
-
AuthorPosts
-
Gregg, WB6YAZUser
Hi Randy,
I have a similar problem. Parrot works through the test server, but I have not found a way to test incoming voice through the internet.
I noticed that echolink seems to allow only one callsign type at a time.
When attempting to connect to my WB6YAZ-R node from the android app, the WB6YAZ (non-sysop) is disabled and cannot connect to any node.If you need someone to test your incoming data, list your node# and I will attempt to connect.
My node# is: 223532 (WB6YAZ-R, FN20xd)
-Gregg (WB6YAZ)
Gregg, WB6YAZUserThere are some errors in the above. How does one copy code to a post without having having entries substituted?
ser = serial.Serial('/dev/ttyUSB0',baudrate=9600,timeout=0.5)
should be
ser = serial.Serial(‘/dev/ttyUSB0’, baudrate=9600, timeout=0.5)
Gregg, WB6YAZUserHere is a python example for reading the current frequency (IC-7100 CI-V)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Mon Dec 31 09:18:32 2018 ICOM IC-7100 read frequency from CI-V Command structure = FE FE 88 E0 03 FD Return structure = FE FE E0 88 03 FD FE FE E0 88 03 00 00 46 94 01 FD (146940000 Hz) @author: Gregg Daugherty (WB6YAZ) """ import serial ser = serial.Serial('/dev/ttyUSB0',baudrate=9600,timeout=0.5) print(ser.isOpen()) ser.flushInput() ser.flushOutput() data = b'\xFE\xFE\x88\xE0\x03\xFD' # read freq ser.write(data) print(data) s = ser.read_until('') print(s) freq = [] for i in range (0,17): freq.append(hex(s[i])[2:]) freq1 = [] for i in range(15,10,-1): print(i) if i == 15: freq1.append(freq[i]) elif len(freq[i]) == 1: freq1.append('0') freq1.append('0') elif len(freq[i]) == 2: freq1.append(freq[i][0]) freq1.append(freq[i][1]) #i = i - 1 freq2 = [int(x.strip('"')) for x in freq1] freq3 = int(1e8*freq2[0] + 1e7*freq2[1] + 1e6*freq2[2] + 1e5*freq2[3] + 1e4*freq2[4] + 1e3*freq2[5] + 1e2*freq2[6] + 10*freq2[7] + freq2[8]) print(freq) print(freq1) print(freq2) print(freq3) ser.close()
Gregg, WB6YAZUserHi Aaron,
I am currently using /dev/ttyUSB0 from the Pi to the IC-7100 USB port.
I am finding that very few of the rigctl command work with the IC-7100. The interactive mode is useful for checking if commands are working.
The following tcl command works for changing the frequency and mode.
exec rigctl {*}{-m 370 -r /dev/ttyUSB0 F 146940000 M FM 6000}
I am slowly getting up to speed with tcl. I have started modifying your RemoteRelay module to work with several rigctl commands.
How is the best way to debug a module without using the web interface? Can one simply put the conf, tcl and audio files in their proper directories and then issue an ‘orp_helper svxlink restart’ command?
Thanks,
-Gregg (WB6YAZ)
Gregg, WB6YAZUserAaron,
Your description of commands is correct. I haven’t progressed to the point of placing code into the module template. Still playing with standalone tcl files. Where is the 2.1.0 code located?
I looked through the IC-7100 CI-V options and there is no direct command to read the memory #. The entire contents of the a memory channel can be obtained, which includes a lot of additional settings and would have to be parsed to obtain the channel #. The command set can be viewed from the link below under Advanced Instructions.
I have been attempting to get the ‘w’ (send_cmd) option to work which allows for sending raw data to the rig. This could provide an easy way to debug the interface.
The command list is quite extensive and is most likely very rig dependent. It make sense to allow for some method of entering user data for each dtmf command. Perhaps the user could modify a config file to setup the details ahead of time.
-Gregg (WB6YAZ)
Gregg, WB6YAZUserDan,
The following works:
set RigType IC7100
set MemoryToRecall 06proc RadioRecallMemory {a b} {
switch $a {
IC7100 {
exec rigctl {*}{-m 370 -r /dev/ttyUSB0 E} $b
}
}
}RadioRecallMemory $RigType $MemoryToRecall
puts $MemoryToRecallThe rigctl get_mem (‘e’) function is not implemented.
-Gregg (WB6YAZ)
Gregg, WB6YAZUserThanks Aaron,
Slowly learning tcl. Being a retired microwave engineer, learning a new programming language is a challenge. I am familiar with Matlab and Python and to a lesser extent bash scripting, so it will take me some time to understand the tcl structure.
I have loaded tcl8.6 onto my Pi and was able to get the following to run:
set rigfreq [exec rigctl -m 370 -r /dev/ttyUSB0 f]
puts $rigfreqI think I will start with creating rigctl functions for simply changing memory locations. I can see that trying to do too much with dtmf commands will be difficult and hard to remember without carrying around a cheat sheet.
The impetus for this project was to be able to access my IC-7100 and Echolink while riding my bike around the area. So far so good, fun stuff. Thanks again for your help.
-Gregg (WB6YAZ)
Gregg, WB6YAZUserDan,
Running rigctl through a bash shell. Have any suggestions for a good tcl tutorial?
Thanks,
-Gregg (WB6YAZ)
Gregg, WB6YAZUserThanks Dan / Aaron,
I have hamlib 3.0.1 (rigctl) working with my spare RPi 3 + 2018-11-13-raspbian-stretch-lite and IC-7100.
There is a Tcl library, but I have yet to find any documentation on it.
I am looking through Dan’s template module and am not quite sure if there is a way to make rigctl calls from the Tcl.
-Gregg (WB6YAZ)
Gregg, WB6YAZUserThanks Aaron,
I looked over the Hamlib documentation and it looks very promising. I have a spare RPi 3 I can use to check it out with my IC-7100.
-Gregg (WB6YAZ)
-
AuthorPosts