Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement channel hopping #3

Open
ajcord opened this issue Mar 31, 2017 · 0 comments
Open

Implement channel hopping #3

ajcord opened this issue Mar 31, 2017 · 0 comments

Comments

@ajcord
Copy link
Member

ajcord commented Mar 31, 2017

Currently, the radios only use channel 49. They should instead hop across multiple channels to avoid interference issues. See e.g. Bluetooth Low Energy, which hops between 2.402, 2.426, and 2.480 GHz (which are located between Wi-Fi channels 1, 6, and 11).

See the channel-hopping branch for a partially working implementation. The main issue is synchronizing the transmitter and receiver's clocks because otherwise they will drift apart and no longer be on the same channel. The code in the branch avoids this by sending in each packet the time since the transmitter last hopped; however, while this approach helps for a while, the devices still eventually get out of sync.

In the branch, the receiver figures out the initial channel by listening on the clearest channel until it hears a message, then starting to hop. Also, it cycles through channels according to a shuffled list of channel numbers to avoid large gaps of interference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant