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

Frequency correction based on board temperature & receiver bandwidth match to allowable value #263

Open
wants to merge 2 commits into
base: beta
Choose a base branch
from

Conversation

estbhan
Copy link
Contributor

@estbhan estbhan commented Nov 15, 2024

This pull request add a couple of features,

  1. One for making possible that the board correct itself the tuned reception frequency based on measurements of current board temperature and

  2. Another one for matching the receiver bandwidth to be set with the one value allowed by the RF modem.

The feature for frequency correction is based on the measurement of the microcontroller temperature. When this measurement is possible to be done, the microcontroller and the RF modem share the same space, and the temperature affecting each other is the same, it has been found that the frequency correction is possible keeping the board tuned to the desired satellite frequency within +/-1 KHz (although for assessing this with more confidence, more experiments are warranted, because different RF chips could exhibit different behaviours to the temperature variations). This frequency correction based on local temperature has been found satisfactory for increasing the likelihood of getting FSK packets. Basically the new feature consist on the possibility of defining a curve temperature based on a couple of temperature-frequency points determined from several measurements made on the same board to be calibrated.

The other feature, the matching of the receiver bandwidth with the one allowed by the RF modem, has been done because it has been found that when trying to configure a SX1268 board with a bandwidth that was suitable for SX1278, the board failed to be configured. The new feature check the receiver bandwidth commanded against the allowable values for the particular board where the configuration is to be loaded, and if the receiver bandwitdth does not coincide, the algorithm take the closest higher bandwidth value that is allowed by the board to be configured, set that value, and indicate in the dashboard output log that a new bandwidth has been selected. Should we disagree because we think that a lower BW value could be set, then we can manually change it, but we avoid with this feature that the board gets in a status with the radio disabled due to a wrong configuration.

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

Successfully merging this pull request may close these issues.

1 participant