micropython / micropython/micropython-lib
lora driver: SX1276 reports incorrect RSSI
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.1k
- Avg merge
- 7d 6h
- Merged PRs (30d)
- 3
Description
Maintainer edit: Continuation from discussion at https://github.com/orgs/micropython/discussions/12989
For a Hope Radio RF96 (RFM96W) the RSSI readings seem to calculated incorrectly. I generally see about -110dBm where errors start creeping-in. Two other Micropython LoRa implementations report -120 or thereabout dBm for similar "errors*.
Is the formulae:
# units: dBm
rx_packet.rssi = self._reg_read(_REG_PKT_RSSI_VALUE) - (157 if self._pa_boost else 164)
valid for this chip? I do not understand why pa_boost is in this formulae.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the LoRa SX1276 driver code that computes rx_packet.rssi, then inspect the SX1276 RSSI and PA_BOOST documentation and compare the formula with the two other MicroPython LoRa implementations mentioned. Done means determining the correct offset and whether PA_BOOST belongs in the calculation, with measurements or tests covering the reported weak-signal range.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100