SNR calculation error
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- c
- Domain
- embedded-iot
Research direction
Start by locating the LLCC68 GetPacketStatus implementation and the SNR calculation that reads register value 0x14. Compare its type handling with the LLCC68 data manual's two's-complement description. Done means poor signals produce negative SNR values close to the expected range instead of positive values around 45 to 48.
Written by the indexing model from the issue text.
Description
Version
main
Describe the bug
When I was using the LLCC68 module, the distance between the master and slave modules was quite far. During the calculation of the SNR value, abnormal values appeared. The current value should be a negative number (close to -20), but the calculated SNR value is a positive number (45 to 48).
Reproduce
When the signals between the modules are poor, calculate the SNR value.
Expected behavior
When the signal is very poor, the calculated value of SNR should be a negative number.
Additional context
After reading the LLCC68 data manual, I suspect that there is an error in the calculation performed by the GetPacketStatus register with the value of 0x14 when reading the data. The original text of the manual reads: "Estimate the SNR of the last received packet in two's complement format and multiply it by 4. The actual SNR in dB = SnrPkt / 4." The SNR calculation value here still uses uint8_t, but in reality, int8_t should be used instead.
- Dominant language
- C
- Stars
- 95
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
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.
More from libdriver/llcc68
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
All issues in libdriver/llcc68
Similar issues
-
level/task module/gcp type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
hapostgres/pg_auto_failover#1190 ·
-
docs
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
P3 sonic-vpp
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sonic-net/sonic-buildimage#29662 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
spack/spack-packages#6586 ·