88#ifndef __LCD_BUS_TASK_H__
99#define __LCD_BUS_TASK_H__
1010
11- typedef struct _lcd_bus_lock_t {
11+ struct _lcd_bus_lock_t {
1212SemaphoreHandle_t handle ;
1313StaticSemaphore_t buffer ;
14- }lcd_bus_lock_t ;
14+ };
1515
16- typedef struct _lcd_bus_event_t {
16+ struct _lcd_bus_event_t {
1717EventGroupHandle_t handle ;
1818StaticEventGroup_t buffer ;
19- }lcd_bus_event_t ;
20-
21- void lcd_bus_event_init (lcd_bus_event_t * event );
22-
19+ };
2320
2421#define lcd_bus_event_wait (event ) xEventGroupWaitBits(event.handle, (1 << 0), pdFALSE, pdTRUE, portMAX_DELAY)
2522#define lcd_bus_event_set (event ) xEventGroupSetBits(event.handle, (1 << 0))
2623#define lcd_bus_event_clear (event ) xEventGroupClearBits(event.handle, (1 << 0))
2724#define lcd_bus_event_clear_from_isr (event ) xEventGroupClearBitsFromISR(event.handle, (1 << 0))
2825#define lcd_bus_event_set_from_isr (event ) xEventGroupSetBitsFromISR(event.handle, (1 << 0), pdFALSE)
2926
30- void lcd_bus_event_delete (lcd_bus_event_t * event );
31- bool lcd_bus_event_isset (lcd_bus_event_t * event );
32- bool lcd_bus_event_isset_from_isr (lcd_bus_event_t * event );
33-
34-
3527#define lcd_bus_lock_acquire (lock ) xSemaphoreTake(lock.handle, portMAX_DELAY)
3628#define lcd_bus_lock_release (lock ) xSemaphoreGive(lock.handle)
3729#define lcd_bus_lock_release_from_isr (lock ) xSemaphoreGiveFromISR(lock.handle, pdFALSE)
3830#define lcd_bus_lock_delete (lock ) vSemaphoreDelete(lock.handle)
3931
40- void lcd_bus_lock_init (lcd_bus_lock_t * lock );
41-
42- void lcd_bus_task (void * self_in );
43-
4432#endif