cleanup: include/: move led_strip.h to drivers/led_strip.h
move led_strip.h to drivers/led_strip.h and create a shim for backward-compatibility. No functional changes to the headers. A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES. Related to #16539 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
a14ef3bf01
commit
afa85cdc0f
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
#include <spi.h>
|
||||
|
||||
struct apa102_data {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
|
129
include/drivers/led_strip.h
Normal file
129
include/drivers/led_strip.h
Normal file
|
@ -0,0 +1,129 @@
|
|||
/*
|
||||
* Copyright (c) 2017 Linaro Limited
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef ZEPHYR_INCLUDE_DRIVERS_LED_STRIP_H_
|
||||
#define ZEPHYR_INCLUDE_DRIVERS_LED_STRIP_H_
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief Public API for controlling linear strips of LEDs.
|
||||
*
|
||||
* This library abstracts the chipset drivers for individually
|
||||
* addressable strips of LEDs.
|
||||
*/
|
||||
|
||||
#include <zephyr/types.h>
|
||||
#include <device.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Color value for a single RGB LED.
|
||||
*
|
||||
* Individual strip drivers may ignore lower-order bits if their
|
||||
* resolution in any channel is less than a full byte.
|
||||
*/
|
||||
struct led_rgb {
|
||||
#ifdef CONFIG_LED_STRIP_RGB_SCRATCH
|
||||
/*
|
||||
* Pad/scratch space needed by some drivers. Users should
|
||||
* ignore.
|
||||
*/
|
||||
u8_t scratch;
|
||||
#endif
|
||||
/** Red channel */
|
||||
u8_t r;
|
||||
/** Green channel */
|
||||
u8_t g;
|
||||
/** Blue channel */
|
||||
u8_t b;
|
||||
};
|
||||
|
||||
/**
|
||||
* @typedef led_api_update_rgb
|
||||
* @brief Callback API for updating an RGB LED strip
|
||||
*
|
||||
* @see led_strip_update_rgb() for argument descriptions.
|
||||
*/
|
||||
typedef int (*led_api_update_rgb)(struct device *dev, struct led_rgb *pixels,
|
||||
size_t num_pixels);
|
||||
|
||||
/**
|
||||
* @typedef led_api_update_channels
|
||||
* @brief Callback API for updating channels without an RGB interpretation.
|
||||
*
|
||||
* @see led_strip_update_channels() for argument descriptions.
|
||||
*/
|
||||
typedef int (*led_api_update_channels)(struct device *dev, u8_t *channels,
|
||||
size_t num_channels);
|
||||
|
||||
/**
|
||||
* @brief LED strip driver API
|
||||
*
|
||||
* This is the mandatory API any LED strip driver needs to expose.
|
||||
*/
|
||||
struct led_strip_driver_api {
|
||||
led_api_update_rgb update_rgb;
|
||||
led_api_update_channels update_channels;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Update an LED strip made of RGB pixels
|
||||
*
|
||||
* Important:
|
||||
* This routine may overwrite @a pixels.
|
||||
*
|
||||
* This routine immediately updates the strip display according to the
|
||||
* given pixels array.
|
||||
*
|
||||
* @param dev LED strip device
|
||||
* @param pixels Array of pixel data
|
||||
* @param num_pixels Length of pixels array
|
||||
* @return 0 on success, negative on error
|
||||
* @warning May overwrite @a pixels
|
||||
*/
|
||||
static inline int led_strip_update_rgb(struct device *dev,
|
||||
struct led_rgb *pixels,
|
||||
size_t num_pixels) {
|
||||
const struct led_strip_driver_api *api =
|
||||
(const struct led_strip_driver_api *)dev->driver_api;
|
||||
|
||||
return api->update_rgb(dev, pixels, num_pixels);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Update an LED strip on a per-channel basis.
|
||||
*
|
||||
* Important:
|
||||
* This routine may overwrite @a channels.
|
||||
*
|
||||
* This routine immediately updates the strip display according to the
|
||||
* given channels array. Each channel byte corresponds to an
|
||||
* individually addressable color channel or LED. Channels
|
||||
* are updated linearly in strip order.
|
||||
*
|
||||
* @param dev LED strip device
|
||||
* @param channels Array of per-channel data
|
||||
* @param num_channels Length of channels array
|
||||
* @return 0 on success, negative on error
|
||||
* @warning May overwrite @a channels
|
||||
*/
|
||||
static inline int led_strip_update_channels(struct device *dev,
|
||||
u8_t *channels,
|
||||
size_t num_channels) {
|
||||
const struct led_strip_driver_api *api =
|
||||
(const struct led_strip_driver_api *)dev->driver_api;
|
||||
|
||||
return api->update_channels(dev, channels, num_channels);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_DRIVERS_LED_STRIP_H_ */
|
|
@ -1,129 +1,15 @@
|
|||
/*
|
||||
* Copyright (c) 2017 Linaro Limited
|
||||
* Copyright (c) 2019 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef ZEPHYR_INCLUDE_LED_STRIP_H_
|
||||
#define ZEPHYR_INCLUDE_LED_STRIP_H_
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief Public API for controlling linear strips of LEDs.
|
||||
*
|
||||
* This library abstracts the chipset drivers for individually
|
||||
* addressable strips of LEDs.
|
||||
*/
|
||||
|
||||
#include <zephyr/types.h>
|
||||
#include <device.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#ifndef CONFIG_COMPAT_INCLUDES
|
||||
#warning "This header file has moved, include <drivers/led_strip.h> instead."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Color value for a single RGB LED.
|
||||
*
|
||||
* Individual strip drivers may ignore lower-order bits if their
|
||||
* resolution in any channel is less than a full byte.
|
||||
*/
|
||||
struct led_rgb {
|
||||
#ifdef CONFIG_LED_STRIP_RGB_SCRATCH
|
||||
/*
|
||||
* Pad/scratch space needed by some drivers. Users should
|
||||
* ignore.
|
||||
*/
|
||||
u8_t scratch;
|
||||
#endif
|
||||
/** Red channel */
|
||||
u8_t r;
|
||||
/** Green channel */
|
||||
u8_t g;
|
||||
/** Blue channel */
|
||||
u8_t b;
|
||||
};
|
||||
#include <drivers/led_strip.h>
|
||||
|
||||
/**
|
||||
* @typedef led_api_update_rgb
|
||||
* @brief Callback API for updating an RGB LED strip
|
||||
*
|
||||
* @see led_strip_update_rgb() for argument descriptions.
|
||||
*/
|
||||
typedef int (*led_api_update_rgb)(struct device *dev, struct led_rgb *pixels,
|
||||
size_t num_pixels);
|
||||
|
||||
/**
|
||||
* @typedef led_api_update_channels
|
||||
* @brief Callback API for updating channels without an RGB interpretation.
|
||||
*
|
||||
* @see led_strip_update_channels() for argument descriptions.
|
||||
*/
|
||||
typedef int (*led_api_update_channels)(struct device *dev, u8_t *channels,
|
||||
size_t num_channels);
|
||||
|
||||
/**
|
||||
* @brief LED strip driver API
|
||||
*
|
||||
* This is the mandatory API any LED strip driver needs to expose.
|
||||
*/
|
||||
struct led_strip_driver_api {
|
||||
led_api_update_rgb update_rgb;
|
||||
led_api_update_channels update_channels;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Update an LED strip made of RGB pixels
|
||||
*
|
||||
* Important:
|
||||
* This routine may overwrite @a pixels.
|
||||
*
|
||||
* This routine immediately updates the strip display according to the
|
||||
* given pixels array.
|
||||
*
|
||||
* @param dev LED strip device
|
||||
* @param pixels Array of pixel data
|
||||
* @param num_pixels Length of pixels array
|
||||
* @return 0 on success, negative on error
|
||||
* @warning May overwrite @a pixels
|
||||
*/
|
||||
static inline int led_strip_update_rgb(struct device *dev,
|
||||
struct led_rgb *pixels,
|
||||
size_t num_pixels) {
|
||||
const struct led_strip_driver_api *api =
|
||||
(const struct led_strip_driver_api *)dev->driver_api;
|
||||
|
||||
return api->update_rgb(dev, pixels, num_pixels);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Update an LED strip on a per-channel basis.
|
||||
*
|
||||
* Important:
|
||||
* This routine may overwrite @a channels.
|
||||
*
|
||||
* This routine immediately updates the strip display according to the
|
||||
* given channels array. Each channel byte corresponds to an
|
||||
* individually addressable color channel or LED. Channels
|
||||
* are updated linearly in strip order.
|
||||
*
|
||||
* @param dev LED strip device
|
||||
* @param channels Array of per-channel data
|
||||
* @param num_channels Length of channels array
|
||||
* @return 0 on success, negative on error
|
||||
* @warning May overwrite @a channels
|
||||
*/
|
||||
static inline int led_strip_update_channels(struct device *dev,
|
||||
u8_t *channels,
|
||||
size_t num_channels) {
|
||||
const struct led_strip_driver_api *api =
|
||||
(const struct led_strip_driver_api *)dev->driver_api;
|
||||
|
||||
return api->update_channels(dev, channels, num_channels);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_LED_STRIP_H_ */
|
||||
#endif /* ZEPHYR_INCLUDE_LED_STRIP_H_ */
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
#include <zephyr.h>
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
#include <device.h>
|
||||
#include <spi.h>
|
||||
#include <misc/util.h>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
#include <zephyr.h>
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
#include <device.h>
|
||||
#include <spi.h>
|
||||
#include <misc/util.h>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
#include <zephyr.h>
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
#include <device.h>
|
||||
#include <spi.h>
|
||||
#include <misc/util.h>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <sys/crc.h>
|
||||
|
||||
#include <drivers/gpio.h>
|
||||
#include <led_strip.h>
|
||||
#include <drivers/led_strip.h>
|
||||
#include <spi.h>
|
||||
#include <uart.h>
|
||||
#include <usb/usb_device.h>
|
||||
|
|
Loading…
Reference in a new issue