I’m having some trouble getting neopixels working on my Omnibus F4 Pro build.
I put data in on the LEDs to the servo 8 pad to avoid timer conflicts with my 3 servo outputs. (Using 1 for dshot motor, 3 and 4 for elevons).
I set the following params but i’m still having trouble. am I missing anything?
BRD_PWM_COUNT = 4
RELAY_PIN(0-6) = -1 (not changing these, just making sure there’s nothing using those pins)
NTF_LED_TYPES = 256 (neopixel only)
SERVO8_FUNCTION = 120 (NeoPixel1)
After a reboot I would’ve expected to see the pixels operate as standard status lights but I see no change.
From the documentation it sounds like you have to use any GPIO capable pin, which made me think I had to de-register it as a servo output to get it to work.
@Taipan yes I did! There was a bit of confusion from the wiki page but it is re-written and makes sense now.
You need to have BRD_PWM_COUNT set to make sure your output is a PWM capable output. (in this case I set it to 8)
You set your NTF_LED_TYPES to include neopixel, and set SERVOx_FUNCTION to 120.
Also note that for the omnibusF4pro, you have to obey the PWM grouping listed on the flight controller page.
You have groups (1,2,6), (3,4,5), (7,8). If you have one servo port set as neopixel, you can’t use the rest in the group as PWM outputs. (example, if you have neopixel on servo5, you can’t use servo3 or servo4 for motor/servo control).