ArduPilot / ArduPilot/MissionPlanner

SiK radio interface issues with RFD900x

Open
#3,082 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.