📄 c_ui.h
字号:
MENULEVEL;
typedef struct
{
MENULEVEL MenuLevels[MENULEVELS]; // See above
UBYTE FileId; // VarsUi.MenuFiles[VarsUi.MenuFileLevel].FileId
UBYTE MenuLevel; // VarsUi.MenuFiles[VarsUi.MenuFileLevel].MenuLevel
}
MENUFILE;
typedef struct
{
UBYTE StatusText[STATUSTEXT_SIZE + 1]; // RCX name
UBYTE Initialized; // Ui init done
UWORD SleepTimer; // Sleep timer
// Menu system
MENUFILE MenuFiles[MENUFILELEVELS]; // Menu file array
MENUFILE *pMenuFile; // Actual menu file pointer
MENULEVEL *pMenuLevel; // Actual menu item on level, pointer
MENUITEM *pMenuItem; // Actual menu item in menu flash file
UBYTE MenuFileLevel; // Actual menu file level
UBYTE Function; // Running function (0 = none)
UBYTE Parameter; // Parameter for running function
UBYTE SecondTime; // Second time flag
UBYTE EnterOnlyCalls; // Enter button only calls
UBYTE ExitOnlyCalls; // Exit button only calls
UWORD ButtonTimer; // Button repeat timer
UWORD ButtonTime; // Button repeat time
UBYTE ButtonOld; // Button old state
// Update status
UWORD UpdateCounter; // Update counter
UBYTE Running; // Running pointer
UBYTE BatteryToggle; // Battery flash toggle flag
UBYTE NewStatusIcons[NO_OF_STATUSICONS]; // New status icons (used to detect changes)
// Low battery voltage
UBYTE *LowBattSavedBitmap; // Low battery overwritten bitmap placeholder
UBYTE LowBatt; // Low battery volatge flag
UBYTE LowBattHasOccured; // Low battery voltage has occured
UBYTE LowBattSavedState; // Low battery current state placeholder
// General used variables
UBYTE *MenuIconTextSave; // Menu icon text save
UBYTE *pTmp; // General UBYTE pointer
ULONG TmpLength; // General filelength (used in filelist)
SWORD TmpHandle; // General filehandle (used in filelist)
SWORD Timer; // General tmp purpose timer
SWORD ReadoutTimer; // General read out timer
UBYTE Tmp; // General UBYTE
UBYTE FileType; // General file type
UBYTE State; // General tmp purpose state
UBYTE Pointer; // General tmp purpose pointer
UBYTE Counter; // General tmp purpose counter
UBYTE Cursor; // General cursor
UBYTE SelectedSensor; // General used for selected sensor
UBYTE SelectedPort; // General used for selected port
UBYTE NextState;
UBYTE SelectedFilename[FILENAME_LENGTH + 1]; // Selected file name
UBYTE FilenameBuffer[FILENAME_LENGTH + 1]; // General filename buffer
UBYTE SearchFilenameBuffer[FILENAME_LENGTH + 1];// General filename buffer
UBYTE DisplayBuffer[DISPLAYLINE_LENGTH + 1]; // General purpose display buffer
UBYTE PortBitmapLeft[SIZE_OF_PORTBITMAP]; // Port no bitmap for left icon
UBYTE PortBitmapCenter[SIZE_OF_PORTBITMAP]; // Port no bitmap for center icon
UBYTE PortBitmapRight[SIZE_OF_PORTBITMAP]; // Port no bitmap for right icon
// Find no of files and find name for file no
ULONG FNOFLength; // Length
SWORD FNOFHandle; // Handle
UBYTE FNOFState; // State
UBYTE FNOFSearchBuffer[FILENAME_LENGTH + 1]; // Search buffer
UBYTE FNOFNameBuffer[FILENAME_LENGTH + 1]; // File name buffer
UBYTE FNOFFileNo; // File no
// File list
UBYTE FileCenter; // File center
UBYTE FileLeft; // File left
UBYTE FileRight; // File right
UBYTE NoOfFiles; // No of files
// On brick programming menu
UBYTE ProgramSteps[ON_BRICK_PROGRAMSTEPS]; // On brick programming steps
UBYTE ProgramStepPointer; // On brick programming step pointer
UBYTE CursorTmp[SIZE_OF_CURSOR]; // On brick programming cursor
UBYTE FileHeader[FILEHEADER_LENGTH]; // File header for programs
UBYTE *FeedBackText; // Program end text
UWORD OBPTimer; // Graphic update timer
// BT search menu
UBYTE NoOfDevices; // BT search no of devices found
UBYTE NoOfNames; // BT search no of names found
UBYTE SelectedDevice; // BT selected device
UBYTE SelectedSlot; // BT selected slot
// BT device list menu
UBYTE DevicesKnown; // BT device known flag
UBYTE Devices; // BT devices
UBYTE DeviceLeft; // BT device left
UBYTE DeviceCenter; // BT device center
UBYTE DeviceRight; // BT device right
UBYTE DeviceType; // BT device type
// BT connect Menu
UBYTE Slots; // BT connect no of slots
UBYTE SlotLeft; // BT connect
UBYTE SlotCenter; // BT connect
UBYTE SlotRight; // BT connect
// Get user string
UBYTE GUSTmp; // Seperat tmp for "Get user string"
UBYTE GUSState; // Seperat state for "Get user string"
UBYTE GUSNoname; // No user entry
UBYTE UserString[DISPLAYLINE_LENGTH + 1]; // User string
UBYTE DisplayText[DISPLAYLINE_LENGTH + 1]; // Display buffer
SBYTE FigurePointer; // Figure cursor
UBYTE GUSCursor; // User string cursor
// Connect request
ULONG CRPasskey; // Passkey to fake wrong pin code
UBYTE CRState; // Seperate state for "Connect request"
UBYTE CRTmp; // Seperate tmp for "Connect request"
// Run files
UBYTE *RunIconSave; // Menu center icon save
UWORD RunTimer; // Bitmap change timer
UBYTE RunBitmapPointer; // Bitmap pointer
// Delete files
UBYTE SelectedType; // Type of selected files for delete
// View
SLONG ViewSampleValue; // Latch for sensor values
UBYTE ViewSampleValid; // Latch for sensor valid
// NV storage
ULONG NVTmpLength; // Non volatile filelength
SWORD NVTmpHandle; // Non volatile filehandle
UBYTE NVFilename[FILENAME_LENGTH + 1]; // Non volatile file name
UBYTE NVData; // Non volatile data
// Feedback
UBYTE *FBText; // Seperate text pointer for feedback
UWORD FBTimer; // Seperate timer for feedback
UBYTE FBState; // Seperate state for feedback
UBYTE FBPointer; // Seperate pointer for feedback
// BT command
UBYTE BTIndex; // List index
UBYTE BTTmpIndex; // Tmp list index
UBYTE BTCommand; // Last lached BT command
UBYTE BTPar1; // Last lached BT command parameter 1
UBYTE BTPar2; // Last lached BT command parameter 2
UWORD BTResult; // Last lached BT command result
// Error display
UBYTE ErrorTimer; // Error show timer
UBYTE ErrorFunction; // Error latched function
UBYTE ErrorParameter; // Error latched parameter
UBYTE ErrorState; // Error latched state
UBYTE ErrorString[DISPLAYLINE_LENGTH + 1]; // Error string
}VARSUI;
void cUiInit(void* pHeader); // Init controller
void cUiCtrl(void); // Run controller
void cUiExit(void); // Exit controller
extern const HEADER cUi;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -