📄 main.c.svn-base
字号:
* bluetooth setting menu
*/
#define SETTING_ACCESSIBLE 1
#define SETTING_EXIT 2
#define SETTING_SHOW 3
void SettingMenuHandler(U32 type, ...);
const ST_MENU_ITEM SettingMenuItem[] = { {1, SETTING_ACCESSIBLE, "set Accesiblity", TRUE},
{2, SETTING_EXIT, "exit setting", TRUE},
{3, SETTING_SHOW, "show setting", TRUE},
{0, 0, 0, 0}};
const ST_MENU SettingMenu = {SettingMenuHandler, SettingMenuItem, TRUE};
/***************************************************************************/
/*
* obex opp menu
*/
#define OPP_PUTFILE 0
#define OPP_EXIT 1
void OppMenuHandler(U32 type, ...);
const ST_MENU_ITEM OppMenuItem[] = { {1, OPP_PUTFILE, "opp put file", TRUE},
{2, OPP_EXIT, "exit opp", TRUE},
{0, 0, 0, 0}};
const ST_MENU OppMenu = {OppMenuHandler, OppMenuItem, TRUE};
/***************************************************************************/
/*
* obex ftp menu
*/
#define FTP_CONNECT 1
#define FTP_EXIT 2
#define FTP_DISCONNECT 3
#define FTP_SHOWDIR 4
#define FTP_CHANGEDIR 0x11
#define FTP_CHANGEPARENT 0x12
#define FTP_GETFILE 0x14
#define FTP_PUTFILE 0x15
void FtpMenuHandler(U32 type, ...);
const ST_MENU_ITEM FtpMenuItem[] = { {1, FTP_CONNECT, "ftp connect", TRUE},
{1, FTP_DISCONNECT, "ftp disconnect", FALSE},
{2, FTP_EXIT, "exit", TRUE},
{8, FTP_SHOWDIR, "ftp display remote dir", FALSE},
{3, FTP_CHANGEDIR, "ftp dir change", FALSE},
{4, FTP_CHANGEPARENT, "ftp parent change", FALSE},
{6, FTP_GETFILE, "ftp get file", FALSE},
{7, FTP_PUTFILE, "ftp put file", FALSE},
{0, 0, 0, 0}};
const ST_MENU FtpMenu = {FtpMenuHandler, FtpMenuItem, TRUE};
/***************************************************************************/
/*
* devices list menu
*/
#define DVLST_INQUIRY 0
#define DVLST_EXIT 1
#define DVLST_STOPINQUIRY 2
#define DVLST_SDP 3
#define DVLST_PAIR 4
#define DVLST_DELDEVICE 5
void DVsMenuHandler(U32 type, ...);
const ST_MENU_ITEM DVsMenuItem[] = { {1, DVLST_INQUIRY, "Add devices", TRUE},
{1, DVLST_STOPINQUIRY, "Stop Search", FALSE},
{1, DVLST_PAIR, "Pair devices", FALSE},
{2, DVLST_EXIT, "exit", TRUE},
{3, DVLST_SDP, "Run SDP", FALSE},
{4, DVLST_DELDEVICE, "Delete devices", TRUE},
{0, 0, 0, 0}};
const ST_MENU DVsMenu = {DVsMenuHandler, DVsMenuItem, TRUE};
/***************************************************************************/
/*
* devices list menu
*/
#define A2DP_SRC_OPEN 0
#define A2DP_SRC_CONFIG 1
#define A2DP_SRC_RECONFIG 2
#define A2DP_SRC_START 3
#define A2DP_SRC_SUSPEND 4
#define A2DP_SRC_RESUME 5
#define A2DP_SRC_EXIT 6
void A2DPsrcMenuHandler(U32 type, ...);
const ST_MENU_ITEM A2DPsrcMenuItem[] = { {1, A2DP_SRC_OPEN, "open", TRUE},
{2, A2DP_SRC_CONFIG, "config", TRUE},
{3, A2DP_SRC_RECONFIG,"reconfig", TRUE},
{4, A2DP_SRC_SUSPEND, "suspend", TRUE},
{5, A2DP_SRC_RESUME, "resume", TRUE},
{6, A2DP_SRC_EXIT, "exit", TRUE},
{0, 0, 0, 0}};
const ST_MENU A2DPsrcMenu = {A2DPsrcMenuHandler, A2DPsrcMenuItem, TRUE};
/***************************************************************************/
/*
* devices list menu
*/
#define HANDSET_TALK 0
#define HANDSET_HSMVDOWN 1
#define HANDSET_HSMVUP 2
#define HANDSET_HSSVDOWN 3
#define HANDSET_HSSVUP 4
#define HANDSET_EXIT 5
void HandsetMenuHandler(U32 type, ...);
const ST_MENU_ITEM HandsetMenuItem[] = { {1, HANDSET_TALK, "Press talk key", TRUE},
{2, HANDSET_HSMVDOWN, "Microphone vol down", TRUE},
{3, HANDSET_HSMVUP, "Microphone vol up", TRUE},
{4, HANDSET_HSSVDOWN, "Speaker vol down", TRUE},
{5, HANDSET_HSSVUP, "Speaker vol up", TRUE},
{6, HANDSET_EXIT, "exit", TRUE},
{0, 0, 0, 0}};
const ST_MENU HandsetMenu = {HandsetMenuHandler, HandsetMenuItem, TRUE};
/***************************************************************************/
/*
* devices list menu
*/
#define HANDSET_GW_OUTGOING 0
#define HANDSET_GW_INCOMING 1
#define HANDSET_GW_DISCONNECT 2
#define HANDSET_GW_REGHANDSET 3
void HSGWMenuHandler(U32 type, ...);
const ST_MENU_ITEM HSGWMenuItem[] = { {1, HANDSET_GW_OUTGOING, "outgoing call", TRUE},
{2, HANDSET_GW_INCOMING, "incoming call", TRUE},
{3, HANDSET_GW_DISCONNECT, "exit", TRUE},
{4, HANDSET_GW_REGHANDSET, "reg handset", TRUE},
{0, 0, 0, 0}};
const ST_MENU HSGWMenu = {HSGWMenuHandler, HSGWMenuItem, TRUE};
/***************************************************************************/
/*
* spp list menu
*/
#define SPP_CLIENT_CONNECT 1
#define SPP_CLIENT_DISCONNECT 2
#define SPP_EXIT 3
void SPPMenuHandler(U32 type, ...);
const ST_MENU_ITEM SPPMenuItem[] = {
{1, SPP_CLIENT_CONNECT, "spp client connect", TRUE},
{2, SPP_CLIENT_DISCONNECT, "spp client disconnect", TRUE},
{3, SPP_EXIT, "exit", TRUE},
{0, 0, 0, 0}};
const ST_MENU SPPMenu = {SPPMenuHandler, SPPMenuItem, TRUE};
void ShowUnTrustedDeviceList()
{
U08 i;
U08 *name;
U08 j;
U08 *addr;
U08 status;
U08 dnum, snum;
dnum = mpx_BtRemoteDevListNumGet(1);
DPrintf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i = 0; i < dnum; i++)
{
mpx_BtRemoteDevGetName(1, &name, i);
mpx_BtRemoteDevGetStatus(1, &status, i);
if(status & 0x1) //in range
DPrintf(" <online>\\-");
else
DPrintf("<offline>\\-");
if(name)
DPrintf("[%2x] : %s\\-", i+1, name);
else
{
U16 Nap;
U08 Uap;
U32 Lap;
mpx_BtRemoteDevGetAddr(1, &Nap, &Uap, &Lap, i);
DPrintf("[%2x] : \\-", i+1);
DPrintf("%2x : %2x : %2x : %2x : %2x : %2x \\-", Nap >> 8, Nap & 0xff, Uap, Lap >> 16, (Lap >> 8) & 0xff, Lap & 0xff);
DPrintf("\\-");
}
//service show
mpx_BtRemoteDevGetServiceNum(1, i, &snum);
if(snum)
{
DPrintf("\t\t\t services\\-");
DPrintf("(\\-");
}
for(j = 0 ; j < snum ; j++)
{
U16 uuid;
mpx_BtRemoteDevGetServiceUUid(0, i, j, &uuid);
DPrintf(" %4x\\-", uuid);
}
if(snum)
DPrintf(")\\-");
if(status & 0x2) //paired
DPrintf("-paired-\\-");
if(status & 0x4) //trusted
DPrintf("-trusted-\\-");
DPrintf("");
}
DPrintf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
pagemenu->refresh = TRUE;
}
void ShowTrustedDeviceList()
{
U08 i;
U08 *name;
U08 j;
U08 *addr;
U08 status;
U08 dnum, snum;
dnum = mpx_BtRemoteDevListNumGet(0);
DPrintf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
DPrintf("Device List:");
for(i = 0; i < dnum; i++)
{
mpx_BtRemoteDevGetName(0, &name, i);
mpx_BtRemoteDevGetStatus(0, &status, i);
if(status & 0x1) //in range
DPrintf(" <online>\\-");
else
DPrintf("<offline>\\-");
if(name)
DPrintf("[%2x] : %s\\-", i+1, name);
else
{
U16 Nap;
U08 Uap;
U32 Lap;
mpx_BtRemoteDevGetAddr(0, &Nap, &Uap, &Lap, i);
DPrintf("[%2x] : \\-", i+1);
DPrintf("%2x : %2x : %2x : %2x : %2x : %2x \\-", Nap >> 8, Nap & 0xff, Uap, Lap >> 16, (Lap >> 8) & 0xff, Lap & 0xff);
DPrintf("\\-");
}
//service show
mpx_BtRemoteDevGetServiceNum(0, i, &snum);
if(snum)
{
DPrintf("\t\t\t services\\-");
DPrintf("(\\-");
}
for(j = 0 ; j < snum ; j++)
{
U16 uuid;
mpx_BtRemoteDevGetServiceUUid(0, i, j, &uuid);
DPrintf(" %4x\\-", uuid);
}
if(snum)
DPrintf(")\\-");
if(status & 0x2) //paired
DPrintf("-paired-\\-");
if(status & 0x4) //trusted
DPrintf("-trusted-\\-");
DPrintf("");
}
DPrintf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
pagemenu->refresh = TRUE;
}
U08 SelectTrustedDevice()
{
ShowTrustedDeviceList();
DPrintf("select a device :");
mpx_MessageReceive(mainTaskMsgId, (U08*)u32Argument);
return (u32Argument[0] & 0xffff)-1;
}
U08 SelectSearchedDevice()
{
ShowUnTrustedDeviceList();
DPrintf("select the Searched device :");
mpx_MessageReceive(mainTaskMsgId, (U08*)u32Argument);
return (u32Argument[0] & 0xffff)-1;
}
#define BSM_SEC_DISABLED 0x01
#define BSM_SEC_LEVEL_1 0x02
#define BSM_SEC_LEVEL_2 0x03
#define BSM_SEC_LEVEL_3 0x04
#define BSM_SEC_ENCRYPT 0x05
U08 ShowSetting()
{
U08 mode;
if(!mpx_BtGetAccessibleModeNC(&mode))
{
DPrintf("access mode := \\-");
switch(mode)
{
case 0:
DPrintf("[Not discovered, not connected]");
break;
case 1:
DPrintf("[discovered only]");
break;
case 2:
DPrintf("[connected only]");
break;
case 3:
DPrintf("[allow discovered and connected]");
break;
case 0x13:
DPrintf("[limited discovered and connected]");
break;
}
}
#if 0 //no open for user
mode = mpx_BtGetSecurityLevel();
DPrintf("security level := \\-");
switch(mode)
{
break;
case 1:
DPrintf("[security disable]");
break;
case 2:
DPrintf("[level 1]");
break;
case 3:
DPrintf("[level 2]");
break;
case 4:
DPrintf("[level 3]");
break;
case 5:
DPrintf("[encrypt]");
break;
default:
DPrintf("[unknow]");
break;
}
#endif
}
U08 SelectKey()
{
mpx_MessageReceive(mainTaskMsgId, (U08*)u32Argument);
return (u32Argument[0] & 0xffff);
}
void InputPin(U08 *pin)
{
DPrintf("input pin code :------->");
U08 key;
U08 i = 0;
do{
mpx_MessageReceive(mainTaskMsgId, (U08*)u32Argument);
key = (u32Argument[0] & 0xffff)-1;
if(i < 16 && key !=10)
{
DPrintf("%1d\\-", key);
pin[i++] = key + '0';
}
}while(key != 10);
pin[i] = 0;
}
void BtDefaultIntHandler(U08* buffer)
{
U08 category;
U08 type;
U08 action;
U08 who;
U16 datalen;
category = BTINT_CATEGORY(buffer);
type = BTINT_TYPE(buffer);
action = BTINT_ACTION(buffer);
who = BTINT_WHO(buffer);
datalen = BTINT_DATALEN(buffer);
if(!(type & 0x80)) //inform type
{
switch(action)
{
case LINK_CONNECT:
DPrintf("$$$: LINK CONNECT");
break;
case LINK_DISCONNECT:
DPrintf("$$$: LINK DISCONNECT");
break;
case GOEP_CONNECT:
DPrintf("$$$: GOEP_CONNECT");
break;
case GOEP_DISCONNECT:
DPrintf("$$$: GOEP_DISCONNECT");
break;
case GOEP_PUSH:
{
switch(type)
{
case INFORM_START:
DPrintf("$$$: GOEP_PUSH START");
break;
case INFORM_PROGRESS:
{
if(datalen != 8)
DPrintf("$$$: GOEP_PUSH PROGRESS");
else
{
U32 cur, max;
cur = BTINT_U32DATA(buffer, 0);
max = BTINT_U32DATA(buffer, 1);
//DPrintf("$$$: GOEP_PUSH PROGRESS %d/%d", cur, max);
}
break;
}
case INFORM_COMPLETE:
DPrintf("$$$: GOEP_PUSH COMPLETE");
break;
}
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -