Skip to content

Implement channel hopping #3

Description

@ajcord

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions