samples: blinky: clean up error on unsupported board

This sample requires led0 in the board devicetree's /aliases.
Improve the error message when that is not available.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
This commit is contained in:
Martí Bolívar 2020-03-04 10:40:05 -08:00 committed by Johan Hedberg
commit 748c7757ea

View file

@ -12,7 +12,19 @@
#define SLEEP_TIME_MS 1000
#ifndef DT_ALIAS_LED0_GPIOS_FLAGS
#define DT_ALIAS_LED0_GPIOS_FLAGS 0
#define FLAGS 0
#else
#define FLAGS DT_ALIAS_LED0_GPIOS_FLAGS
#endif
/* Make sure the board's devicetree declares led0 in its /aliases. */
#ifdef DT_ALIAS_LED0_GPIOS_CONTROLLER
#define LED0 DT_ALIAS_LED0_GPIOS_CONTROLLER
#define PIN DT_ALIAS_LED0_GPIOS_PIN
#else
#error "Unsupported board: led0 devicetree alias is not defined"
#define LED0 ""
#define PIN 0
#endif
void main(void)
@ -21,20 +33,18 @@ void main(void)
bool led_is_on = true;
int ret;
dev = device_get_binding(DT_ALIAS_LED0_GPIOS_CONTROLLER);
dev = device_get_binding(LED0);
if (dev == NULL) {
return;
}
ret = gpio_pin_configure(dev, DT_ALIAS_LED0_GPIOS_PIN,
GPIO_OUTPUT_ACTIVE
| DT_ALIAS_LED0_GPIOS_FLAGS);
ret = gpio_pin_configure(dev, PIN, GPIO_OUTPUT_ACTIVE | FLAGS);
if (ret < 0) {
return;
}
while (1) {
gpio_pin_set(dev, DT_ALIAS_LED0_GPIOS_PIN, (int)led_is_on);
gpio_pin_set(dev, PIN, (int)led_is_on);
led_is_on = !led_is_on;
k_sleep(SLEEP_TIME_MS);
}