File tree Expand file tree Collapse file tree 7 files changed +43
-21
lines changed Expand file tree Collapse file tree 7 files changed +43
-21
lines changed Original file line number Diff line number Diff line change 44#include <contiki.h>
55
66#include <pbdrv/battery.h>
7- #include <pbdrv/led.h>
87
98#include "counter/counter.h"
9+ #include "led/led.h"
1010#include "pwm/pwm.h"
1111
1212/** Initializes all enabled drivers. */
Original file line number Diff line number Diff line change 1+ // SPDX-License-Identifier: MIT
2+ // Copyright (c) 2020 The Pybricks Authors
3+
4+ // LED driver internal types and functions
5+
6+ #ifndef _PBDRV_LED_LED_H_
7+ #define _PBDRV_LED_LED_H_
8+
9+ #include <pbdrv/config.h>
10+ #include <pbdrv/led.h>
11+ #include <pbio/color.h>
12+ #include <pbio/error.h>
13+
14+ typedef struct {
15+ pbio_error_t (* set_hsv )(pbdrv_led_dev_t * dev , const pbio_color_hsv_t * hsv );
16+ } pbdrv_led_funcs_t ;
17+
18+ /** LED device instance. */
19+ struct _pbdrv_led_dev_t {
20+ /** Platform-specific data */
21+ const void * pdata ;
22+ /** Driver-specific callbacks. */
23+ const pbdrv_led_funcs_t * funcs ;
24+ };
25+
26+ #if PBDRV_CONFIG_LED
27+
28+ void pbdrv_led_init ();
29+
30+ #else // PBDRV_CONFIG_LED
31+
32+ #define pbdrv_led_init ()
33+
34+ #endif // PBDRV_CONFIG_LED
35+
36+ #endif // _PBDRV_LED_LED_H_
Original file line number Diff line number Diff line change 1515#include "led_dual.h"
1616#include "led_ev3dev.h"
1717#include "led_pwm.h"
18+ #include "led.h"
1819
1920#ifndef PBDRV_CONFIG_LED_NUM_DEV
2021#error "Must define PBDRV_CONFIG_LED_NUM_DEV"
Original file line number Diff line number Diff line change 1717#include <pbio/math.h>
1818
1919#include "led_dual.h"
20+ #include "led.h"
2021
2122#ifndef PBDRV_CONFIG_LED_DUAL_NUM_DEV
2223#error "Must define PBDRV_CONFIG_LED_DUAL_NUM_DEV"
Original file line number Diff line number Diff line change 1515#include <pbio/error.h>
1616
1717#include "led_ev3dev.h"
18+ #include "led.h"
1819
1920#define NUM_LEDS 4
2021
Original file line number Diff line number Diff line change 1717#include <pbio/math.h>
1818
1919#include "led_pwm.h"
20+ #include "led.h"
2021
2122#ifndef PBDRV_CONFIG_LED_PWM_NUM_DEV
2223#error "Must define PBDRV_CONFIG_LED_PWM_NUM_DEV"
Original file line number Diff line number Diff line change 1919
2020typedef struct _pbdrv_led_dev_t pbdrv_led_dev_t ;
2121
22- typedef struct {
23- pbio_error_t (* set_hsv )(pbdrv_led_dev_t * dev , const pbio_color_hsv_t * hsv );
24- } pbdrv_led_funcs_t ;
25-
26- /** LED device instance. */
27- struct _pbdrv_led_dev_t {
28- /** Platform-specific data */
29- const void * pdata ;
30- /** Driver-specific callbacks. */
31- const pbdrv_led_funcs_t * funcs ;
32- };
33-
3422#if PBDRV_CONFIG_LED
3523
36- /** @cond INTERNAL */
37- void pbdrv_led_init ();
38- /** @endcond */
39-
4024pbio_error_t pbdrv_led_get_dev (uint8_t id , pbdrv_led_dev_t * * dev );
4125pbio_error_t pbdrv_led_set_hsv (pbdrv_led_dev_t * dev , const pbio_color_hsv_t * hsv );
4226pbio_error_t pbdrv_led_on (pbdrv_led_dev_t * dev , pbio_color_t color );
4327pbio_error_t pbdrv_led_off (pbdrv_led_dev_t * dev );
4428
45- #else
46-
47- #define pbdrv_led_init ()
29+ #else // PBDRV_CONFIG_LED
4830
4931static inline pbio_error_t pbdrv_led_get_dev (uint8_t id , pbdrv_led_dev_t * * dev ) {
5032 * dev = NULL ;
@@ -63,7 +45,7 @@ static inline pbio_error_t pbdrv_led_off(pbdrv_led_dev_t *dev) {
6345 return PBIO_ERROR_NOT_SUPPORTED ;
6446}
6547
66- #endif
48+ #endif // PBDRV_CONFIG_LED
6749
6850#endif // _PBDRV_LED_H_
6951
You can’t perform that action at this time.
0 commit comments