backlight control
This commit is contained in:
		| @@ -81,6 +81,7 @@ APP_GUI	?= 0 | |||||||
| ifeq ($(APP_GUI), 1) | ifeq ($(APP_GUI), 1) | ||||||
| CFLAGS		+= -DAPP_GUI | CFLAGS		+= -DAPP_GUI | ||||||
| C_SOURCES	+= $(wildcard $(APP_DIR)/gui/*.c) | C_SOURCES	+= $(wildcard $(APP_DIR)/gui/*.c) | ||||||
|  | C_SOURCES	+= $(wildcard $(APP_DIR)/backlight-control/*.c) | ||||||
| endif | endif | ||||||
|  |  | ||||||
| ifeq ($(APP_DISPLAY), 1) | ifeq ($(APP_DISPLAY), 1) | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								applications/backlight-control/backlight-control.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								applications/backlight-control/backlight-control.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | #include "flipper.h" | ||||||
|  |  | ||||||
|  | static void event_cb(const void* value, size_t size, void* ctx) { | ||||||
|  |     xSemaphoreGive((SemaphoreHandle_t*)ctx); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | const uint32_t BACKLIGHT_TIME = 10000; | ||||||
|  |  | ||||||
|  | void backlight_control(void* p) { | ||||||
|  |     // TODO use FURI | ||||||
|  |     HAL_GPIO_WritePin(DISPLAY_BACKLIGHT_GPIO_Port, DISPLAY_BACKLIGHT_Pin, GPIO_PIN_SET); | ||||||
|  |  | ||||||
|  |     StaticSemaphore_t event_descriptor; | ||||||
|  |     SemaphoreHandle_t update = xSemaphoreCreateCountingStatic(255, 0, &event_descriptor); | ||||||
|  |  | ||||||
|  |     // open record | ||||||
|  |     furi_open_deprecated("input_events", false, false, event_cb, NULL, (void*)update); | ||||||
|  |  | ||||||
|  |     // we ready to work | ||||||
|  |     furiac_ready(); | ||||||
|  |  | ||||||
|  |     while(1) { | ||||||
|  |         // wait for event | ||||||
|  |         if(xSemaphoreTake(update, BACKLIGHT_TIME) == pdTRUE) { | ||||||
|  |             HAL_GPIO_WritePin(DISPLAY_BACKLIGHT_GPIO_Port, DISPLAY_BACKLIGHT_Pin, GPIO_PIN_SET); | ||||||
|  |         } else { | ||||||
|  |             HAL_GPIO_WritePin(DISPLAY_BACKLIGHT_GPIO_Port, DISPLAY_BACKLIGHT_Pin, GPIO_PIN_RESET); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -26,6 +26,7 @@ void coreglitch_demo_0(void* p); | |||||||
| void u8g2_qrcode(void* p); | void u8g2_qrcode(void* p); | ||||||
| void fatfs_list(void* p); | void fatfs_list(void* p); | ||||||
| void gui_task(void* p); | void gui_task(void* p); | ||||||
|  | void backlight_control(void* p); | ||||||
|  |  | ||||||
| const FlipperStartupApp FLIPPER_STARTUP[] = { | const FlipperStartupApp FLIPPER_STARTUP[] = { | ||||||
| #ifdef APP_DISPLAY | #ifdef APP_DISPLAY | ||||||
| @@ -37,6 +38,7 @@ const FlipperStartupApp FLIPPER_STARTUP[] = { | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef APP_GUI | #ifdef APP_GUI | ||||||
|  |     {.app = backlight_control, .name = "backlight_control", .libs = {1, FURI_LIB{"input_task"}}}, | ||||||
|     {.app = gui_task, .name = "gui_task", .libs = {0}}, |     {.app = gui_task, .name = "gui_task", .libs = {0}}, | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user