mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
40c1f3e06e
This commit updates the handles for the timer, task and event_group modules to struct type. This matches upstream freertos source. Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com> |
||
---|---|---|
.. | ||
include | ||
CMakeLists.txt | ||
iot_led.c | ||
iot_light.c | ||
light_driver.c | ||
README.md |
Component: Light
-
This component defines a light as a well encapsulated object.
-
A light device is defined by:
- ledc timer which is used to control the pwm channels of light
- mode of the ledc timer
- frequency of the ledc timer
- pwm channel number of the light
- bit number of the ledc timer
-
A light device can provide:
- iot_light_channel_regist function to add channel to corresponding channel id
- iot_light_duty_write function to set the duty of corresponding channel and it support setting duty directly or gradually
- iot_light_breath_write function to set the corresponding channel to breath mode and breath period can be set
- iot_light_blink_starte and iot_light_blink_stop function to make some of channels to blink in appointed period. Note that if any channel works in blink mode, all the other channels would be turned off.
-
To use the light device, you need to:
- create a light object returned by iot_light_create()
- regist the light channels according the channel number by iot_light_channel_regist()
- To free the object, you can call iot_light_delete to delete the button object and free the memory.
NOTE:
If any channel(s) work(s) in blink mode, all the other channels would be turned off. iot_light_blink_stop() must be called before setting any channel to other mode(write duty or breath).