Tested on Raspberry Pi 3 Model B Rev 1.2
Using Python bindings from https://github.com/rpi-ws281x/rpi-ws281x-python/ (probably not relevant)
Electrically I have an inverter between raspi and WS2812B LEDs.
I set output to invert over SPI pin 10
The data is inverted correctly. Clean edges, correct period, etc.
Just like without invert, the idle state output by the pi remains LOW -> inverted to HIGH -> No reset / idle time as required by spec.
To be clear the LEDs see a high input with invert on whenever there is no data being sent.
Attempted workaround:
After a render to the LEDs, I destroy the class ( ws.ws2811_fini(..) ws.delete_ws2811_t(..) )
Then set the output to idle HIGH via:
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(LED_PIN, GPIO.OUT) GPIO.output(LED_PIN, GPIO.HIGH)
After this the first LED partially responds. However, the first bit timing is wrong.
When this is constructed, the output goes high for 3us before starting data transmission.
As a result the colour is incorrect.
Is there a way for invert to also invert the idle state to high?
Tested on Raspberry Pi 3 Model B Rev 1.2
Using Python bindings from https://github.com/rpi-ws281x/rpi-ws281x-python/ (probably not relevant)
Electrically I have an inverter between raspi and WS2812B LEDs.
I set output to invert over SPI pin 10
The data is inverted correctly. Clean edges, correct period, etc.
Just like without invert, the idle state output by the pi remains LOW -> inverted to HIGH -> No reset / idle time as required by spec.
To be clear the LEDs see a high input with invert on whenever there is no data being sent.
Attempted workaround:
After a render to the LEDs, I destroy the class ( ws.ws2811_fini(..) ws.delete_ws2811_t(..) )
Then set the output to idle HIGH via:
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(LED_PIN, GPIO.OUT) GPIO.output(LED_PIN, GPIO.HIGH)After this the first LED partially responds. However, the first bit timing is wrong.
When this is constructed, the output goes high for 3us before starting data transmission.
As a result the colour is incorrect.
Is there a way for invert to also invert the idle state to high?