EFM32 Happy Gecko Software Documentation  efm32hg-doc-4.2.1
textdisplay.h
Go to the documentation of this file.
1 /**************************************************************************/
18 #ifndef _TEXTDISPLAY_H_
19 #define _TEXTDISPLAY_H_
20 
21 #include <stdbool.h>
22 #include "emstatus.h"
23 
24 /***************************************************************************/
29 /***************************************************************************/
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 /*******************************************************************************
41  ******************************** DEFINES ************************************
42  ******************************************************************************/
43 
45 #define TEXTDISPLAY_EMSTATUS_OK (0)
46 #define TEXTDISPLAY_EMSTATUS_INVALID_PARAM (TEXTDISPLAY_EMSTATUS_BASE | 1)
47 #define TEXTDISPLAY_EMSTATUS_OUT_OF_RANGE (TEXTDISPLAY_EMSTATUS_BASE | 2)
48 #define TEXTDISPLAY_EMSTATUS_ALREADY_INITIALIZED (TEXTDISPLAY_EMSTATUS_BASE | 3)
49 #define TEXTDISPLAY_EMSTATUS_NOT_SUPPORTED (TEXTDISPLAY_EMSTATUS_BASE | 4)
50 #define TEXTDISPLAY_EMSTATUS_NOT_ENOUGH_MEMORY (TEXTDISPLAY_EMSTATUS_BASE | 5)
51 #define TEXTDISPLAY_EMSTATUS_NOT_INITIALIZED (TEXTDISPLAY_EMSTATUS_BASE | 6)
55 #ifdef INCLUDE_VIDEO_TERMINAL_ESCAPE_SEQUENCE_SUPPORT
56 #define TEXTDISPLAY_ESC_SEQ_CURSOR_HOME_VT100 "\033[H"
57 #define TEXTDISPLAY_ESC_SEQ_CURSOR_HOME_VT52 "\033H"
58 #define TEXTDISPLAY_ESC_SEQ_CURSOR_UP_ONE_LINE "\033A"
59 #define TEXTDISPLAY_ESC_SEQ_CURSOR_DOWN_ONE_LINE "\033B"
60 #define TEXTDISPLAY_ESC_SEQ_CURSOR_RIGHT_ONE_CHAR "\033C"
61 #define TEXTDISPLAY_ESC_SEQ_CURSOR_LEFT_ONE_CHAR "\033D"
62 #endif
63 
64 
65 /*******************************************************************************
66  ******************************* STRUCTS ***********************************
67  ******************************************************************************/
68 
70 typedef void* TEXTDISPLAY_Handle_t;
71 
73 typedef struct TEXTDISPLAY_Config_t
74 {
77  bool scrollEnable;
82  bool lfToCrLf;
84 
85 
86 /*******************************************************************************
87  ************************** FUNCTION PROTOTYPES **************************
88  ******************************************************************************/
89 
90 EMSTATUS TEXTDISPLAY_New (TEXTDISPLAY_Config_t *config,
91  TEXTDISPLAY_Handle_t *handle);
92 EMSTATUS TEXTDISPLAY_Delete (TEXTDISPLAY_Handle_t handle);
93 EMSTATUS TEXTDISPLAY_WriteChar (TEXTDISPLAY_Handle_t handle,
94  char c);
95 EMSTATUS TEXTDISPLAY_WriteString (TEXTDISPLAY_Handle_t handle,
96  char* str);
97 EMSTATUS TEXTDISPLAY_LfToCrLf (TEXTDISPLAY_Handle_t handle,
98  bool on);
99 
100 #ifdef __cplusplus
101 }
102 #endif
103 
107 #endif /* _TEXTDISPLAY_H_ */
struct TEXTDISPLAY_Config_t TEXTDISPLAY_Config_t
EMSTATUS TEXTDISPLAY_New(TEXTDISPLAY_Config_t *config, TEXTDISPLAY_Handle_t *handle)
Create a new text display device.
Definition: textdisplay.c:210
EMSTATUS definitions.
EMSTATUS TEXTDISPLAY_WriteString(TEXTDISPLAY_Handle_t handle, char *str)
Write a string of characters to a text display.
Definition: textdisplay.c:454
EMSTATUS TEXTDISPLAY_LfToCrLf(TEXTDISPLAY_Handle_t handle, bool on)
Enable or disable LF to CR+LF conversion.
Definition: textdisplay.c:361
void * TEXTDISPLAY_Handle_t
Definition: textdisplay.h:70
EMSTATUS TEXTDISPLAY_WriteChar(TEXTDISPLAY_Handle_t handle, char c)
Write a single character to a text display.
Definition: textdisplay.c:381
EMSTATUS TEXTDISPLAY_Delete(TEXTDISPLAY_Handle_t handle)
Delete a text display device.
Definition: textdisplay.c:322