NANO130_H2Press/User/display.h

148 lines
3.6 KiB
C
Raw Normal View History

2025-04-10 14:54:41 +08:00
#ifndef USER_DISPLAY_PRESENT
#define USER_DISPLAY_PRESENT
typedef enum {UNIT_MPA, UNIT_PSI, UNIT_PCT, UNIT_M3} TH2PressUnit;
typedef enum {SOURCE_LNG, SOURCE_O2, SOURCE_N2, SOURCE_AR, SOURCE_CO2,
SOURCE_H2, SOURCE_CNG, SOURCE_HE, SOURCE_C2H4, SOURCE_LPG, SOURCE_NH3,
SOURCE_PENT, SOURCE_POPO} TDispSource; // <20><><EFBFBD><EFBFBD><E9A3AC><EFBFBD>Ѷ<EFBFBD>Ԫ<EFBFBD><D4AA>
// <20><>ʾһ<CABE><D2BB>8<EFBFBD><38><EFBFBD><EFBFBD>
// pos: <20><>ѹ<EFBFBD><D1B9>Ϊ0~4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD>ֵ<EFBFBD><D6B5>14~10)<29><><EFBFBD><EFBFBD>Ϊ5~7<><37><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>4~6<><36><EFBFBD><EFBFBD>
// ѹ<><D1B9>Ϊ8~10<31><30><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>7~9<><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ11~13<31><33><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>1~3)
void Disp_DispChar(u8 pos, char c);
// <20><>ʾ<EFBFBD><CABE>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_H2PressText(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_H2PressPointOn(u8 pos);
void Disp_H2PressPointOff();
// <20><>ʾѹ<CABE><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_PresText(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_PresPointOn();
void Disp_PresPointOff();
// <20><>ʾѹ<CABE><D1B9><EFBFBD>ĵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
void Disp_PresUnitOn();
void Disp_PresUnitOff();
// <20><>ʾ<EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
void Disp_TempText(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_TempPointOn();
void Disp_TempPointOff();
// <20><>ʾ<EFBFBD>¶ȵĵ<C8B5>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
void Disp_TempUnitOn();
void Disp_TempUnitOff();
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_VacuText(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_VacuPointOn();
void Disp_VacuPointOff();
// <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>λ<EFBFBD>ر<EFBFBD>
void Disp_H2PressUnitOff();
// <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ʾ<EFBFBD>л<EFBFBD>
void Disp_SwitchH2PressUnit(TH2PressUnit unit);
// дָ<D0B4><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_WriteNeedle(u8 val);
// д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_WriteBattery(u8 val);
// д<>ź<EFBFBD>ǿ<EFBFBD><C7BF>
void Disp_WriteStrength(u8 val);
// дͨѶ״̬<D7B4><CCAC><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
void Disp_WriteCommunication(u8 val);
// <20><><EFBFBD><EFBFBD>
void Disp_Clear();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸
void Disp_SetBlinkVisible(u8 visible);
void Disp_H2PressBlink(u8 blink);
void Disp_PresBlink(u8 blink);
void Disp_TempBlink(u8 blink);
void Disp_VacuBlink(u8 blink);
void Disp_BatteryBlink(u8 blink);
// ********************************************
// <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>ʵ<EFBFBD><CAB5>
// ********************************************
// <20><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>ʾ
void Disp_SetCursor(u8 pos, u8 width);
void Disp_ClearCursor();
// ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
u8 pos; // <20><>ʾλ<CABE>ã<EFBFBD>0~3<><33><30><CEAA>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><33><CEAA>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ұߣ<D2B1>
u8 width; // <20><>ʾλ<CABE><CEBB>
u8 count; // ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>ѡ<EFBFBD>
u8 idx; // <20><>ǰѡ<C7B0><D1A1>
u8 read_only; // ֻ<><D6BB>
u8 hide; // <20><><EFBFBD><EFBFBD>
char items[13][6]; // <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>5<EEB3A4><35><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
} TSelectBox;
// ˢ<><CBA2><EFBFBD><EFBFBD>ʾ
void SelectBox_Refresh(TSelectBox *pBox);
// <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>
void SelectBox_Create(TSelectBox *pBox, u8 pos, u8 width, u8 count, const char items[][6], u8 idx);
// <20><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SelectBox_ReadOnly(TSelectBox *pBox);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SelectBox_Hide(TSelectBox *pBox);
// ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 SelectBox_OnKey(TSelectBox *pBox, u8 key);
// ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
void SelectBox_SetFocus(TSelectBox *pBox);
// <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
u8 pos; // <20><>ʾλ<CABE><CEBB>
u8 width; // <20><>ʾλ<CABE><CEBB>
u8 len; // <20><EFBFBD><E0BCAD><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD><C8A3><EFBFBD>len>width<74><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
u8 left_idx; // <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idx
u8 curr_idx; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idx
u8 read_only; // ֻ<><D6BB>
u8 hide; // <20><><EFBFBD><EFBFBD>
char text[20]; // <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD>
} TEditBox;
// ˢ<><CBA2><EFBFBD><EFBFBD>ʾ
void EditBox_Refresh(TEditBox *pEdit);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0BCAD>
void EditBox_Create(TEditBox *pEdit, u8 pos, u8 width, u8 len, char *text);
// <20><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void EditBox_ReadOnly(TEditBox *pEdit);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void EditBox_Hide(TEditBox *pEdit);
// <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 EditBox_OnKey(TEditBox *pEdit, u8 key);
// <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
void EditBox_SetFocus(TEditBox *pEdit);
// <20><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>
typedef struct
{
u8 pos; // <20><>ʾλ<CABE><CEBB>
u8 width; // <20><>ʾλ<CABE><CEBB>
u8 hide; // <20><><EFBFBD><EFBFBD>
char caption[6]; // <20><><EFBFBD><EFBFBD>
} TButton;
// ˢ<><CBA2><EFBFBD><EFBFBD>ʾ
void Button_Refresh(TButton *pButton);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť
void Button_Create(TButton *pButton, u8 pos, u8 width, char *caption);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Button_Hide(TButton *pButton);
// <20><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 Button_OnKey(TButton *pButton, u8 key);
// <20><>ť<EFBFBD><C5A5><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
void Button_SetFocus(TButton *pButton);
#endif