Private
Public Access
2
0

led: Add support for initializing onboard LEDs based on board definition

1. Add support for initializing onboard LEDs based on board definition.
Maximum LED count has been set to 12.

2. Introduce mraa_led_init_raw API for initializing LEDs based on
function name. This API can be used by platforms which doesn't have mapping
in board definition.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
This commit is contained in:
Manivannan Sadhasivam
2018-08-30 15:18:39 +05:30
committed by Manivannan Sadhasivam
parent 6c0ec10ba1
commit 6fcd882d58
5 changed files with 83 additions and 7 deletions

View File

@@ -38,6 +38,7 @@ extern "C" {
#define MRAA_96BOARDS_LS_SPI_COUNT 1
#define MRAA_96BOARDS_LS_UART_COUNT 2
#define MRAA_96BOARDS_LS_PIN_COUNT 40
#define MRAA_96BOARDS_LED_COUNT 6
mraa_board_t* mraa_96boards();

View File

@@ -46,7 +46,7 @@
#define MAX_AIO_COUNT 7
#define MAX_UART_COUNT 6
#define MAX_PWM_COUNT 6
#define MAX_LED_COUNT 12
// general status failures for internal functions
#define MRAA_PLATFORM_NO_INIT -3
@@ -454,6 +454,16 @@ typedef struct {
/*@}*/
} mraa_aio_dev_t;
/**
* Structure representing an LED device.
*/
typedef struct {
/*@{*/
char *name; /**< LED device function name */
unsigned int index; /**< Index as exposed in the platform */
/*@}*/
} mraa_led_dev_t;
/**
* A Structure representing a platform/board.
*/
@@ -490,6 +500,8 @@ typedef struct _board_t {
mraa_adv_func_t* adv_func; /**< Pointer to advanced function disptach table */
struct _board_t* sub_platform; /**< Pointer to sub platform */
mraa_boolean_t chardev_capable; /**< Decide what interface is being used: old sysfs or new char device*/
mraa_led_dev_t led_dev[MAX_LED_COUNT]; /**< Array of LED devices */
unsigned int led_dev_count; /**< Total onboard LED device count */
/*@}*/
} mraa_board_t;