Improved version for NEOpixel

Posted on
  • @SergeP took a closer look to NEOpixel and created a new version.
    Please see attached file.
    And this is explanation from @SergeP

    After FIFO maximizing everything works in my case. I've found that, as I wrote, there are two classes of high-priority delays (it may be other interrupts) which delay neopixel_handleInterrupt() call. One class is about 1 original buffer, so about 1,25us*64bit=80us, another one is about 4..5 times longer - 300...400 us.
    Now I use full RMT buffer and it's enough to neopixel code work. But it is impossible to use pulses on pins at the same time. This was not possible before my changes, too. But it was possibility to fix that, while my code makes it principially impossible.


    1 Attachment

  • I've just created pull request with the changes. File in the pull request is slightly different because I try to make it more readable. So I've changed one variable name and removed some unused code.

  • @SergeP
    Where did you do the pull request - cant see it in espruino github?

  • I hope you can. I am not sure.

  • https://github.com/espruino/Espruino/pulls

    Can't see anything here. Is it in your copy?

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Improved version for NEOpixel

Posted by Avatar for JumJum @JumJum

Actions