Navio: add rgbled test and tweak implementation

This commit is contained in:
Hidenori
2016-08-06 20:47:55 +02:00
committed by Lorenz Meier
parent 9a5f88d6bf
commit eded7bf772
8 changed files with 185 additions and 71 deletions
+2 -2
View File
@@ -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;
+19 -15
View File
@@ -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();