I'm investigating Automatic hopping on the Si446x and have read the #1-#6 knowledge base articles as well as the relevant datasheets but have been unable to find out if it is possible to change an entry in the hopping table without affecting a running Automatic Hop cycle.
Setting up an experiment of 3x channels in Auto hopping mode and configuring GPIOs to see the hopping in action, I can see all 3 channels and the channel wrap occurring as expected. Good so far.
If I then randomly change the first entry in the hopping table on a regular basis (not synchronised with a table wrap), I am able to monitor 4 hops per wrap on occasion.
Can I ask if this is a general reset of the hop table due to an entry change whilst RX is in operation, or perhaps it's because I am changing the entry that is next being hopped to, or something similar. I would like to be able to change a channel in the table without it having an effect on the number of hops per wrap.
Do you think this is possible at all (perhaps with some synchronisation), or is it impossible due to some internal process that inhibits it?
Changing a hop table entry without stopping auto hop is not a use case that auto hop is prepared for.
So it is not specified how it behaves in that case. You can try to synchronize as you mentioned and see if it works, or you can stop auto hop before changing the table.