📄 menu.h
字号:
/*
** ============================================================================
**
** FILE
** menu.h
**
** DESCRIPTION
** Header file for menu handling
**
** CREATED
** Silicon Laboratories Hungary Ltd
**
** COPYRIGHT
** Copyright 2008 Silicon Laboratories, Inc.
** http://www.silabs.com
**
** ============================================================================
*/
#ifndef MENU_H
#define MENU_H
#include "S8051.h"
#include "IA443x_rf.h"
#include "global_definitions.h"
/* ======================================= *
* D E F I N I T I O N S *
* ======================================= */
#define CURSOR ('}'+1)
#define PB_TIMING 35000
typedef enum _MENU_ITEM
{
sMenuStartScreen,
sMenuXTALError,
sMenuPORTimeout,
sMenuTestcardOrEEPROMError,
sMenuNotSupportedChip,
sMenuInitSettingsPage,
sMenuDrawSystemFunctionScreen,
sDemoChangeFirstSettingPage,
sMenuChangeSystemFunction,
sMenuDrawRfParametersScreen,
sMenuChangeRfParameters,
sMenuDrawNodeParametersScreen,
sMenuChangeNodeParameters,
sMenuDrawHiddenScreen,
sMenuChangeHiddenScreen,
sMenuClearIcon,
sMenuStopIcon,
sMenuClearSettingIcon,
sMenuRestartDemo,
sMenuStartAutoTx,
sMenuPingTxError,
sMenuPingReceived,
sMenuAckSent,
sMenuAckTxError,
sMenuDeleteMessageRow,
sMenuAckReceivedMessage,
sMenuAckReceivingErrorMessage,
sMenuPERStartScreen,
sMenuBERStartScreen,
sMenuCWStartScreen,
sMenuPN9StartScreen,
} MENU_ITEM;
typedef enum _BUTTON_STATES
{
Button1Pressed,
Button2Pressed,
Button3Pressed,
Button4Pressed,
NothingPressed,
} BUTTON_STATES;
typedef enum _MENU_RETURN
{
NONE,
NEXT_PAGE,
UPDATE_PAGE,
} MENU_RETURN;
#define NMBR_OF_MENU_ITEM 14
typedef struct _STRUC_MENU_ITEM_VALUE
{
uint8 system_function;
uint8 lab_mode;
uint8 demo_mode;
uint8 data_rate;
uint8 modulation_mode;
uint8 frequency;
uint8 self_id;
uint8 dest_id;
uint8 antenna_mode;
uint8 gps_enabled;
uint8 arib_mode;
uint8 full_menu;
uint8 max_packets;
uint8 show_hidden_menu; //this must be the last item!
} STRUC_MENU_ITEM_VALUE;
typedef union _MENU_ITEM_VALUE
{
STRUC_MENU_ITEM_VALUE name;
uint8 value[NMBR_OF_MENU_ITEM];
} MENU_ITEM_VALUE;
#define MAX_SF_VALUE 1
#define MAX_LM_VALUE 3
#define MAX_DM_VALUE 2
#define MAX_DR_VALUE (NMBR_OF_GFSK_SAMPLE_SETTING-1)
#define MAX_ADR_VALUE (NMBR_OF_ARIB_SAMPLE_SETTING-1)
#define MAX_OOKDR_VALUE (NMBR_OF_OOK_SAMPLE_SETTING-1)
#define MAX_MM_VALUE 2
#define MAX_A_MODE 2
#define MAX_BOOLEAN_MODE 1
#define MAX_P_VALUE 6
#define DEMO_MODE 0
#define LAB_MODE 1
#define LAB_MODE_CW 0
#define LAB_MODE_PN9 1
#define LAB_MODE_BER 2
#define LAB_MODE_PER 3
#define DEMO_MODE_TRX 0
#define DEMO_MODE_TX 1
#define DEMO_MODE_RX 2
/* ======================================= *
* V A R I A B L E S *
* ======================================= */
/* ======================================= *
* F U N C T I O N P R O T O T Y P E S *
* ======================================= */
MENU_RETURN PerformMenu(MENU_ITEM menu_item);
void MenuReportPer(uint16 sent_packets, uint16 received_packets, float per);
void MenuReportSentPackets(uint16 sent_packets);
void MenuReportTestPer(uint16 sent_packets, uint16 received_packets, float per);
void MenuSetCursorPosition(uint8 cursor);
void ChangeSettingsIfNotvalid(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -