48 #define ESOS_TASK_WAIT_ON_LCD44780_REFRESH() ESOS_TASK_WAIT_UNTIL(esos_lcd44780_isCurrent()) 50 #define ESOS_LCD44780_CMD_CLEAR_DISPLAY 0b00000001 51 #define ESOS_LCD44780_CMD_RETURN_HOME 0b00000010 52 #define ESOS_LCD44780_CMD_ENTRY_MODE_SET 0b00000100 53 #define ESOS_LCD44780_CMD_ENTRY_MODE_SET_INC 0b00000010 54 #define ESOS_LCD44780_CMD_ENTRY_MODE_SET_SHIFT 0b00000001 55 #define ESOS_LCD44780_CMD_DISPLAY_ON_OFF 0b00001000 56 #define ESOS_LCD44780_CMD_DISPLAY_ON_OFF_DISP 0b00000100 57 #define ESOS_LCD44780_CMD_DISPLAY_ON_OFF_CUR 0b00000010 58 #define ESOS_LCD44780_CMD_DISPLAY_ON_OFF_BLINK 0b00000001 59 #define ESOS_LCD44780_CMD_CUR_DISP_SHIFT 0b00010000 60 #define ESOS_LCD44780_CMD_FUNCTION_SET 0b00100000 61 #define ESOS_LCD44780_CMD_SET_CGRAM_ADDR 0b01000000 62 #define ESOS_LCD44780_CMD_SET_DDRAM_ADDR 0b10000000 63 #define ESOS_LCD44780_MEM_WIDTH 40 64 #define ESOS_LCD44780_MEM_HEIGHT 2 65 #define ESOS_LCD44780_NUM_CUSTOM_CHARS 8 67 #define LCD44780_READ 1 68 #define LCD44780_WRITE 0 70 #define ESOS_TASK_WAIT_LCD44780_WRITE_COMMAND(u8_cmd) do { \ 71 ESOS_ALLOCATE_CHILD_TASK(th_lcd44780_child); \ 72 ESOS_TASK_SPAWN_AND_WAIT( th_lcd44780_child, __esos_lcd44780_write_u8, u8_cmd, FALSE, TRUE ); \ 75 #define ESOS_TASK_WAIT_LCD44780_WRITE_COMMAND_NOWAIT(u8_cmd) do { \ 76 ESOS_ALLOCATE_CHILD_TASK(th_lcd44780_child); \ 77 ESOS_TASK_SPAWN_AND_WAIT( th_lcd44780_child, __esos_lcd44780_write_u8, u8_cmd, FALSE, TRUE ); \ 80 #define ESOS_TASK_WAIT_LCD44780_SET_CG_ADDRESS(u8_addr) \ 81 ESOS_TASK_WAIT_LCD44780_WRITE_COMMAND( u8_addr | ESOS_LCD44780_CMD_SET_CGRAM_ADDR ) 83 #define ESOS_TASK_WAIT_LCD44780_SET_DATA_ADDRESS(u8_addr) \ 84 ESOS_TASK_WAIT_LCD44780_WRITE_COMMAND( u8_addr | ESOS_LCD44780_CMD_SET_DDRAM_ADDR ) 86 #define ESOS_TASK_WAIT_LCD44780_READ_ADDRESS(u8_addr) do { \ 87 ESOS_ALLOCATE_CHILD_TASK(th_lcd44780_child); \ 88 ESOS_TASK_SPAWN_AND_WAIT( th_lcd44780_child, __esos_lcd44780_read_u8, u8_addr, FALSE, TRUE ); \ 91 #define ESOS_TASK_WAIT_LCD44780_WRITE_DATA(u8_data) do { \ 92 ESOS_ALLOCATE_CHILD_TASK(th_lcd44780_child); \ 93 ESOS_TASK_SPAWN_AND_WAIT( th_lcd44780_child, __esos_lcd44780_write_u8, u8_data, TRUE, TRUE ); \ 96 #define ESOS_TASK_WAIT_LCD44780_READ_DATA(u8_addr) do { \ 97 ESOS_ALLOCATE_CHILD_TASK(th_lcd44780_child); \ 98 ESOS_TASK_SPAWN_AND_WAIT( th_lcd44780_child, __esos_lcd44780_read_u8, u8_addr, TRUE, TRUE ); \ 104 } esos_lcd44780_char_t;
111 void esos_lcd44780_configDisplay(
void );
112 void esos_lcd44780_init(
void );
113 void esos_lcd44780_clearScreen(
void );
114 void esos_lcd44780_setCursorHome(
void );
115 void esos_lcd44780_setCursor(
uint8_t u8_row,
uint8_t u8_column );
120 void esos_lcd44780_writeString(
uint8_t u8_row,
uint8_t u8_column,
char *psz_data );
121 void esos_lcd44780_setCursorDisplay(
BOOL u8_state );
122 BOOL esos_lcd44780_getCursorDisplay(
void );
123 void esos_lcd44780_setCursorBlink(
BOOL u8_state );
124 BOOL esos_lcd44780_getCursorBlink(
void );
125 void esos_lcd44780_setDisplayVisible(
BOOL u8_state );
126 BOOL esos_lcd44780_getDisplayVisible(
void );
127 void esos_lcd44780_setCustomChar(
uint8_t u8_charSlot,
uint8_t *pu8_charData );
128 void esos_lcd44780_getCustomChar(
uint8_t u8_charSlot,
uint8_t *pu8_charData );
129 BOOL esos_lcd44780_isCurrent(
void );
#define ESOS_CHILD_TASK(taskname,...)
ESOS_USER_TASK(CANFactory)
unsigned char uint8_t
An abbreviation for an 8-bit unsigned integer.