Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AP_HAL: make NeoPixel high-low proportions match for 0 and 1 #26899

Merged
merged 1 commit into from
Apr 30, 2024

Conversation

andyp1per
Copy link
Collaborator

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.

@tridge tridge merged commit 25b10fb into ArduPilot:master Apr 30, 2024
91 checks passed
@rmackay9 rmackay9 mentioned this pull request Apr 30, 2024
92 tasks
@andyp1per andyp1per deleted the pr-neopixel-fix branch April 30, 2024 07:14
@rmackay9
Copy link
Contributor

rmackay9 commented May 2, 2024

The original person that reported the LED issues says they work now, thanks very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 4.5.3-beta1
Development

Successfully merging this pull request may close these issues.

Copter-4.5.0-beta2: Neopixel LEDs display incorrect colours
4 participants