ArduPilot / ArduPilot/MissionPlanner
SiK radio interface issues with RFD900x
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
#### Issue details
The SiK radio interface can mis-program radios after reading data from the paired radio sets.
Two issues spotted:
1. The default NetID of 25 is read from the radios OK. A value larger than 255 results in the NetID field being zero.
I believe this check must be failing and it is discarding the value read from the radio as out-of-bounds https://github.com/ardupilot/MissionPlanner/blob/master/Radio/Sikradio.cs#L974
2. the `MAX_WINDOW` setting is not being read from the radio and put into the interface correctly; the default of 121 is OK, but 20 is present in the interface after a parameter read, and after writing this value is present on the radio. This setting severely degrades the radio's performance, doubling the time taken to retrieve parameters in my testing.
#### Version
SiK radio firmware "RFDSiK V3.57 rfd900x.bin"
MissionPlanner 1.3.77 1.3.8110.38924
#### Platform
[ ] All
[ ] AntennaTracker
[ X ] Copter
[ ] Plane
[ ] Rover
[ ] Sub
#### Airframe type
None.
#### Hardware type
rfd900x
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in Radio/Sikradio.cs at line 974, then trace the parameter-read and write handling for NetID and MAX_WINDOW. Reproduce the cases with NetID values above 255 and MAX_WINDOW set to 20; the issue is done when both values are preserved correctly between the radio and interface.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop-dev, embedded-iot
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100