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

[PHY] Staged modes #1414

Merged
merged 15 commits into from
Feb 5, 2025
Merged

[PHY] Staged modes #1414

merged 15 commits into from
Feb 5, 2025

Conversation

jgromes
Copy link
Owner

@jgromes jgromes commented Feb 3, 2025

Background: When switching between modes (e.g. from standby to receive) there is a significant overhead of commands that must be sent to the device to configure it. Such overhead adds timing uncertainty, because there is a not-insignificant delay between calling the appropriate method (e.g. startReceive) and the device actually starting being able to receive packets. The issue becomes more significant at low clock/SPI speeds typically used in battery-powered devices. This causes problems especially for LoRaWAN.

This PR adds support for "staged modes". This is an API of the PhysicalLayer class that allow to "stage" a mode to be set by calling stageMode method, and then "launching" this mode with launchMode that only performs a couple of SPI transactions.

Marking as draft for now since there is still some cleanup left to be done.

@jgromes jgromes marked this pull request as draft February 3, 2025 19:45
@jgromes jgromes self-assigned this Feb 3, 2025
@jgromes jgromes added the enhancement New feature or request label Feb 3, 2025
@HeadBoffin
Copy link
Collaborator

Nice - I call this a digital-twin - saves so much time with some of the more complex ADC chips - the drivers just love to read settings, alter a few bits, put it back, do that for 8+ settings and ... yawn ...

@jgromes jgromes marked this pull request as ready for review February 5, 2025 19:39
@jgromes jgromes merged commit 2550fae into master Feb 5, 2025
31 checks passed
@jgromes jgromes deleted the stage-mode branch February 5, 2025 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants