mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 09:23:33 +08:00
Navio: add rgbled test and tweak implementation
This commit is contained in:
@@ -113,10 +113,10 @@ void Gpio::gpiowrite(uint32_t pinset, bool value)
|
||||
pin = (pinset & GPIO_PIN_MASK) >> GPIO_PIN_SHIFT;
|
||||
|
||||
if (value == 0) {
|
||||
addr = (uint32_t)_gpio_map + GPIO_GPSET0_OFFSET + pin / 32;
|
||||
addr = (uint32_t)_gpio_map + GPIO_GPCLR0_OFFSET + pin / 32;
|
||||
|
||||
} else {
|
||||
addr = (uint32_t)_gpio_map + GPIO_GPCLR0_OFFSET + pin / 32;
|
||||
addr = (uint32_t)_gpio_map + GPIO_GPSET0_OFFSET + pin / 32;
|
||||
}
|
||||
|
||||
shift = pin % 32;
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
#define LED_pinG GPIO_PIN27
|
||||
#define LED_pinB GPIO_PIN6
|
||||
|
||||
#define LED_OFF 1
|
||||
#define LED_ON 0
|
||||
|
||||
using namespace navio_gpio;
|
||||
|
||||
int do_test();
|
||||
@@ -24,33 +27,34 @@ int do_test()
|
||||
gpio.configgpio(LED_CNF | LED_pinG);
|
||||
gpio.configgpio(LED_CNF | LED_pinB);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, 0);
|
||||
gpio.gpiowrite(LED_pinG, 0);
|
||||
gpio.gpiowrite(LED_pinB, 0);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinG, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinB, LED_OFF);
|
||||
printf("off\n");
|
||||
sleep(2);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, 1);
|
||||
gpio.gpiowrite(LED_pinG, 0);
|
||||
gpio.gpiowrite(LED_pinB, 0);
|
||||
gpio.gpiowrite(LED_pinR, LED_ON);
|
||||
gpio.gpiowrite(LED_pinG, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinB, LED_OFF);
|
||||
printf("red\n");
|
||||
sleep(2);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, 0);
|
||||
gpio.gpiowrite(LED_pinG, 1);
|
||||
gpio.gpiowrite(LED_pinB, 0);
|
||||
gpio.gpiowrite(LED_pinR, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinG, LED_ON);
|
||||
gpio.gpiowrite(LED_pinB, LED_OFF);
|
||||
printf("green\n");
|
||||
sleep(2);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, 0);
|
||||
gpio.gpiowrite(LED_pinG, 0);
|
||||
gpio.gpiowrite(LED_pinB, 1);
|
||||
gpio.gpiowrite(LED_pinR, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinG, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinB, LED_ON);
|
||||
printf("blue\n");
|
||||
sleep(2);
|
||||
|
||||
gpio.gpiowrite(LED_pinR, 0);
|
||||
gpio.gpiowrite(LED_pinG, 0);
|
||||
gpio.gpiowrite(LED_pinB, 0);
|
||||
gpio.gpiowrite(LED_pinR, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinG, LED_OFF);
|
||||
gpio.gpiowrite(LED_pinB, LED_OFF);
|
||||
printf("off\n");
|
||||
gpio.stop();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user