HL2 protocol ADDR=0x09 bits

430 views
Skip to first unread message

"Christoph v. Wüllen"

unread,
Nov 5, 2020, 10:08:50 AM11/5/20
to herme...@googlegroups.com
Dear all,

upon request I have added an „enable PA“ checkbox to piHPSDR and
it is clear this must affect bit19 of ADDR=0x09 in the HL2
protocol (this is one of the hi-jacked Apollo bits).

Can sb. explain me the meaning of bit 18 (I just do not
understand fully the text
"Q5 switch internal PTT in low power mode or 0=ATU tune and
1=ATU bypass when PA is on“ ? I am lost because in my
schematic, Q5 controls „External PTT“.

I am also unsure about bit20, what does it exactly do,
and when should it be set?

My current idea is:

bit 18: set always
bit 19: set to enable HL2 PA and disable RF1-out
bit 20: set when hitting the „tune“ button, in addition to produce
a continous RF carrier through the IQ samples.

But as I said I am not sure.

Yours,

Christph DL1YCF.

Steve Haynal

unread,
Nov 5, 2020, 11:50:52 PM11/5/20
to Hermes-Lite
Hi Christoph,

Bit 19: Set to enable HL2 PA and RF output from main ANT connector. Clear to disable HL2 PA and enable low power output from RF1. 

Bit 18: Set to enable HL2 to switch between transmit and receive with onboard TR switch connected to ANT. Clear to disable onboard TR switch only when in low power mode (bit 19 clear). The original thinking was a need to enable full duplex with RX via ANT and TX via RF1. But the only time someone can use full duplex is if the HL2 PA is disabled, so this bit may not be very useful.

Since bit 18 has no effect when the PA is enabled (onboard TR switch will always switch when PA is enabled via bit 19), it also serves as experimental ATU control duty along with bit 20. See:

A truth table for bits 20 and 18 is helpful. These are only active if the PA (bit 19) is on.

Bit 20  Bit 18
0 0 - No ATU functionality
0 1 - No ATU functionality, bit 18 has no effect when the PA is on
1 0 - Send AH-4 tune control
1 1 - Send AH-4 bypass control

I haven't used my AH-4 in almost a year, and need to verify that everything still works as expected.

Thanks for all your work to support the HL-2!

73,

Steve
kf7o

"Christoph v. Wüllen"

unread,
Nov 6, 2020, 3:27:18 AM11/6/20
to herme...@googlegroups.com
OK, so as long there is no GUI control for switching
a tuner between „tune“ and „bypass“ mode, I think
one should go for the „tune“ mode, that is

check „TUNE“: bit20=1 bit18=0
uncheck „TUNE“: bit20=0 bit18=0

and, completely independent of this

check „PA enable“ bit19=1
uncheck „PA enable“ bit19=0

Until now I had bit18 set all the time but this seems to disable the
external tuner (bypass mode), so it is probably not what you expect.

I have now pushed this to github.com dl1ycf.

I think „PA enable“ is relevant to many of you but the ATU interface
is perhaps less often used.

Yours,

Alan Hopper

unread,
Nov 11, 2020, 9:06:17 AM11/11/20
to Hermes-Lite
Hi Steve and Christoph,
I had been setting bit 20 on tune but noticed I'd get a very short blip of power on ptt then a pause of ~.4s then power again. If I don't set bit 20 there is no interruption, if I set bit 18 and 20 the interruption is about half as long. I really don't understand what is happening here or what I should be doing.
73 Alan M0NNB

SM4VEY

unread,
Nov 12, 2020, 10:57:55 AM11/12/20
to Hermes-Lite
Hi  Steve,

I see something else with regards to ATU tune I don't understand.
If I enable the HL2 PA in Spark, I can trigger the ATU tune, but if I disable the PA (as I have to in order to use the low power port for my PA) then I get no tune signal out of the FPGA. Got my Oscope connected to to the HL2 now and it's easily reproducable.

I get the same pattern with SparkSDR and LinHPSDR, perhaps its related to the Gateware?  I'm on 71p3
Or is this as designed?

Regards
Jonas

Steve Haynal

unread,
Nov 12, 2020, 11:29:26 PM11/12/20
to Hermes-Lite
Hi Jonas,

Yes, there is no tune generated if the HL2 onboard PA is disabled. It is related to the two bits used to configure the ATU functionality. I will have to think about how to enable if in low power mode.

73,

Steve
kf7o

Alan Hopper

unread,
Nov 13, 2020, 2:30:15 AM11/13/20
to Hermes-Lite
Hi Steve,
I just read https://github.com/softerhardware/Hermes-Lite2/tree/master/hardware/enclosure/endcaps/kf7o/hl2_40b#atu and think I understand now. I'll add controls to make setting the tune bit optional.
73 Alan M0NNB

Jonas Sanamon

unread,
Nov 13, 2020, 2:38:43 AM11/13/20
to Hermes-Lite
Hi Steve,

Could one way to fix this be to only enable the ATU FSM when PA is enabled (like it is now), but to trigger a 500ms ATU request pulse and let the RF signal out regardless of if PA enabled or not?
This way the ATU tuning would work either way, even if PA disabled. But with PA disabled then RF would be sent until the tune button is disabled again. 

Regards, Jonas


--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/3de5b04b-1969-47c4-a764-4e2873f867b8n%40googlegroups.com.

James Ahlstrom

unread,
Nov 17, 2020, 12:10:58 PM11/17/20
to Hermes-Lite
Hello Group,

I changed the protocol document to make the explanation of bits 18 and 20 a little clearer. Please check for accuracy. I am adding control of these bits to Quisk.

Jim
N2ADR

Steve Haynal

unread,
Nov 18, 2020, 11:18:46 PM11/18/20
to Hermes-Lite
Hi Jim and Jonas,

Thanks for your help with cleaning up the protocol document. Regarding bit 20 and 18, I think I may have made a bad decision. I was trying to be clever and have a way to tune or reset an external tuner with repurposed controls that might already exist in PowerSDR. But now Jonas points out you can't tune when in low power mode. OpenHPSDR1 never had an option for reset tuner. So maybe we should just make bit 20 enable/disable ATU tune during tune, independent of bit 18. That way it will work for low power mode too and adhere better to protocol1. We can then assign another bit for reset external tuner. What do you think?

73,

Steve
kf7o

Jonas Sanamon

unread,
Nov 19, 2020, 6:11:04 AM11/19/20
to Steve Haynal, Hermes-Lite
Hi Steve and Jim,

Thanks for looking into this, I agree that is probably better.  Also I think that at least with Icom tuners, You can reset the tuner by issuing a short tune "pulse" so it should be possible to  solve this in the software domain. 
But frankly I tend to just re-tune after changing band. (is reset even implemented in any software that supports HL2?) I have never used the reset function.

Regards, Jonas

James Ahlstrom

unread,
Nov 19, 2020, 11:23:15 AM11/19/20
to Hermes-Lite
Hello Steve and Jonas,

Anything is fine with me, and your suggestion sounds good. By "reset" I take it you mean "bypass" during tune. Let's be sure we actually need "reset". Removing the impedance matching network from an ATU doesn't sound useful, and re-tuning on a band change sounds normal. We could leave out "reset" for now and wait for someone to complain.

Let me know if you want me to change the Protocol document once you decide.

Jim
N2ADR

Steve Haynal

unread,
Nov 21, 2020, 1:12:23 AM11/21/20
to Hermes-Lite
Hi Jim and Jonas,

Yes, bypass is a better term. The Icom tuners support it, and I like having it to remove any matching network for skimming multiple bands. For example, 10 bands of FT8.

73,

Steve
kf7o

Steve Haynal

unread,
Jan 20, 2021, 1:21:42 AM1/20/21
to Hermes-Lite
Hi All,

I've tested the new tuner enable on Quisk 4.1.76 and it is working. I'd like to assign bit 17 as the bypass tuner bit. Bit 17 is originally assigned as the "Metis/Penelope or PennyLane Mic/Line-in (0 = mic, 1 = Line-in)" selection.If there are no objections, I will add it to the protocol.

In summary, the behavior of Quisk that I have tested as working is:

* Enable the ATU autotune during spot via Config-><Radio Name>->Antenna tuner set to Tune.
* For spot levels greater than 0, the tune command will be sent to the tuner during spot. Usually you need power levels close to 5W to trigger the tuner.
* If the external tuner succeeds, you will continue to see the TX spot signal when full duplex is enabled and should see a reasonable SWR
* If the external tuner fails (sends back failure), you will no longer see the TX spot signal in full duplex after several seconds, but still must turn spot off via the Quisk spot button.
* For spot levels equal to 0, the tune bypass command will be sent to the tuner during spot. You should see a corresponding increase in signal bandwidth on the bandscope as well as a reduction in current draw as all relays are disengaged.

Here are my tested changes to Quisk to enable tuner bypass. Ideally we should not send a command to the HL2 for each call of SetControlBit, but merge all changes to address 0x09 into a single command. 

  def OnSpot(self, level):
    # level is -1 for Spot button Off; else the Spot level 0 to 1000.
    if level >= 0 and self.conf.hermes_antenna_tuner == "Tune":
      self.SetControlBit(0x09, 20, 1)
      if level == 0: self.SetControlBit(0x09, 17, 1) ## Bypass tuner if bit 17 set
      if DEBUG: print("OnSpot antenna tuner: On")
    else:
      self.SetControlBit(0x09, 20, 0)
      self.SetControlBit(0x09, 17, 0)
      if DEBUG: print("OnSpot antenna tuner: Off")



73,

Steve
kf7o

James Ahlstrom

unread,
Feb 9, 2021, 12:36:24 PM2/9/21
to Hermes-Lite
Hello Group,

I added address 0x09 bit 17 to the protocol page.

Jim
N2ADR

Steve Haynal

unread,
Feb 11, 2021, 2:02:04 AM2/11/21
to Hermes-Lite
Hi Jim,

Thanks for doing this. I need to release gateware with the support. I have been using Quisk with remote tuner at my sister's place for about a week now, and the Quisk ATU functionality has been working well.

73,

Steve
kf7o
Reply all
Reply to author
Forward
0 new messages