Table of Contents
HF-VHF Xgate 2024
Revisiting an old project
Previously...
Plans for 2024
- Re-install all the hardware:
- IC-M710
- Raspberry Pi X-Gate controller
- X-Gate Interface with syllabic squelch and DTMF decoder
- Test in full-duplex VHF/UHF mode to identify any issues that need addressing to bring back to normal function
- Suspend or stop completely VHF APRS to free up V/UHF for X-Gate
- Test remote operation from Vehicle - V/UHF coverage is unlikely to be very good…
- Revisit Python code if necessary to add/remove features.
- Actually have real QSOs on HF using the X-Gate!
2024 Progress
23/3/24
- Connected X-Gate Interface, R.Pi controller, IC-M710 and FT8900
- Initial problem with crashing due to USB problems on R.Pi causing USB/Serial adaptor (for control of IC-M710) to fail - this was cured by using different 5V USB power supply.
- Speech clipper removed from HF TX audio path due to distortion and poor audio quality.
- HF Audio drive level set to give correct HF SSB Power out
- Web server status page available by port forwarding at http://gm4slv.plus.com:42109/
- VHF uplink changed to split-band
- Input : 144.650MHz
- Output: 435.400MHz
- This allows control even when in permanent “Monitor” or “Talkthrough”
- Enabled a 15-minute CW ident on the UHF port which identifies with my callsign and the current HF frequency/mode.
TMUX Session
- Xgate software runs in a Tmux session with 3 panes
- Xgate software - printing commands etc. from the running controller code
- Relay control - independantly control various Xgate relays (PTT, Monitor, Mute, CW tone) directly, while main xgate is running.
- a shell for editing code etc.
24/3/24 : Thoughts....
- Is the “HF Channel” 4-digit input selection really of any value?
- It requires memorizing channel numbers and saves entering only one or two digits.
- Will probably drop this function unless I find a use for it soon.
- Perhaps change to 2-digit channels and limit to a few frequently used frequency/mode combinations?
Initial try at 2-digit memory channels
mem_dict = { "01" : ["5279.0","USB"], "02" : ["5320.0", "USB"], "03" : ["5366.5", "USB"], "04" : ["5371.5", "USB"], "05" : ["5378.0", "USB"], "06" : ["5395.0", "USB"], "07" : ["5398.5", "USB"], "08" : ["5450.0", "USB"], "09" : ["5505.0", "USB"], "10" : ["7160.0", "LSB"], }
- One change in main xgate code:
if len(command_two[2:]) == 4:
becomes
if len(command_two[2:]) == 2:
elif command_two[:2] == "*1": write_file("Frequency / Memory") #if len(command_two[2:]) == 4: if len(command_two[2:]) == 2: new_freq = float(mem_dict[command_two[2:]][0]) new_mode = mem_dict[command_two[2:]][1] write_file("Memory Channel selected %s" % mem_dict[command_two[2:]]) set_frequency(new_freq) set_mode(new_mode) write_status("freq",str(new_freq)) write_status("mode",new_mode) else: new_freq = float(command_two[2:])/10 set_frequency(new_freq) write_status("freq",str(new_freq))
- modified main xgate code to be able to start in simplex or duplex mode by the choice of commandline argument:
- for simplex (single frequency/band uplink/downlink) which will disable the continuous monitor function to avoid getting locked out →
./xgate_current.py s
- for duplex (separate uplink and downlink bands) which will enable the continuous monitor function, as it is always possible to send a command on the uplink band while the downlink is transmitting →
./xgate_current.py d
I've updated the mercurial repository
- added new files, committed recent changes and made a clone of it on the shack laptop - in Dropbox (which might be a bad idea?)
There's another page about simple Mercurial , as an aid to remembering how to do it each time.
24/3/24 | xgate_m710.zip | Xgate scripts |
Mobile Cross-band repeat access
29/3/24
If the X-gate is set to simplex
mode (single band control) on VHF
it should be possible to access the system via a mobile cross-band repeater from a low power UHF handheld.
This extends the range of the local VHF network
.
If you are within UHF simplex range of the V/UHF cross-band repeater (usually vehicle mounted) and the vehicle is located within VHF range of the X-Gate (e.g. on a suitable distant hill-top) it should be possible to access the X-Gate and log in/change frequency etc. and to operate through it on HF, from the UHF side of the vehicle's Cross-Band repeater.
I am beginning tests on this using a TM-D710 mobile and TH-D72 handheld.
From the RSGB Band Plan
- 144.500 MHz Image Modes (SSTV, Fax etc)
- 144.600 MHz Data Centre of Activity (MGM, RTTY etc)
- 433.8000-434.2500 MHz Digital communications & Experiments
On 2m an appropriate place seems to be between 144.500 and 144.600, where there don't seem to be any prior centre-of-activity
channels carved out.
I'll use 144.575MHz.
On 70cm an appropriate place seems to be between 433.800 and 434.250 - experiments
I'll use 433.825MHz
- X-Gate uplink changed to
Simplex
: 144.575MHz
Talkthrough Watchdog Timer
I found an old piece of the python code I'd written that adds a Talkthrough Timeout to the X-Gate. It detects the commencement of a Talkthrough period and starts a timer. The timeout of this watchdog is set in the code, as is a pre-timeout warning time.
At the end of the warning time the VHF port sends “di-dit” every 20 seconds superimposed over the talkthrough (HF Receive) audio, to warn the VHF user(s) that the talkthrough will terminate soon.
At the end of the timeout period the Talkthrough is turned off and the system returns to it's quiescent state.
The Barrett 2062 Crossgate has a 10 minute inactivity timeout, which closes the cross-connection (talkthrough) after 10 minutes with no user activity.
My X-Gate doesn't take into consideration user activity, as the VHF→HF PTT does not get monitored by the X-Gate, so it is not currently possible to quantify “user inactivity”, by observing if there's any traffic on the VHF port. The Watchdog as it stands is a safety precaution against talkthrough getting locked up in transmit (in either direction).
After a timeout it's a simple matter of logging in again via VHF DTMF and re-starting talkthrough if it's still required. The “warning pips” give notice that this action is soon to be needed. If talkthrough is no longer needed then no further action is required.
Ideas
Make the Watchdog timer user switchable - be able to disable it if required.
- Added new DTMF Commands “Timeout on” =
* 3 1 #
, “Timeout off” =* 3 0 #
- Use these to write to the “status” file
- The watchdog process can check the status file to decide whether to take action or not
- Tested and it works as expected
Problems
29/3/24
- Found that the IC-M710 HF radio has poor receive sensitivity - well below spec. 12dB SINAD should be at 0.5uV but it needs more like 3uV (or more) which is quite poor
- X-Gate taken out of use until I can either repair the
IC-M710
or make up connections to use theIC-7200
. The latter needs a 13-pin DIN plug for the rear panel ACC socket.
Further Information
GM4SLV XGate | Status Page | http://gm4slv.plus.com:42109/ |