157 lines
3.8 KiB
Plaintext
157 lines
3.8 KiB
Plaintext
#ifndef SOURCE_DISPLAY_H_
|
|
#define SOURCE_DISPLAY_H_
|
|
|
|
#define ZONE6_DAT *(volatile Uint16*)0x00100001
|
|
#define ZONE6_COM *(volatile Uint16*)0x00100000
|
|
|
|
#define OLED_WIDTH (128U) // ER-OLEDM024 Vertical Pixel 0~127
|
|
#define OLED_HEIGHT (64U)
|
|
#define OLED_PAGE (8U) // ER-OLEDM024 Page 0~7
|
|
|
|
#define TXT_ENG_WIDTH (6U)
|
|
#define TXT_ENG_HEIGHT (12U)
|
|
|
|
#define TXT_TYPE_ENG (0U)
|
|
#define TXT_TYPE_ETC (1U)
|
|
|
|
#define TXT_MAX_LEN (22U)
|
|
#define TXT_LINE_LEN (5U)
|
|
|
|
#define OLED_LOAD_PROGRESS_X (14U)
|
|
#define OLED_LOAD_PROGRESS_Y (52U)
|
|
#define OLED_LOAD_PROGRESS_W (114U)
|
|
#define OLED_LOAD_PROGRESS_H (10U)
|
|
|
|
#define MODE_COMMAND (0U)
|
|
#define MODE_DATA (1U)
|
|
|
|
#define DIR_UP (1U)
|
|
#define DIR_DOWN (0U)
|
|
|
|
typedef signed char int8;
|
|
typedef unsigned char Uint8;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_LINE_TITLE = 0U,
|
|
IDX_OLED_LINE_1 = 14U,
|
|
IDX_OLED_LINE_2 = 27U,
|
|
IDX_OLED_LINE_3 = 40U,
|
|
IDX_OLED_LINE_4 = 53U
|
|
} E_IDX_OLED_LINE;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_ROW_0 = 0U,
|
|
IDX_OLED_ROW_1,
|
|
IDX_OLED_ROW_2,
|
|
IDX_OLED_ROW_3,
|
|
IDX_OLED_ROW_4
|
|
} E_IDX_OLED_ROW;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_PASS_DIGIT_1 = 0U,
|
|
IDX_OLED_PASS_DIGIT_2,
|
|
IDX_OLED_PASS_DIGIT_3,
|
|
IDX_OLED_PASS_DIGIT_4
|
|
} E_IDX_OLED_PASS;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_PAGE_APU1 = 0U, // 0
|
|
IDX_OLED_PAGE_APU2, // 1
|
|
IDX_OLED_PAGE_MENU1, // 2
|
|
IDX_OLED_PAGE_MENU2, // 3
|
|
IDX_OLED_PAGE_TEMP, // 4
|
|
IDX_OLED_PAGE_SENSOR1, // 5
|
|
IDX_OLED_PAGE_SENSOR2, // 6
|
|
IDX_OLED_PAGE_SENSOR3, // 7
|
|
IDX_OLED_PAGE_SENSOR4, // 8
|
|
IDX_OLED_PAGE_WARNING1, // 9
|
|
IDX_OLED_PAGE_WARNING2, // 10
|
|
IDX_OLED_PAGE_FAULT1, // 11
|
|
IDX_OLED_PAGE_FAULT2, // 12
|
|
IDX_OLED_PAGE_FAULT3, // 13
|
|
IDX_OLED_PAGE_FAULT4, // 14
|
|
IDX_OLED_PAGE_FAULT5, // 15
|
|
IDX_OLED_PAGE_FAULT6, // 16
|
|
IDX_OLED_PAGE_FAULT7, // 17
|
|
IDX_OLED_PAGE_RESET_ALARM, // 18
|
|
IDX_OLED_PAGE_PASSWORD, // 19
|
|
IDX_OLED_PAGE_MAINTENANCE, // 20
|
|
IDX_OLED_PAGE_VERSION, // 21
|
|
IDX_OLED_PAGE_KEY_TEST, // 21
|
|
IDX_OLED_PAGE_SHUTDOWN, // 23
|
|
IDX_OLED_PAGE_MAX
|
|
} E_IDX_OLED_PAGE;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_MENU_APU = 0U, // 0
|
|
IDX_OLED_MENU_TEMP, // 1
|
|
IDX_OLED_MENU_SENSOR, // 2
|
|
IDX_OLED_MENU_WARNING, // 3
|
|
} E_IDX_OLED_MENU1;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_MENU_FAULT = 0U, // 0
|
|
IDX_OLED_MENU_RESET, // 1
|
|
IDX_OLED_MENU_DEBUG // 2
|
|
} E_IDX_OLED_MENU2;
|
|
|
|
typedef enum
|
|
{
|
|
IDX_OLED_LINE_FOCUS_1 = 0U,
|
|
IDX_OLED_LINE_FOCUS_2,
|
|
IDX_OLED_LINE_FOCUS_3,
|
|
IDX_OLED_LINE_FOCUS_4
|
|
} E_IDX_OLED_LINE_FOCUS;
|
|
|
|
typedef struct ClassPageHandler
|
|
{
|
|
Uint16 uiPage;
|
|
void (*pAction) (void); // PageTable 참조
|
|
} CPageHandler;
|
|
|
|
typedef struct ClassOledOperValue
|
|
{
|
|
Uint16 uiBuff[OLED_WIDTH][OLED_PAGE];
|
|
Uint16 uiPageNum;
|
|
Uint16 uiOldPageNum;
|
|
Uint16 uiFocusLine;
|
|
Uint16 uiPrevFocusLine;
|
|
Uint16 uiFocusDigit;
|
|
Uint16 uiProgressValue;
|
|
Uint16 uiProgressDone;
|
|
Uint16 uiResetAlarmAnswer;
|
|
Uint16 uiResetHourAnswer;
|
|
int8 cStrBuff[TXT_LINE_LEN][TXT_MAX_LEN];
|
|
int8 cAlignBuffer[TXT_MAX_LEN];
|
|
struct
|
|
{
|
|
Uint16 TxtColor;
|
|
Uint16 BgColor;
|
|
} Color;
|
|
struct
|
|
{
|
|
Uint16 X;
|
|
Uint16 Y;
|
|
} Point;
|
|
} COledOperValue;
|
|
|
|
void CInitXintf(void);
|
|
void CInitOled(void);
|
|
void COledReflash(Uint16 x, Uint16 y, Uint16 width, Uint16 height);
|
|
void CDisplayPostFail(void);
|
|
void CSetPage(Uint16 PageNum);
|
|
void CInitKeyOperValue(void);
|
|
void CInitializePage(void);
|
|
void COledBufferReset(void);
|
|
void CDisplayAntiNoiseRefresh(void);
|
|
|
|
extern COledOperValue OledOperValue;
|
|
|
|
#endif /* SOURCE_DISPLAY_H_ */
|