/***************************************************************************** ** Descriptions: ** Parameters: const u8*pasTitle �Ի������ const u8 *pasDispData ��ʾ������ s32 siOvertimer ��ʱ����ʱ�� Ϊ0��ʾ��Զ����ʱ ** Returned value: ** Created By: shiweisong 2013.01.21 ** Remarks: *****************************************************************************/ s32 sdkDispListBox(const u8 *pasTitle, const u8 *pasDispData, s32 siOvertimer) { s32 key = 0; bool bIsHaveTitle = false; s32 retFlag = SDK_ERR; if ((pasDispData == NULL) || siOvertimer < 0) { Assert(0); return SDK_PARA_ERR; } sdkDispReadyStr(pasDispData, pasTitle); //����Ҫ��ʾ������ while (1) { u32 uiMask = SDK_KEY_MASK_UP | SDK_KEY_MASK_DOWN | SDK_KEY_MASK_ESC | SDK_KEY_MASK_ENTER; sdkDispClearScreen(); bIsHaveTitle = sShowTitle(pasTitle); //��ʾ���� sdkDispPutStrInRom(bIsHaveTitle, SDK_DISP_LINE5, true, -1); //����ʾ���ݷ���LCD����ʾ sdkDispBrushScreen(); //���� if (SDK_SYS_MACHINE_K501AM == sdkSysGetMachineCode(NULL)) { uiMask = (uiMask | SDK_KEY_MASK_F3); } //�ȴ��û����� �����·�ҳ key = sdkKbWaitKey(uiMask, siOvertimer); //���������� if ((retFlag = sdkDispDealKey(key)) != SDK_DISP_MSG_BOX_NOT_RET) { break; } } sdkDispClearList(); return retFlag; }
/***************************************************************************** ** Descriptions: ��ʽ�˵����� ** Parameters: Input: None ** Returned value: ** Created By: fusuipu 2013.03.07 ** Remarks: *****************************************************************************/ s32 HidenMenuShowMainFace(char *pasOutInfo, char const *pTitle) { u8 temp[25] = {0}; u8 temp1[25] = {0}; s32 key = 0; s32 mode = 0;//sdkTestInputs32("menu test", "�˵�ģʽ:"); sdkDispClearScreen(); sdkDispFillRowRam(SDK_DISP_LINE3, 0, "������ѡ�����ؼ�", SDK_DISP_DEFAULT); sdkDispBrushScreen(); key = sdkKbWaitKey(SDK_KEY_MASK_ALL, 0); Verify(sdkUISetShowMode(mode) >= 0); Verify(sdkUIClearItems() >= 0); sdkUIAddHideItem(key, Eclipse); sprintf(temp, "%dkey����Ϊ���ؼ�", key); sprintf(temp1, "press %dkey ִ�����ز˵�", key); sdkDispClearScreen(); sdkDispFillRowRam(SDK_DISP_LINE2, 0, temp, SDK_DISP_DEFAULT); sdkDispFillRowRam(SDK_DISP_LINE3, 0, temp1, SDK_DISP_DEFAULT); sdkDispBrushScreen(); sprintf(pasOutInfo, "���ز˵���:%d", key); return SDK_OK; }
/***************************************************************************** ** Descriptions: ** Parameters: const u8*pasTitle �Ի������ const u8 *pasDispData ��ʾ������ s32 siOvertimer ��ʱ����ʱ�� Ϊ0��ʾ��Զ����ʱ s32 siKeyMask ��Ӧ����mask ** Returned value: ** Created By: shiweisong 2013.01.21 ** Remarks: *****************************************************************************/ s32 sdkDispMsgBox(const u8 *pasTitle, const u8 *pasDispData, s32 siOvertimer, s32 siKeyMask) { s32 key = 0; bool bIsHaveTitle = false; s32 retFlag = SDK_ERR; if ((pasDispData == NULL) || siOvertimer < 0) { Assert(0); return SDK_PARA_ERR; } sdkDispReadyStr(pasDispData, pasTitle); //����Ҫ��ʾ������ while (1) { sdkDispClearScreen(); bIsHaveTitle = sShowTitle(pasTitle); //��ʾ���� sdkDispPutStrInRom(bIsHaveTitle, SDK_DISP_LINE5, false, -1); //����ʾ���ݷ���LCD����ʾ sdkDispBrushScreen(); //���� key = sdkKbWaitKey(SDK_KEY_MASK_UP | SDK_KEY_MASK_DOWN | (u32) siKeyMask, siOvertimer); //���������� if ((retFlag = sdkDispDealMsgKey(key)) != SDK_DISP_MSG_BOX_NOT_RET) { break; } } sdkDispClearList(); return retFlag; }
/***************************************************************************** ** Descriptions: ** Parameters: s32 Index ** Returned value: ** Created By: fusuipu 2013.04.16 ** Remarks: *****************************************************************************/ SDK_UI_EXIT_VALUE UITest2(s32 Index) { sdkDispClearScreen(); sdkDispFillRowRam(SDK_DISP_LINE2, 0, "�����˵�ִ�гɹ�!", SDK_DISP_DEFAULT); sdkDispFillRowRam(SDK_DISP_LINE3, 0, "������˳�", SDK_DISP_DEFAULT); sdkDispBrushScreen(); sdkKbWaitKey(SDK_KEY_MASK_ALL, 0); return SDK_ESC; }
/******************************************************************* �� ��: ���� �� Ȩ: �����¹����ɷ�����˾ ��������: ��ʾ��ʾ����BOX ��ڲ���: bool IsSaveScreen,�Ƿ��� s32 siOvertimer ��ʱʱ�䣬��ʱ����SDK_TIME_OUT ��ʱ0��ʾ ��Զ����ʱ//shiweisong 2013.01.19 17:25 u8 *DispData��Ҫ��ʾ���� �� �� ֵ: �� ע: ********************************************************************/ s32 sdkDispPromptBox(bool const bIsSaveScreen, s32 const siOvertimer, const u8 *asDispData) { s32 key = 0; u8 i; void *pstreen = NULL; if ((bIsSaveScreen != false && bIsSaveScreen != true) || (asDispData == NULL) || siOvertimer < 0) { Assert(0); return SDK_PARA_ERR; //lilin 20120823 } if (bIsSaveScreen) //shiweisong 2013.01.10 9:35 ������ŵ�����ǰ����Ȼ�����û�������� { pstreen = sdkGetMem(sdkDispGetScreenBufferSize()); //�ں����ڲ�����shiweisong 2013.03.22 18:5 if (pstreen != NULL) { sdkDispSaveScreen(pstreen, sdkDispGetScreenBufferSize()); } } for (i = SDK_DISP_LINE2; i < (SDK_DISP_LINE5 + 1); i++) { sdkDispClearRowRam(i); } sdkDispReadyStr(asDispData, NULL); //����Ҫ��ʾ������ while (1) { for (i = SDK_DISP_LINE2; i < (SDK_DISP_LINE5 + 1); i++) { sdkDispClearRowRam(i); } sdkDispPutStrInRom2(1, SDK_DISP_LINE5, SDK_DISP_FDISP | SDK_DISP_CDISP | SDK_DISP_INCOL); //����ʾ���ݷ���LCD����ʾ sdkDispBrushScreen(); //���� key = sdkKbWaitKey( SDK_KEY_MASK_ESC | SDK_KEY_MASK_UP | SDK_KEY_MASK_DOWN | SDK_KEY_MASK_ENTER, siOvertimer); //���������� if (sdkDispDealMsgKey(key) != SDK_DISP_MSG_BOX_NOT_RET) { break; } } sdkDispClearList(); if (bIsSaveScreen) //shiweisong 2013.01.10 9:35 { if (pstreen != NULL) { Verify(sdkDispRestoreScreen(pstreen, sdkDispGetScreenBufferSize()) >= 0); sdkFreeMem(pstreen); } } return key; }
/**************************************************************************** *Descriptions:just like main face,Standby interface.show welcome infomation *Input:void *Output:void *Return:void *Date:20140423 *Author:song *Remark:none ****************************************************************************/ void DemoWaitKeyToBack(pfun psfun) { u16 key = 0; if (NULL == psfun) { return; } key = sdkKbWaitKey(SDK_KEY_MASK_CANCEL | SDK_KEY_MASK_ENTER,AUTORET_TIME); if (key == SDK_KEY_CANCEL || key == SDK_KEY_ENTER) { psfun(); } }
/**************************************************************************** *Descriptions:just like main face,Standby interface.show welcome infomation *Input:void *Output:void *Return:void *Date:20140423 *Author:song *Remark:none ****************************************************************************/ void DemosdkSetDesType(void) { s32 key = 0; u8 buf[16] = {0}; sdkLcdClear(); sdkLcdFillRow (SDK_LCD_LINE1,0,(u8 *)"CHOOSE DES TYPE", M_UCTR); sdkLcdFillRow (SDK_LCD_LINE3,0,(u8 *)"PLS SELECT:", L_UCTR); sdkLcdFillRow (SDK_LCD_LINE5,0,(u8 *)"1-3DES 0-DES", M_UCTR); memcpy(buf,"CUR:",4); if (E_PED_DES_TYPE == E_PED_DES_SINGLE) { strcat((s8 *)buf,"0"); } else { strcat((s8 *)buf,"1"); } sdkLcdFillRow(SDK_LCD_LINE4, 0, buf, R_UCTR); sdkLcdBrushScreen(); while (1) { key = sdkKbWaitKey(SDK_KEY_MASK_0 | SDK_KEY_MASK_1 | SDK_KEY_MASK_CANCEL | SDK_KEY_MASK_ENTER, AUTORET_TIME); if(key == SDK_KEY_ENTER || key == SDK_KEY_MASK_CANCEL) { DemoEnterPinpadModule(); return ; } else if(key == '1') { sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"1", L_UCTR); E_PED_DES_TYPE = E_PED_DES_TRIPLE; } else if(key == '0') { sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"0", L_UCTR); E_PED_DES_TYPE = E_PED_DES_SINGLE; } } return ; }
/******************************************************************* �� ��: ���� �� Ȩ: �����¹����ɷ�����˾ ��������: ��ʾ��ʾ���� ��ڲ���: s32 siOvertimer ��ʱʱ�� s32 const siStartLine��ʼ���� s32 const iEndLine �������� u8 const DispAtr���䷽ʽ u8 *DispData��Ҫ��ʾ���� �� �� ֵ: �� ע: ********************************************************************/ s32 sdkDispPromptLabel(s32 const siOvertimer, s32 const siStartLine, s32 const iEndLine, const u8 *asDispData, u8 const DispAtr) { s32 key = 0; s32 i; if (siStartLine < SDK_DISP_LINE1 || siStartLine > SDK_DISP_LINE5 || iEndLine < SDK_DISP_LINE1 || iEndLine > SDK_DISP_LINE5 || siStartLine > iEndLine || asDispData == NULL) { Assert(0); return SDK_PARA_ERR; //lilin 20120823//shijianglong 2013.05.20 10:47 } for (i = siStartLine; i < (iEndLine + 1); i++) { sdkDispClearRowRam((u8) i); } sdkDispReadyStr(asDispData, NULL); //����Ҫ��ʾ������ while (1) { //shiweisong 2013.03.22 18:5 for (i = siStartLine; i < (iEndLine + 1); i++) { sdkDispClearRowRam((u8) i); } sdkDispPutStrInRom2(siStartLine, iEndLine, DispAtr); //����ʾ���ݷ���LCD����ʾ sdkDispBrushScreen(); //���� key = sdkKbWaitKey( SDK_KEY_MASK_ESC | SDK_KEY_MASK_UP | SDK_KEY_MASK_DOWN | SDK_KEY_MASK_ENTER, siOvertimer); //���������� if (sdkDispDealMsgKey(key) != SDK_DISP_MSG_BOX_NOT_RET) { break; } } sdkDispClearList(); return key; }
/**************************************************************************** *Descriptions:just like main face,Standby interface.show welcome infomation *Input:void *Output:void *Return:void *Date:20140423 *Author:song *Remark:none ****************************************************************************/ void DemoABFCardModule(void) { s32 siRet = 0; u8 ucInCardType = 0x01|0x02|0x04;//01:A/B 02:M 04:C u8 szcardtype[4] = {0}; u8 szserialnum[32] = {0}; u8 szcid[12] = {0}; u8 szother[32] = {0}; u8 szbuf[32] = {0}; s32 timerid = 0; s32 TimerOver = AUTORET_TIME; s32 key = 0; u32 len = 0; sdkRfSetType(1);//set internal RF device status siRet = sdkRfPowerOn();//power on if(SDK_OK != siRet) { DemoDisplayInfo(SDK_LCD_LINE3, (u8 *)"RF POWER ON ERROR", M_UCTR); } siRet = sdkRfReset();//reset if(SDK_OK != siRet) { DemoDisplayInfo(SDK_LCD_LINE3, (u8 *)"RF RESET ERROR", M_UCTR); } timerid = sdkSysGetTimerCount(); while(1) { DemoDisplayInfo(SDK_LCD_LINE3, (u8 *)"PLS WAVE CARD:", L_UCTR); if(sdkRfSearchCard(ucInCardType, szcardtype, szserialnum, szcid, szother)== SDK_OK) { sdkLcdClear(); sprintf((s8 *)szbuf,"CARD TYPE:%s",szcardtype); sdkLcdFillRow(SDK_LCD_LINE2, 0, szbuf, L_UCTR); memset(szbuf,0,sizeof(szbuf)); sdkBcdToAsc(&szserialnum[1], szserialnum[0], szbuf); sdkLcdFillRow(SDK_LCD_LINE3, 0, (u8 *)"SERIAL NUMBER:", L_UCTR); sdkLcdFillRow(SDK_LCD_LINE4, 0, szbuf, R_UCTR); sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"[ENTER]->NEXT", M_UCTR); sdkLcdBrushScreen(); key = sdkKbWaitKey(SDK_KEY_MASK_ENTER | SDK_KEY_MASK_CANCEL, AUTORET_TIME); if(key != SDK_KEY_ENTER) { return DemoEnterCardModule(); } else { break; } } if (sdkSysGetTimerEnd(timerid, TimerOver)) { DemoShowMainMenu(); return; } } memset(szbuf,0,sizeof(szbuf)); siRet = sdkRfSendData((u8 *)"\x06\x00\xFF\xFF\x01\x00", 6, szbuf, &len); if(SDK_OK == siRet) { sdkLcdClear(); sdkLcdFillRow(SDK_LCD_LINE3, 0, (u8 *)"SEND DATA OK!", M_UCTR); sdkLcdFillRow(SDK_LCD_LINE4, 0, (u8 *)"PLS MOVE YOUR CARD!", M_UCTR); sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"[ENTER]->NEXT", M_UCTR); sdkLcdBrushScreen(); } else { sdkLcdClear(); sdkLcdFillRow(SDK_LCD_LINE3, 0, (u8 *)"SEND DATA ERROR!", M_UCTR); sdkLcdFillRow(SDK_LCD_LINE4, 0, (u8 *)"PLS MOVE YOUR CARD!", M_UCTR); sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"[ENTER]->NEXT", M_UCTR); sdkLcdBrushScreen(); } key = sdkKbWaitKey(SDK_KEY_MASK_ENTER | SDK_KEY_MASK_CANCEL, AUTORET_TIME); if(key != SDK_KEY_ENTER) { return DemoEnterCardModule(); } else { siRet = sdkRfPowerDown(); if(SDK_OK == siRet) { sdkLcdClear(); sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"POWER DOWN OK!", M_UCTR); sdkLcdBrushScreen(); } else { sdkLcdClear(); sdkLcdFillRow(SDK_LCD_LINE5, 0, (u8 *)"POWER DOWN ERROR!", M_UCTR); sdkLcdBrushScreen(); } } return DemoWaitKeyToBack(DemoEnterCardModule); }
static int sdkTest_BtTestManual(char *pasOutInfo, char const *pTitle) { static int iopen = 0; static int ivisable = 0; static char szMac[6]; s32 ret; // u32 timerid = 0; char *temp = NULL, *temp1 = NULL; char rslt[256]; // bool bwrite=false; // int nCount=0; int key, key2; char *szopen[] = {"1.�������豸", "1.�ر������豸"}; char *szvisable[] = {"3.�����豸�ɼ�", "3.�����豸���ɼ�"}; char *szAll = "%s\r2.�����������ƺ�����\r%s\r4.��������\r5.��������\r6.�Ͽ�����\r7.����1023���ַ�\r0.����������Ϣ"; temp = (char *) sdkGetMem(BUF_LEN); if (temp == NULL) { Assert(0); return -1; } temp1 = (char *) sdkGetMem(BUF_LEN); if (temp1 == NULL) { Assert(0); sdkFreeMem(temp); return -1; } memset(temp, 0, BUF_LEN); memset(temp1, 0, BUF_LEN); for (; ;) { memset(temp, 0, BUF_LEN); sprintf(temp, szAll, szopen[iopen], szvisable[ivisable]); key = sdkDispMsgBox("��ѡ�����ģ��", temp, 0, SDK_KEY_MASK_ALL); switch (key) { case SDK_KEY_1: { memset(rslt, 0, sizeof(rslt)); if (iopen == 0) { ret = sdkBtOpen(); if (ret != SDK_OK) sprintf(rslt, "sdkBtOpen failed=%d\n", ret); else { iopen = 1; sprintf(rslt, "�����豸�Ѵ�\n"); memset(szMac, 0, sizeof(szMac)); sdkBtGetMacAddr(szMac, sizeof(szMac)); } } else { ret = sdkBtClose(); if (ret == SDK_OK) { iopen = 0; if (ivisable == 1) ivisable = 0; sprintf(rslt, "�����豸�ѹر�\n"); } else { sprintf(rslt, "sdkBtClose failed=%d\n", ret); } } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); break; } case SDK_KEY_2: { memset(temp, 0, BUF_LEN); memset(rslt, 0, sizeof(rslt)); sdkTestPresetInputASC(temp, pTitle, "�豸����:", "bt123", 2, 64); ret = sdkBtSetName(temp); if (ret == SDK_OK) { memset(temp, 0, BUF_LEN); sdkTestPresetInputASC(temp, pTitle, "����PIN:", "123456", 6, 6); ret = sdkBtSetPin(temp); if (ret == SDK_OK) { sprintf(rslt, "�豸��Ϣ���óɹ�\n"); } else { get_error_str(rslt, ret, "sdkBtSetPin"); } } else { sprintf(rslt, "sdkBtSetName failed=%d\n", ret); } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); break; } case SDK_KEY_3: { memset(rslt, 0, sizeof(rslt)); if (ivisable == 0) { ret = sdkBtSetDiscoverable(true); if (ret == SDK_OK) { ivisable = 1; sprintf(rslt, "�����������豸�ɼ�"); } else { get_error_str(rslt, ret, "sdkBtSetDiscoverable"); } } else { ret = sdkBtSetDiscoverable(false); if (ret == SDK_OK) { ivisable = 0; sprintf(rslt, "�����������豸���ɼ�"); } else { get_error_str(rslt, ret, "sdkBtSetDiscoverable"); } } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); break; } case SDK_KEY_4: { memset(rslt, 0, sizeof(rslt)); for (; ;) { ret = sdkBtGetStatus(); switch (ret) { case SDK_BT_STATUS_IDLE: sprintf(rslt, "�豸��δ����", temp); break; case SDK_BT_STATUS_WORKING: case SDK_BT_STATUS_WAITING: sprintf(rslt, "�ȴ���������", temp); break; case SDK_ERR: case SDK_EIO: { memset(rslt, 0, sizeof(rslt)); sprintf(rslt, "sdkBtGetStatus failed=%d\n", ret); strcpy(pasOutInfo, rslt); goto end; } default: break; } sdkDispClearScreen(); sdkDispAt(0, 0, rslt); memset(temp1, 0, BUF_LEN); memset(rslt, 0, sizeof(rslt)); ret = sdkBtRead(temp1, BUF_LEN, 1000); if (ret < 0) { get_error_str(rslt, ret, "sdkBtRead"); } else if (ret > 0) { TraceHex("bt_test", "receive data", temp1, ret); sprintf(rslt, "��������len=%d, %s\r\n", ret, temp1); sdkBtWrite(temp1, ret, 0); } if (strlen(rslt) > 0) { sdkDispClearScreen(); sdkDispLabel(SDK_DISP_LINE2, rslt, SDK_DISP_LEFT_DEFAULT); } key2 = sdkKbWaitKey(SDK_KEY_MASK_ALL, 1000); if (key2 == SDK_KEY_CLEAR || key2 == SDK_KEY_ESC) { break; } } break; } case SDK_KEY_5: { memset(rslt, 0, sizeof(rslt)); memset(temp1, 0, BUF_LEN); sdkTestPresetInputASC(temp1, pTitle, "�����뷢�͵�����", "hello", 1, 127); ret = sdkBtWrite(temp1, strlen(temp1), 0); if (ret > 0) { sdkDispClearScreen(); sprintf(rslt, "��������=%s, len=%d\n", temp1, strlen(temp1)); } else { get_error_str(rslt, ret, "sdkBtWrite"); } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); break; } case SDK_KEY_6: { SDK_BT_REMOTE_INFO stRemote; memset(rslt, 0, sizeof(rslt)); memset(&stRemote, 0, sizeof(SDK_BT_REMOTE_INFO)); #if 0 ret = sdkBtGetRemoteInfo(&stRemote); if (ret == SDK_OK) { ret = sdkBtDisconnect(stRemote.m_addr); if(ret == SDK_OK) { sprintf(rslt, "�ѶϿ���%s������\n", stRemote.m_addr); } else { sprintf(rslt, "����sdkBtDisconnect failed, ret=%s\n", ret); } } else { sprintf(rslt, "����sdkBtGetRemoteInfoʧ�ܣ����ܻ�ȡ�����豸��MAC��ַ\n"); } #else ret = sdkBtDisconnect(szMac); if (ret == SDK_OK) { sprintf(rslt, "�ѶϿ�����\n"); if (ivisable == 1) ivisable = 0; } else { get_error_str(rslt, ret, "sdkBtDisconnect"); } #endif sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); break; } case SDK_KEY_7: { int ret; char *tmp_big = sdkGetMem(1024); if (tmp_big == NULL) break; memset(tmp_big, 0x61, 1023); tmp_big[1023] = '\0'; ret = sdkBtWrite(tmp_big, 1023, 0); if (ret < 0) { switch (ret) { case SDK_ERR: sprintf(rslt, "sdkBtWrite ����ʧ��\n"); break; case SDK_EIO: sprintf(rslt, "sdkBtWrite ����: �豸δ��\n"); break; case SDK_PARA_ERR: sprintf(rslt, "sdkBtWrite ����: ��������\n"); break; } } else { sprintf(rslt, "sdkBtWrite ����: ���ͳɹ���ret=%d\n", ret); } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); sdkFreeMem(tmp_big); break; } case SDK_KEY_8: { int ret; char *tmp_big = sdkGetMem(3072); if (tmp_big == NULL) break; memset(tmp_big, 0, 3072); ret = sdkBtRead(tmp_big, 3071, 30000); if (ret < 0) { switch (ret) { case SDK_ERR: sprintf(rslt, "sdkBtRead ����ʧ��\n"); break; case SDK_EIO: sprintf(rslt, "sdkBtRead ����: �豸δ��\n"); break; case SDK_PARA_ERR: sprintf(rslt, "sdkBtRead ����: ��������\n"); break; case SDK_TIME_OUT: sprintf(rslt, "sdkBtRead ����: ��ʱ����\n"); break; } } else { sprintf(rslt, "sdkBtRead ����: ���ճɹ���ret=%d\n", ret); } sdkDispMsgBox("��������", rslt, 0, SDK_KEY_MASK_ALL); sdkFreeMem(tmp_big); break; } case SDK_KEY_9: { int ret; sdkDispMsgBox("��������", "��������������", 0, SDK_KEY_MASK_ALL); sdkSysEnterIdle(1, 1); memset(rslt, 0, sizeof(rslt)); for (; ;) { ret = sdkBtGetStatus(); switch (ret) { case SDK_BT_STATUS_IDLE: sprintf(rslt, "�豸��δ����", temp); break; case SDK_BT_STATUS_WORKING: case SDK_BT_STATUS_WAITING: sprintf(rslt, "�ȴ���������", temp); break; case SDK_ERR: case SDK_EIO: { memset(rslt, 0, sizeof(rslt)); sprintf(rslt, "sdkBtGetStatus failed=%d\n", ret); strcpy(pasOutInfo, rslt); goto end; } default: break; } sdkDispClearScreen(); sdkDispAt(0, 0, rslt); memset(temp1, 0, BUF_LEN); memset(rslt, 0, sizeof(rslt)); ret = sdkBtRead(temp1, BUF_LEN, 1000); if (ret < 0) { get_error_str(rslt, ret, "sdkBtRead"); } else if (ret > 0) { TraceHex("bt_test", "receive data", temp1, ret); sprintf(rslt, "��������len=%d, %s\r\n", ret, temp1); sdkBtWrite(temp1, ret, 0); } if (strlen(rslt) > 0) { sdkDispClearScreen(); sdkDispLabel(SDK_DISP_LINE2, rslt, SDK_DISP_LEFT_DEFAULT); } key2 = sdkKbWaitKey(SDK_KEY_MASK_ALL, 1000); if (key2 == SDK_KEY_CLEAR || key2 == SDK_KEY_ESC) { break; } } break; } case SDK_KEY_0: sdkTest_BtTestManual2(pasOutInfo, pTitle); break; case SDK_KEY_ESC: case SDK_KEY_CLEAR: goto end; default: break; } } end: memset(temp, 0, BUF_LEN); // sdkBtGetMacAddr(temp, BUF_LEN); // sdkBtDisconnect(temp); if (iopen) { sdkBtClose(); } iopen = 0; ivisable = 0; if (temp) sdkFreeMem(temp); if (temp1) sdkFreeMem(temp1); return SDK_OK; }