I received my board today and managed to do a quick install and test with Jim's n2adr_test code.
All outputs are working correctly and I can also read it with the HL2 Jupyter Notebook page N2ADR IO Board section.
73,
Dan - AI2M
--
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/66a1b86e-4c7a-406a-a26d-bcecb0045229n%40googlegroups.com.
--
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/898b2596-c1a9-4de8-be19-f004d6738f16n%40googlegroups.com.
Looks like setting GPIO2 high turns on RF3. Is this correct?
thanks
Raj, N2RD
--
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/83132099-c271-4044-9e02-30986b15849an%40googlegroups.com.
-- -- Rajiv Dewan, N2RD
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/67ea5002-3ec5-429c-93a3-212b1937fd2en%40googlegroups.com.
On May 31, 2023, at 8:36 AM, James Ahlstrom <jah...@gmail.com> wrote:
No, not correct. See the code in i2c_slave_handler.c at case 11 to see how to set the switches.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/7a61089a-2c2f-4eec-9058-8b2d6d2278cfn%40googlegroups.com.
Hello Reid and Group,
This is actually a rather complicated design request. On a quick look, the IO board Pico already knows the Tx frequency and so it knows the Tx band. Given the band, the correct antenna can be chosen by the Pico. Recall that the objective was to require only minimal changes to SDR software, and to put almost everything into the Pico. Adding a Tx antenna to the protocol will only work with Thetis while using the Tx frequency to select the antenna will work with any SDR software.
But you have a selection of a receive antenna. That suggests that the correct design is to send the Rx frequency as well as the Tx frequency. But the HL2 can have multiple Rx frequencies and it doesn't seem right to send them all. If Thetis can select antennas for Rx and Tx per band, it is still sufficient to know the band and use the Pico to select the antenna.
But if Thetis wants to send an Rx and Tx antenna selection anyway, it is not necessary or desirable to add the bits to an existing byte. There are 256 registers available, so you can just add another address or two or three. If multiple people think that sending antenna selection is a good idea, we can add register 14 and 15. For SDR features peculiar to Thetis or other software, we can decide that registers 200 and above are for special purposes and not part of the basic protocol.
Just my ideas. What do others think?
JimN2ADR
On Tuesday, June 13, 2023 at 9:35:53 AM UTC-4 scumballc...@gmail.com wrote:
Hi All,
I would like to update the protocol for the I2C between the SDR software and the HL2 for address 11. Currently this carries the mode for the PS and secondary receive antenna. I would like to use the remaining bits as aerial switching signals for both RX and TX. Thetis has the ability to allow different antennas to be selected pre band and I would imagine that it would be useful for other SDR software.
I propose the following
Bits
7 6 5 | 4 3 2 | 1 0
Tx | Rx | Receive
Ant Ant Mode
The immediate ramification of this is a change to the basic Pico code for the I2C interrupt handler. Around 46 line in i2s_slave_handler.c should be changed to
case 11: // How to use the external Rx input at J9rx_input_usage = data & 0x03; // Only interested in lower two bitsswitch (rx_input_usage) {
The Pico software will also require updating to determine if there is a difference between the Rx and Tx antenna and cause them to switch on EXTTR activation.
Anybody any objections?
Cheers
Reid
Gi8TME/Mi0BOT
--
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/829809fb-6055-40b3-ba9b-db6b55ab8f0bn%40googlegroups.com.
Hello Reid, Ron and Group,
>>if a user wants to change the receive antenna to their vertical rather than the beam to see if they are receiving better
That is an excellent point. I didn't think of that. So let's make a list of protocol requests, discuss them, and then I will add them to the Pico protocol and document them.
I slight complication is that command bytes are received by the Pico in an interrupt service routine. There is not enough time to do anything, as the return from an ISR must be immediate. I solve this by keeping a copy of the register. When the Pico has nothing better to do, I check the current register against the copy. If it is different, I move current to copy and start the operation. The user may change the current register several times while the operation commences. After the operation is complete the register will eventually be checked again, and if different, the operation restarts.
There are 255 register addresses and we are using seven. I don't think it is necessary to combine commands into a single byte. And I would like to avoid bits that tell the Pico whether a certain register is valid or has been changed. Here is a suggested list of added command registers. It is subject to discussion.
1. Register 14 is the Tx antenna and register 15 is the Rx antenna. The default antennas are zero, which means the antenna has not been specified by these registers. Valid antennas are 1 to 255. I am open to using a single byte if there is a reason. Remember that the HL2 can have many receivers and there may be antennas plus transverters. I am not sure 15 is enough.
2. Register 16 written as 1 is a retune request. Read this register to determine the status of the retune. I suggest the Pico changes this register to 2, 3, ... as the retune progresses. A final status of 0xF9 indicates success and 0xFA and up indicates failure.
3. We are only reading register zero. Maybe a read of a register should return the value last written. Since a read always returns four bytes, a read of register 14 would return registers 14, 15, 16 and 17.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/0f04c010-ca68-4b37-a310-528a89aac0f7n%40googlegroups.com.
--
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/58377cea-e6bd-4ef0-b7e5-42dc69a62248n%40googlegroups.com.
Hi Alan,
It is working correctly with my RX preselector setup. My RX input is currently active from the last time I used Quisk. It will stay there unless I power cycle my HL2.
73, Dan AI2M
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/e4f00aa0-3e00-493d-8679-8105937fd916n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/EACE7296-C001-4769-9583-EB1439493FAF%40danporter.net.
Hi Reid,
I’m not sure I’m running the same version. My I2C control options look different:
73, Dan AI2M
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/f3afc103-8125-a107-97ca-02a726971742%40gmail.com.
But yes, I can confirm the I2C control in Thetis does work to enable or disable the Rx port on my unit.
Dan AI2M
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/E9D2B2E4-437D-4024-A7F3-C6A86FC106A6%40danporter.net.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/B0CA70B9-DF07-4A52-BECA-38FB52E350D7%40danporter.net.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/60cf8c1d-e34a-4887-854c-b2b2cb3c3dden%40googlegroups.com.
Jim,
No changes for me.
Thanks, Dan AI2M
--
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/62456ba9-a1b3-4960-8700-359abe0cdc5dn%40googlegroups.com.
--
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/7800e5fb-5ec3-497d-8063-0e9d67f6f71dn%40googlegroups.com.
Bottom line: send two frequencies flow and fhigh. During RX this is the highest and lowest frequency
of all active RX,
during TX both frequencies are equal and match the TX freq.
Then, do HPF switching according to flow and LPF switching according to fhigh. If both flow and
fhigh fall into the same band (this is always the case for TX) you get the "old" behaviour.
I think we are over complicating something which should be quite simple,
possible being driven by the desired to control antenna selection via the frequency.
My requirement for Thetis is to be able to select Rx and Tx antennas pre band. Thetis already has all the logic and it would normal talk to the hardware via Protocol 1 to preform the functionality. I would just like a register to pass that information.
I would also like it combined into one byte to make it atomic, so there is not chance of something happening in between the transmission of two bytes. As the I/O hardware will be responsible for switching between receive and transmit aerials, there is the potential for an accident if only one aerial selection takes place.
One other question, now that register locations are read/write, what is the register layout regards the transmission of the frequency information?
Hello Reid,
On Tuesday, June 27, 2023 at 4:30:54 PM UTC-4 scumballc.. wrote:
I think we are over complicating something which should be quite simple,
It is simple to program features for Thetis. It is not simple to invent a protocol that is easy for an amateur to program in the Pico, and that enables the amateur to switch among several SDR's without worrying about how each sends bytes.
possible being driven by the desired to control antenna selection via the frequency.
Yes, it is part of the design to send the Tx frequency instead of the Tx band. That was discussed on this group previously. The Tx frequency is more general and can be used to pre-tune an antenna tuner or a loop antenna. Given the Tx frequency, the Pico can figure out the Tx band.
My requirement for Thetis is to be able to select Rx and Tx antennas pre band. Thetis already has all the logic and it would normal talk to the hardware via Protocol 1 to preform the functionality. I would just like a register to pass that information.
I would also like it combined into one byte to make it atomic, so there is not chance of something happening in between the transmission of two bytes. As the I/O hardware will be responsible for switching between receive and transmit aerials, there is the potential for an accident if only one aerial selection takes place.
OK, is four bits of antenna selection enough? How about this, which is based on your previous post: The upper nibble is the Tx antenna for the band, and the lower nibble is the Rx antenna. The band is selected by the Tx frequency. Antennas are 0 to 15 inclusive. Of course, both nibbles could be the same. The default byte is 0x00 and means the first antenna for Rx and Tx. When the user changes bands, the SDR sends the byte for that band. The Pico would use this byte in the event that there were multiple antennas for a band.
One other question, now that register locations are read/write, what is the register layout regards the transmission of the frequency information?
So far, the Tx frequency is five bytes in registers MSB 0, 1, 2, 3, 13 LSB. The first four registers are static buffers, and the Tx frequency is recorded when register 13 is written. Now that we can read registers, it would be better if the five registers are sequential and are only used for the Tx frequency. But changing them would be inconvenient for existing Pico programs, if any.
--
JimN2ADR
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/95acc767-f768-4e72-a2fe-3e156c69b09bn%40googlegroups.com.
--
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/95acc767-f768-4e72-a2fe-3e156c69b09bn%40googlegroups.com.
--
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/0b7aacf9-a696-d3b8-8087-87e47a51ce55%40gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/CADfPxqHwqHNsXLHuhH7%2BPX6x518Z-VKaDQDKzKg1qE18P4Xzpw%40mail.gmail.com.
--
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/600ba2f3-8e94-4cf0-9c6e-2e511b2af102n%40googlegroups.com.
OK, is four bits of antenna selection enough? How about this, which is based on your previous post: The upper nibble is the Tx antenna for the band, and the lower nibble is the Rx antenna. The band is selected by the Tx frequency. Antennas are 0 to 15 inclusive. Of course, both nibbles could be the same. The default byte is 0x00 and means the first antenna for Rx and Tx. When the user changes bands, the SDR sends the byte for that band. The Pico would use this byte in the event that there were multiple antennas for a band.I think that sounds fine but I would request a master register. This register would OR'ed with the current band selected register to produce the final result. That would allow the best of both world's where the SDR software can take control when it already has the aerial change over functionality.
I think we are at the early days and the on going development is making us rethink the protocol.
We also should consider fault/error flags.
Hello Reid,OK, is four bits of antenna selection enough? How about this, which is based on your previous post: The upper nibble is the Tx antenna for the band, and the lower nibble is the Rx antenna. The band is selected by the Tx frequency. Antennas are 0 to 15 inclusive. Of course, both nibbles could be the same. The default byte is 0x00 and means the first antenna for Rx and Tx. When the user changes bands, the SDR sends the byte for that band. The Pico would use this byte in the event that there were multiple antennas for a band.
I think that sounds fine but I would request a master register. This register would OR'ed with the current band selected register to produce the final result. That would allow the best of both world's where the SDR software can take control when it already has the aerial change over functionality.
The IO board recognizes 23 bands and that requires 5 bits, so I don't think all this will fit into a byte. If you don't like the above protocol, please suggest another, but specify the exact layout of the byte and how it is to be interpreted by the Pico.
I think we are at the early days and the on going development is making us rethink the protocol.
I will give some thought to renumbering the registers. I will make a *.h file with register names to make things easier for SDR authors.We also should consider fault/error flags.
The IO board does not have knowledge of faults unless they come from the input pins or the ADC's, and these are available to the SDR software. What circumstance would require fault/error flags?
--
JimN2ADR
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/faf97de9-a0c0-4095-9e91-074adaf39718n%40googlegroups.com.
>>There is quite a bit of interest in this board on the Facebook group. They are considering doing their own run. Jim and others, what is your plan for production and sales?
--
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/9acdd41c-cf5e-4f46-8338-c11c3ea53f08n%40googlegroups.com.
I noticed a small issue with placement of the 9 pin connector, see pic attached.
What tests would you like to see for the UART?
Hello Reid,
I noticed a small issue with placement of the 9 pin connector, see pic attached.
I used this 9-pin connector LD09P13R4GX00LF and it does go to the edge of the board. If your board is from Makerfabs, we need to tell them that substitute parts must go to the board edge.
What tests would you like to see for the UART?
As you said, the Pico UART is not able to handle standard UART voltages of +/- 8 volts. So the UART must not be connected to a PC or USB serial device. The IO board UART signals are +5 and zero volts. This is a "standard" for communication between microprocessors. So to test the UART you need a microprocessor target. I think the HR50 amp has such a microprocessor.
--
JimN2ADR
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/1aef5035-39c9-460d-a89a-9fd8d1b4f7fen%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/e3f59922-41c4-4f3b-a355-b97566d74aecn%40googlegroups.com.
Hi Jim,thanks for considering this, it may well be something that is never required. I have attached a config file used for your filter board, the first section describes the bands and tx output values (I have never tried to deal with multi band tx), the second section is every combination of the bands with an rx output value. Internally to spark the bitfield is uint32 but that was purely chosen to work on 32 and 64 bit platforms and is over the top for existing filters. I currently send tx frequency to the io board with any transverter offset included (i.e. not what is used for the standard filter), there is obviously a very much greater number of possible bands in this case. I've not thought this through enough to make a useful suggestion, I do know that the low level of spark needs to know all rx frequencies, the best guess tx frequency (typically the last one tx'd on) and transverter offset. I do have a personal use for the io board as I'd like to use hf and a 2m xverter with a single HL2 on my /mm station but again am only just getting up to speed but looking forward to it.73 Alan M0NNBOn Friday, June 30, 2023 at 3:58:06 PM UTC+1 jah...@gmail.com wrote:Hello Alan,I do understand that Spark uses multiple receive bands, and I have every intention of supporting this in the protocol. When you set a bit field for the bands in use, how wide is the bit field?JimN2ADR
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/0F16A90D-BD93-4F13-AD75-FEFAB0986E47%40gmail.com.
But the real issue is not memory, but the limitation to one-byte writes in the HL2 gateware. And the need to send these writes at intervals, not all at once.
--
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/4ab51234-49fa-496d-84d5-ed25d0e8ca81n%40googlegroups.com.
--
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/a44198c5-ead7-4b25-b73a-be6c29ceb930n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/CACjxfUtBz5M_%3D06VbS0iNdN6gx302nLoxcWHtiKDgMoafQrt5A%40mail.gmail.com.
Two IO boards for me too.
Thanks,
Rich W1EZ
From: herme...@googlegroups.com <herme...@googlegroups.com> On Behalf Of Tom Cooleen
Sent: Tuesday, July 25, 2023 5:48 PM
To: Colin Larsen <colin....@gmail.com>
Cc: Hermes-Lite <herme...@googlegroups.com>
Subject: Re: HL-2 IO board testing - Receive Mode
Count me in for 2 of the I/O boards
Tom , K2TC
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/CAMrQyqNbe0_p77d4R8CgPVuE6yAMrjqL5Ng--vGL53FQDORKbw%40mail.gmail.com.