AP_HAL: make NeoPixel high-low proportions match for 0 and 1 #26899
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #26295
@rmackay9 's LED is not compliant with the LED spec. The original 4.4 timing gives an output of 833Khz which is incorrect - it should be 800Khz which has been corrected in 4.5. With this output rate Randy's LED is unable to parse the pulse widths even though they too are in-spec (widths should be 850ns +- 150ns and 400us +- 150ns. The current 4.5 widths are: 464/776 and 930/310. Randy's LED will work with the following timings: 308/932 and 930/310. So it is the T0 timing that is the problem even though the current timing is closer to spec. That said, the timing that Randy's LED wants is still in spec and means that T0 and T1 are symmetrical - so I think this is an ok change, even though its a hardware problem.
A final note - Randy's LED also has incorrect signal leveling on a CubeOrange - even with a pull-up the high level is 3.0v which is not the 0.7VDD (3.5v) that these devices actually require. A Matek LED in contrast can be pulled up to 3.6v which is in spec.