⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.h

📁 silicon wireless开发套件F920+Si4432原理图,源码
💻 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 + -