ZNY_Pakistan/Anjiehui7_Set_ZNY/User/display.h

163 lines
4.1 KiB
C
Raw Normal View History

2025-04-03 14:42:57 +08:00
#ifndef USER_DISPLAY_PRESENT
#define USER_DISPLAY_PRESENT
#include "type.h"
typedef enum {UNIT_CAL, UNIT_PSI, UNIT_INH2O, UNIT_MMH2O, UNIT_KPA, UNIT_KG, UNIT_M3, UNIT_L, UNIT_PCT} TDiffUnit;
typedef enum {UNIT_PV_PA, UNIT_PV_MPA} TPresVacuUnit;
typedef enum {UNIT_PT_C, UNIT_PT_F, UNIT_PT_MPA} TPresTempUnit;
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: Fld1Ϊ0~3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD>ֵ<EFBFBD><D6B5>1~4)<29><>Fld2Ϊ4~6<><36><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>5~7<><37><EFBFBD><EFBFBD>
// Fld3Ϊ7~9<><39><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>8~10<31><30><EFBFBD><EFBFBD>Fld4Ϊ10~12<31><32><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>11~13)
void Disp_DispChar(u8 pos, char c);
// <20><>ʾ<EFBFBD><CABE>ѹ<EFBFBD><D1B9>Һλ<D2BA><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_Fld1Text(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_Fld1PointMultiOn(u8 posOrMulti);
void Disp_Fld1PointMultiOff();
void Disp_Fld1PointOff();
// <20><>ʾѹ<CABE><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Disp_Fld2Text(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_Fld2PointOn(u8 pos);
void Disp_Fld2PointOff();
// <20><>ʾ<EFBFBD><CABE>λ
void Disp_Fld2UnitOn(TPresVacuUnit unit);
void Disp_Fld2UnitOff();
// <20><>ʾ<EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
void Disp_Fld3Text(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_Fld3PointOn(u8 pos);
void Disp_Fld3PointOff();
// <20><>ʾ<EFBFBD><CABE>λ
void Disp_Fld3UnitOn(TPresTempUnit unit);
void Disp_Fld3UnitOff();
// <20><>ʾ<EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
void Disp_Fld4Text(s8 *text);
// <20><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
void Disp_Fld4PointOn(u8 pos);
void Disp_Fld4PointOff();
// <20><>ʾ<EFBFBD><CABE>λ
void Disp_Fld4UnitOn(TPresTempUnit unit);
void Disp_Fld4UnitOff();
// <20><>ѹ<EFBFBD><D1B9>Һλ<D2BA><CEBB><EFBFBD><EFBFBD>ʾ<EFBFBD>л<EFBFBD>
void Disp_SwitchDiffUnit(TDiffUnit unit);
// <20><>ʾҺԴ
void Disp_SwitchSource(TDispSource src);
// дָ<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);
// д<>澯״̬
void Disp_WriteAlarm(u8 val);
// д<><D0B4><EFBFBD><EFBFBD>״̬
void Disp_WriteError(u8 val);
// д<><D0B4>װ״̬
void Disp_WriteFill(u8 val);
// <20><><EFBFBD><EFBFBD>
void Disp_Clear();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸
void Disp_SetBlinkVisible(u8 visible);
void Disp_Fld1Blink(u8 blink);
void Disp_Fld2Blink(u8 blink);
void Disp_Fld3Blink(u8 blink);
void Disp_Fld4Blink(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><CABE><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><33><CEBB>ѹ<EFBFBD><D1B9>ʾ<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][5]; // <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>4<EEB3A4><34><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[][5], 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[5]; // <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