ArduPilot / ArduPilot/MissionPlanner

Dronecan set param function sending incorrect value for integer strings

Open
#3,115 2 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
Large strings that can equate as an integer number cause the dronecan set parameter function to send in scientific notation.

#### Version
1.3.74 checked on master and it's still present.

#### Platform
[ X] All
[ ] AntennaTracker
[ ] Copter
[ ] Plane
[ ] Rover
[ ] Sub

#### Airframe type
Any
#### Hardware type
Cube orange / bluemark remote ID module. Hardware type doesn't effect the issue.

#### Logs
No logs but in the function here https://github.com/ArduPilot/MissionPlanner/blob/master/ExtLibs/DroneCAN/DroneCAN.cs#L2024

When a string is greater than 12 digits all numeric (probably less than this number. This is the length of the number I was using.) the object converts the string into to scientific notation.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at ExtLibs/DroneCAN/DroneCAN.cs around line 2024 and inspect how the set-parameter function converts numeric strings before sending them. Reproduce the issue with a numeric string longer than 12 digits, then verify that the transmitted value remains the original integer string rather than scientific notation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
networking, robotics
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.