1 /** 2 * @file lv_led.h 3 * 4 */ 5 6 #ifndef LV_LED_H 7 #define LV_LED_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 #include "../../../lvgl.h" 17 18 #if LV_USE_LED 19 20 21 /********************* 22 * DEFINES 23 *********************/ 24 /** Brightness when the LED if OFF */ 25 #ifndef LV_LED_BRIGHT_MIN 26 # define LV_LED_BRIGHT_MIN 80 27 #endif 28 29 /** Brightness when the LED if ON */ 30 #ifndef LV_LED_BRIGHT_MAX 31 # define LV_LED_BRIGHT_MAX 255 32 #endif 33 34 /********************** 35 * TYPEDEFS 36 **********************/ 37 38 /*Data of led*/ 39 typedef struct { 40 lv_obj_t obj; 41 lv_color_t color; 42 uint8_t bright; /**< Current brightness of the LED (0..255)*/ 43 } lv_led_t; 44 45 extern const lv_obj_class_t lv_led_class; 46 47 /** 48 * `type` field in `lv_obj_draw_part_dsc_t` if `class_p = lv_led_class` 49 * Used in `LV_EVENT_DRAW_PART_BEGIN` and `LV_EVENT_DRAW_PART_END` 50 */ 51 typedef enum { 52 LV_LED_DRAW_PART_RECTANGLE, /**< The main rectangle*/ 53 } lv_led_draw_part_type_t; 54 55 /********************** 56 * GLOBAL PROTOTYPES 57 **********************/ 58 59 /** 60 * Create a led object 61 * @param parent pointer to an object, it will be the parent of the new led 62 * @return pointer to the created led 63 */ 64 lv_obj_t * lv_led_create(lv_obj_t * parent); 65 66 /** 67 * Set the color of the LED 68 * @param led pointer to a LED object 69 * @param color the color of the LED 70 */ 71 void lv_led_set_color(lv_obj_t * led, lv_color_t color); 72 73 /** 74 * Set the brightness of a LED object 75 * @param led pointer to a LED object 76 * @param bright LV_LED_BRIGHT_MIN (max. dark) ... LV_LED_BRIGHT_MAX (max. light) 77 */ 78 void lv_led_set_brightness(lv_obj_t * led, uint8_t bright); 79 80 /** 81 * Light on a LED 82 * @param led pointer to a LED object 83 */ 84 void lv_led_on(lv_obj_t * led); 85 86 /** 87 * Light off a LED 88 * @param led pointer to a LED object 89 */ 90 void lv_led_off(lv_obj_t * led); 91 92 /** 93 * Toggle the state of a LED 94 * @param led pointer to a LED object 95 */ 96 void lv_led_toggle(lv_obj_t * led); 97 98 /** 99 * Get the brightness of a LEd object 100 * @param led pointer to LED object 101 * @return bright 0 (max. dark) ... 255 (max. light) 102 */ 103 uint8_t lv_led_get_brightness(const lv_obj_t * obj); 104 105 /********************** 106 * MACROS 107 **********************/ 108 109 #endif /*LV_USE_LED*/ 110 111 #ifdef __cplusplus 112 } /*extern "C"*/ 113 #endif 114 115 116 #endif /*LV_LED_H*/ 117