AM261x MCU+ SDK: APIs for I2C/GPIO based LED driver

| AM261x MCU+ SDK 26.00.00 |

Data Structures | Functions | Typedefs
APIs for I2C/GPIO based LED driver
APIs for Board Specific Device Drivers

## Introduction

This module contains APIs to program and use I2C or GPIO based LED module on the board.

See LED for more details.

## Data Structures
struct | LED_Params
| Parameters passed during LED_open() More...
struct | LED_Fxns
| Driver implementation callbacks. More...
struct | LED_Attrs
| LED device attributes, these are filled by SysCfg based on the device that is selected. More...
struct | LED_Config
| LED driver configuration, these are filled by SysCfg based on the device that is selected. More...
struct | LED_Object
| LED driver object - not to be used by application. More...

## Functions
void | LED_Params_init (LED_Params *params)
| Set default parameters in the LED_Params_s structure. More...
LED_Handle | LED_open (uint32_t instanceId, const LED_Params *params)
| Open LED driver. More...
void | LED_close (LED_Handle handle)
| Open LED driver. More...
int32_t | LED_on (LED_Handle handle, uint32_t index)
| API to power on the LED. More...
int32_t | LED_off (LED_Handle handle, uint32_t index)
| API to power off the LED. More...
int32_t | LED_setMask (LED_Handle handle, uint32_t mask)
| API to set the group mask incase of I2C controlled LED having more than one LED connected to the controller. More...
const LED_Attrs * | LED_getAttrs (uint32_t instanceId)
| Return LED attributes. More...

## Typedefs
typedef void * | LED_Handle
| Handle to the LED driver returned by LED_open() More...

## LED driver implementation callbacks
typedef int32_t(* | LED_OpenFxn) (LED_Config *config, const LED_Params *params)
| Driver implementation to open a specific LED driver. More...
typedef void(* | LED_CloseFxn) (LED_Config *config)
| Driver implementation to close a specific LED driver. More...
typedef int32_t(* | LED_OnFxn) (LED_Config *config, uint32_t index)
| Driver implementation to power on an LED using a specific LED driver. More...
typedef int32_t(* | LED_OffFxn) (LED_Config *config, uint32_t index)
| Driver implementation to power off an LED using a specific LED driver. More...
typedef int32_t(* | LED_SetMaskFxn) (LED_Config *config, uint32_t mask)
| Driver implementation to set group mask using a specific LED driver. More...

## Typedef Documentation

## ◆ LED_Handle

typedef void* LED_Handle

Handle to the LED driver returned by LED_open()

## ◆ LED_OpenFxn

typedef int32_t(* LED_OpenFxn) (LED_Config *config, const LED_Params *params)

Driver implementation to open a specific LED driver.

Typically this callback is hidden from the end application and is implemented when a new type of LED device needs to be implemented.

Parameters

  config | [IN] LED configuration for the specific LED device
  params | [IN] User controllable parameters when opening the LED device

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_CloseFxn

typedef void(* LED_CloseFxn) (LED_Config *config)

Driver implementation to close a specific LED driver.

Typically this callback is hidden from the end application and is implemented when a new type of LED device needs to be implemented.

Parameters

  config | [IN] LED configuration for the specific LED device

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_OnFxn

typedef int32_t(* LED_OnFxn) (LED_Config *config, uint32_t index)

Driver implementation to power on an LED using a specific LED driver.

Typically this callback is hidden from the end application and is implemented when a new type of LED device needs to be implemented.

Parameters

  config | [IN] LED configuration for the specific LED device
  index | [IN] Index to the LED group which needs to be turned on

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_OffFxn

typedef int32_t(* LED_OffFxn) (LED_Config *config, uint32_t index)

Driver implementation to power off an LED using a specific LED driver.

Typically this callback is hidden from the end application and is implemented when a new type of LED device needs to be implemented.

Parameters

  config | [IN] LED configuration for the specific LED device
  index | [IN] Index to the LED group which needs to be turned off

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_SetMaskFxn

typedef int32_t(* LED_SetMaskFxn) (LED_Config *config, uint32_t mask)

Driver implementation to set group mask using a specific LED driver.

Typically this callback is hidden from the end application and is implemented when a new type of LED device needs to be implemented.

Parameters

  config | [IN] LED configuration for the specific LED device
  mask | [IN] Bit Mask to set at one go

Returns
  SystemP_SUCCESS on success, else failure

## Function Documentation

## ◆ LED_Params_init()

void LED_Params_init | ( | LED_Params * | params | ) |

Set default parameters in the LED_Params_s structure.

Call this API to set defaults and then override the fields as needed before calling LED_open.

Parameters

  params | [OUT] Initialized parameters

## ◆ LED_open()

LED_Handle LED_open | ( | uint32_t | instanceId,
|  | const LED_Params * | params
| ) |  |

Open LED driver.

Make sure the SOC peripheral driver is open'ed before calling this API. Drivers_open function generated by SysCfg opens the underlying SOC peripheral driver, e.g I2C.

Global variables `LED_Config gLedConfig[]` and `uint32_t gLedConfigNum` is instantiated by SysCfg to describe the LED configuration based on user selection in SysCfg.

Parameters

  instanceId | [IN] Index within `LED_Config gLedConfig[]` denoting the LED driver to open
  params | [IN] Open parameters

Returns
  Handle to LED driver which should be used in subsequent API call Else returns NULL in case of failure

## ◆ LED_close()

void LED_close | ( | LED_Handle | handle | ) |

Open LED driver.

Parameters

  handle | [IN] LED driver handle from LED_open

## ◆ LED_on()

int32_t LED_on | ( | LED_Handle | handle,
|  | uint32_t | index
| ) |  |

API to power on the LED.

Parameters

  handle | [IN] LED driver handle from LED_open
  index | [IN] Index to the LED group which needs to be turned on. In case of GPIO controlled LED, set this to 0.

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_off()

int32_t LED_off | ( | LED_Handle | handle,
|  | uint32_t | index
| ) |  |

API to power off the LED.

Parameters

  handle | [IN] LED driver handle from LED_open
  index | [IN] Index to the LED group which needs to be turned off. In case of GPIO controlled LED, set this to 0.

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_setMask()

int32_t LED_setMask | ( | LED_Handle | handle,
|  | uint32_t | mask
| ) |  |

API to set the group mask incase of I2C controlled LED having more than one LED connected to the controller.

Parameters

  handle | [IN] LED driver handle from LED_open
  mask | [IN] Bit Mask to set at one go. Only bits upto the number of LED present in a group will be used by this function. Set bit to 0 for OFF. Set bit to 1 for ON.

Returns
  SystemP_SUCCESS on success, else failure

## ◆ LED_getAttrs()

const LED_Attrs* LED_getAttrs | ( | uint32_t | instanceId | ) |

Return LED attributes.

Parameters

  instanceId | [IN] LED instance ID

Returns
  LED_Attrs, else NULL if instanceId is invalid