146 lines
3.6 KiB
C
146 lines
3.6 KiB
C
|
|
#ifndef USER_DISPLAY_PRESENT
|
|||
|
|
#define USER_DISPLAY_PRESENT
|
|||
|
|
|
|||
|
|
#include "type.h"
|
|||
|
|
|
|||
|
|
typedef enum {UNIT_INH2O, UNIT_KPA, UNIT_MMH2O} TDiffUnit;
|
|||
|
|
typedef enum {UNIT_MPA} TPresUnit;
|
|||
|
|
typedef enum {UNIT_C} TTempUnit;
|
|||
|
|
typedef enum {UNIT_PA} TVacuUnit;
|
|||
|
|
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~4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD>ֵ<EFBFBD><D6B5>1~5)
|
|||
|
|
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>
|
|||
|
|
void Disp_Fld1PointOn(u8 pos);
|
|||
|
|
void Disp_Fld1PointOff();
|
|||
|
|
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE>λ<EFBFBD>л<EFBFBD>
|
|||
|
|
void Disp_SwitchDiffUnit(TDiffUnit unit);
|
|||
|
|
void Disp_SwitchPresUnit(TPresUnit unit);
|
|||
|
|
void Disp_SwitchTempUnit(TTempUnit unit);
|
|||
|
|
void Disp_SwitchVacuUnit(TVacuUnit unit);
|
|||
|
|
void Disp_Fld1UnitOff();
|
|||
|
|
|
|||
|
|
// <20><>ʾͨ<CABE><CDA8><EFBFBD>л<EFBFBD>
|
|||
|
|
void Disp_ChannelOn(uint8_t channel);
|
|||
|
|
void Disp_ChannelOff();
|
|||
|
|
|
|||
|
|
// <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);
|
|||
|
|
// д<><D0B4><EFBFBD><EFBFBD>״̬
|
|||
|
|
void Disp_WritePower(u8 val);
|
|||
|
|
// дRF״̬
|
|||
|
|
void Disp_WriteRF(u8 val);
|
|||
|
|
// дGPS״̬
|
|||
|
|
void Disp_WriteGPS(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_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>0Ϊ<30><CEAA>ѹ<EFBFBD><D1B9>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>3λ<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
|