Replies: 1 comment
-
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
tldr
The LoRa API does not support changing the LoRa sync-byte, which is required in some LoRa implementations.
Overriding using a function can solve this issue.
Problem
I have a big issue porting this project "Meshtastic" to Zephyr because the LoRa API does not allow changing the sync-byte (or called sync-word) to more than 2 hard-coded bytes, which are selected with a bool called PublicNetwork.
Meshtastic the protocol uses 0x2B as sync-word to not interfere with other protocols.
Is there a reason for this 2 restrictive hard-coded bytes?
Dirty workaround
I got around this problem by changing the hard-coded byte manually in the driver header, but this is far from ideal.
Possible solutions
The solution would be to allow the programmer to enter the sync word instead of a single bool.
Or have a function that lets the programmer force override the sync-word without breaking the compatibility of current implementation.
Snippets


Here i modified the private sync-word to 0x2B
Here you see the bool switch that selects two hard-coded bytes. This is where the main issue lays.
Beta Was this translation helpful? Give feedback.
All reactions