Skip to content

Glitching issues with patternsΒ #20

@ntwallace

Description

@ntwallace

First off, thanks for this port--this was the push I needed to migrate my big LED projects from Arduino to IDF with Arduino as a component. Let me know if I can be of help with the hardware SPI driver at all.

I'm testing out running WS2812FX patterns on WS2812B LEDs and noticing a few different glitching and ghosting issues:

  1. The last pixel always glitches white when I run a pattern. This happens on all patterns and with both the RMT and I2S driver. Disabling WiFi and Bluetooth doesn't make a difference. Here's an example running a color wipe on a 256 pixel matrix, same thing happens on standard strips: GIF link

  2. I think there may be a data overflow with the I2S driver while running patterns. When using the I2S driver, I get a bunch of extra glitching pixels on past the amount I have defined for the controller. I don't have this issue with the RMT driver. This is the same setup as above (256 LEDs on one output), when I attach additional LEDs I get all this extra glitchy stuff: GIF link

  3. I see some ghosting on the leading pixels of animations when WiFi or Bluetooth is enabled. It's hard to capture with my phone camera, but in the above two GIFs there's also an issue where the leading few pixels of the animation don't clear/animate smoothly sometimes. Disabling both WiFi and Bluetooth fixes the issue, so I assume this is due to jitter. I noticed in the I2S driver you put fillBuffer in IRAM, but I don't think the 0 flag for the esp_inter_alloc call adds ESP_INTR_FLAG_IRAM, does it? I can explicitly call ESP_INTR_FLAG_LEVEL as 1, 2, or 3, but if I add | ESP_INTR_FLAG_IRAM I no longer get any output. Setting ESP_INTR_FLAG_LEVEL to 4 or greater also results in no output. Any thoughts on how to set the priority higher to avoid jitter issues?

Thanks again!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions