PX4 Neopixel driver problem

Hi, everyone.

I’m porting the Neopixel LED on the Holybro X650 drone kit to the px4 v1.15.4 version.
I set the board_config.h file as below and made it, but there are too many errors.
I don’t know exactly why, and I don’t know why the DMA-style control code is getting an error.

#define BOARD_HAS_NEOPIXEL 1
#define BOARD_NEOPIXEL_NUM 4
#define BOARD_HAS_N_S_RGB_LED 0

#define GPIO_NEOPIXEL0  GPIO_TIM8_CH1OUT_1  // MAIN5
#define GPIO_NEOPIXEL1  GPIO_TIM8_CH2OUT_1  // MAIN6
#define GPIO_NEOPIXEL2  GPIO_TIM8_CH3OUT_1  // MAIN7
#define GPIO_NEOPIXEL3  GPIO_TIM8_CH4OUT_1  // MAIN8

#define PX4_GPIO_INIT_LIST { \
		...
		GPIO_NEOPIXEL0,               \
		GPIO_NEOPIXEL1,               \
		GPIO_NEOPIXEL2,               \
		GPIO_NEOPIXEL3               \
	}
$ make px4_fmu-v6x_default

CMake Error:

CMake Error at cmake/px4_add_module.cmake:236 (get_target_property):
  get_target_property() called with non-existent target "arch_srgbled_dma".

Even if I refer to PX4 Doc to fix the problem, the content is too poor, so I don’t know how to deal with it.
I’m looking forward to your help.

Just from the little code you shared it’s impossible to say what is wrong with your changes. You could make a branch and a pull request to share your work and that gives us a chance to find out what is wrong.

1 Like

As far as I know, the development of the X650 Neopixel LED has already been completed in Holybro.
I wonder why the source integration for this part is not working.

1 Like

I would reach out to Holybro so they can explain what is missing. I can see neopixel support was introduced in PX4 in 2021.

Following up from what @JulianOes said above, it’s hard to tell what you are doing from the lines you posted, maybe share a full branch?

1 Like

hey @maponarooo

I did that implementation.
Am working on a PR to make the LEDs work.

I tried your solution but didn’ get anywhere. Soon we will try to have it.

cc: @Vincentpoont2

2 Likes