亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? controlcmdtab.cpp

?? 基于ARM的應用Source6
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*----------------------------------------------------------------------------
 *  Copyright (c) 2001 by National Semiconductor Corporation
 *  National Semiconductor Corporation
 *  2900 Semiconductor Drive
 *  Santa Clara, California 95051
 *
 *  All rights reserved
 *
 *<<<-------------------------------------------------------------------------
 * File Contents:
 *	controlCmdTab.cpp - this class defines Request test GUI tab. The request settings
 *					    are received from the user and are transfered to the ControlFunc class
 *
 *  Project: USB Demo Application
 *  Author : Yan Nosovitsky
 *  Date   : Dec 2001
 *----------------------------------------------------------------------->>>*/
// controlCmdTab.cpp : implementation file
//

#include "stdafx.h"
#include "Demo.h"
#include "controlCmdTab.h"
#include "USBDriver.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


const CString ReqString[REQUEST_NUM] = 
	{
	"GET_CONFIGURATION",
	"GET_DESCRIPTOR",
	"GET_INTERFACE"
	};

const CString DescValString[DESC_VAL_NUM] =
	{
	"DEVICE",
	"CONFIGURATION",
	"STRING"
	};

/////////////////////////////////////////////////////////////////////////////
// controlCmdTab dialog


controlCmdTab::controlCmdTab(CWnd* pParent /*=NULL*/)
	: CDialog(controlCmdTab::IDD, pParent)
{
	//{{AFX_DATA_INIT(controlCmdTab)
	//}}AFX_DATA_INIT
	controlFunc = new ControlFunc();
}


void controlCmdTab::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(controlCmdTab)
	DDX_Control(pDX, IDC_REQUEST_TREE, m_requestTree);
	DDX_Control(pDX, IDC_DESC_TYPE_STATIC, m_descTypeStatic);
	DDX_Control(pDX, IDC_GO_BUTTON, m_goButton);
	DDX_Control(pDX, IDC_DESC_TYPE_COMBO, m_descTypeCombo);
	DDX_Control(pDX, IDC_DESC_INDEX_STATIC, m_descIndexStatic);
	DDX_Control(pDX, IDC_DESC_INDEX_COMBO, m_descIndexCombo);
	DDX_Control(pDX, IDC_VALUE_COMBO, m_valueCombo);
	DDX_Control(pDX, IDC_REQUEST_COMBO, m_requestCombo);
	DDX_Control(pDX, IDC_LENGTH_COMBO, m_lengthCombo);
	DDX_Control(pDX, IDC_INDEX_COMBO, m_indexCombo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(controlCmdTab, CDialog)
	//{{AFX_MSG_MAP(controlCmdTab)
	ON_CBN_SELENDOK(IDC_REQUEST_COMBO, OnSelendokRequestCombo)
	ON_BN_CLICKED(IDC_GO_BUTTON, OnGoButton)
	ON_CBN_SELENDOK(IDC_DESC_INDEX_COMBO, OnSelendokDescIndexCombo)
	ON_CBN_SELENDOK(IDC_DESC_TYPE_COMBO, OnSelendokDescTypeCombo)
	ON_CBN_SELENDOK(IDC_INDEX_COMBO, OnSelendokIndexCombo)
	ON_CBN_SELENDOK(IDC_LENGTH_COMBO, OnSelendokLengthCombo)
	ON_CBN_SELENDOK(IDC_VALUE_COMBO, OnSelendokValueCombo)
	ON_COMMAND(IDCANCEL, OnCancel)
	ON_COMMAND(IDOK, OnOK)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// controlCmdTab message handlers

void controlCmdTab::OnSelendokRequestCombo() 
{
	int i;


	ReqType req = (ReqType)m_requestCombo.GetCurSel();
	
	m_valueCombo.ResetContent();
	m_lengthCombo.ResetContent();
	m_indexCombo.ResetContent();
	m_descIndexCombo.ResetContent();
	m_descTypeCombo.ResetContent();

	switch (req)
	{
	case GET_CONF:
	case GET_INT:
		m_descIndexCombo.ShowWindow(SW_HIDE);
		m_descIndexStatic.ShowWindow(SW_HIDE);
		m_descTypeCombo.ShowWindow(SW_HIDE);
		m_descTypeStatic.ShowWindow(SW_HIDE);
	
		if (req == GET_CONF)
		{
			curRequest = GET_CONFIGURATION;
			curReqType = DEV_TO_HOST_STAND_DEV;
		}
		else
		{
			curRequest = GET_INTERFACE;
			curReqType = DEV_TO_HOST_STAND_INT;
		}

		m_valueCombo.ShowWindow(SW_SHOW);
		m_valueCombo.AddString("0");
		m_valueCombo.SetCurSel(0);
		m_valueCombo.EnableWindow(FALSE);
		curwValue = 0;
		m_indexCombo.AddString("0");
		m_indexCombo.SetCurSel(0);
		m_indexCombo.EnableWindow(FALSE);
		curwIndex = 0;
		m_lengthCombo.AddString("1");
		m_lengthCombo.SetCurSel(0);
		m_lengthCombo.EnableWindow(FALSE);
		curwLength = 1;
		m_goButton.EnableWindow(TRUE);
		break;
	case GET_DESC:
		m_goButton.EnableWindow(FALSE);
		m_descIndexCombo.ShowWindow(SW_SHOW);
		m_descIndexStatic.ShowWindow(SW_SHOW);
		m_descTypeCombo.ShowWindow(SW_SHOW);
		m_descTypeStatic.ShowWindow(SW_SHOW);
		m_valueCombo.ShowWindow(SW_HIDE);
		m_descTypeCombo.EnableWindow(TRUE);
		curRequest = GET_DESCRIPTOR;
		curReqType = DEV_TO_HOST_STAND_DEV;
		for (i = 0; i< DESC_VAL_NUM; i++)
			m_descTypeCombo.AddString(DescValString[i]);

		break;
	}

}



void controlCmdTab::OnGoButton() 
{
	BYTE *buffer;
	int dataLength;

	USBDriver *curUSBDriver = USBDriver::GetUSBDriver();
	if (curUSBDriver->IsUSBDriverHaveError())
	{
		MessageBox(curUSBDriver->GetErrorDescriptor(),"Error",MB_ICONERROR | MB_OK);
		return;
	}

	if (curUSBDriver->IsBulkOutTestRun())
	{
		/* Bulk OUT test run */
		MessageBox("Cannot process current command.\nWait until Bulk OUT test is finished.","Error",MB_ICONERROR | MB_OK);
		return;
	}

	if ((buffer = (BYTE *)malloc(curwLength)) == NULL)
	{
		MessageBox("Cannot allocate memory for input buffer","Error",MB_ICONERROR | MB_OK);
		return;
	}			

	if ((dataLength = controlFunc->ProcessStandardRequest(curReqType,curRequest,curwValue,curwIndex,curwLength,buffer))==0xffffffff)
	{
		MessageBox("Cannot process current command.\nPlease check USB connection.","Error",MB_ICONERROR | MB_OK);
		free(buffer);
		return;
	}

	m_requestTree.DeleteAllItems();
	CString field;
	HTREEITEM hDesc;
	switch (curRequest)
	{
	case GET_DESCRIPTOR:
		switch ((curwValue & 0xff00)>>8)
		{
		case DEVICE:
	//		font = m_requestTree.GetFont();
			{
			hDesc = m_requestTree.InsertItem("Device Descriptor",TVI_ROOT);
			if (dataLength < sizeof(USB_device_desc_t))
			{
				m_requestTree.InsertItem("Data size less then size of device Descriptor",hDesc);
				break;
			}
			USB_device_desc_t* deviceDesc = (USB_device_desc_t *)buffer;
			field.Format(_T("bLength.....%d"),deviceDesc->bLength);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bDescriptorType.....%d"),deviceDesc->bDescriptorType);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bcdUSB.....%d"),deviceDesc->bcdUSB);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bDeviceClass.....%d"),deviceDesc->bDeviceClass);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bDeviceSubClass.....%d"),deviceDesc->bDeviceSubClass);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bDeviceProtocol.....%d"),deviceDesc->bDeviceProtocol);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bMaxPacketSize.....%d"),deviceDesc->bMaxPacketSize);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("idVendor.....%d"),deviceDesc->idVendor);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("idProduct.....%d"),deviceDesc->idProduct);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bcdDevice.....%d"),deviceDesc->bcdDevice);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("iManufacturer.....%d"),deviceDesc->iManufacturer);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("iProduct.....%d"),deviceDesc->iProduct);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("iSerialNumber.....%d"),deviceDesc->iSerialNumber);
			m_requestTree.InsertItem(field,hDesc);
			field.Format(_T("bNumConfigs.....%d"),deviceDesc->bNumConfigs);
			m_requestTree.InsertItem(field,hDesc);
			break;
			}
		case CONFIGURATION:
			{
				/* Print Configuration Descriptor */
			hDesc = m_requestTree.InsertItem("Configuration Descriptor",TVI_ROOT);
			if (dataLength < SIZEOF_USB_CONF_DESC)
			{
				m_requestTree.InsertItem("Data length less then size of Config. Descriptor",hDesc);
				break;
			}
			USB_config_desc_t* configDesc = (USB_config_desc_t *)buffer;
			buffer += configDesc->bLength;
			dataLength -= configDesc->bLength;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区精品字幕| 日韩在线播放一区二区| 亚洲另类在线一区| 美女国产一区二区三区| 99热这里都是精品| 精品久久久久av影院| 亚洲色图丝袜美腿| 国产精品一区二区久久精品爱涩| 在线观看视频91| 亚洲国产精品99久久久久久久久 | 欧美三级欧美一级| 国产亚洲欧美一级| 美腿丝袜亚洲色图| 精品视频全国免费看| 日韩二区在线观看| 欧美影院一区二区三区| 国产精品久久福利| 国产高清成人在线| 欧美videos中文字幕| 日韩激情av在线| 欧美色图免费看| 亚洲精品少妇30p| 91亚洲午夜精品久久久久久| www精品美女久久久tv| 午夜欧美一区二区三区在线播放| 亚洲精品日韩一| 成人av网在线| 久久欧美一区二区| 日韩av电影免费观看高清完整版 | 制服丝袜成人动漫| 国产偷国产偷精品高清尤物| 国产精品入口麻豆原神| 亚洲一区二区三区四区五区黄| 国产成人精品亚洲日本在线桃色| 欧美精品一二三四| 国产精品不卡一区二区三区| 不卡影院免费观看| 日韩一级免费一区| 亚洲第一激情av| 欧美伊人精品成人久久综合97| 国产精品国产三级国产有无不卡| 激情文学综合丁香| 日韩视频免费观看高清在线视频| 亚洲一区二区视频在线观看| 波多野结衣在线一区| 久久久久久久久久久久电影 | 欧洲色大大久久| 国产精品久久久久久久第一福利 | 成人午夜电影久久影院| 精品国产免费人成电影在线观看四季| 极品美女销魂一区二区三区免费| 在线观看av一区| 亚洲精品日日夜夜| 欧美亚洲一区二区在线| 国产精品久久久久久久第一福利| 成人黄色综合网站| 中文字幕欧美国产| 91一区二区三区在线观看| 中文字幕精品一区二区精品绿巨人| 国产精品自在在线| 国产精品久久久久影院老司| 高清不卡一区二区| 中文字幕在线不卡一区| 99久久综合狠狠综合久久| 中文字幕一区二区三区不卡| 处破女av一区二区| 亚洲婷婷综合色高清在线| 色综合久久天天| 天天影视网天天综合色在线播放| 欧美一级欧美一级在线播放| 国产一区二区三区蝌蚪| 国产欧美一区视频| 色婷婷久久久亚洲一区二区三区 | 91理论电影在线观看| 一区二区三区在线视频免费| 欧美三级欧美一级| 国产在线不卡一卡二卡三卡四卡| 中文一区二区完整视频在线观看 | 亚洲综合色自拍一区| 7777精品伊人久久久大香线蕉的| 狠狠色丁香婷婷综合| 国产精品久久久久桃色tv| 欧美三级中文字幕在线观看| 久久精品国产亚洲aⅴ| 国产精品久久毛片av大全日韩| 欧美在线观看禁18| 国产一区二区三区四| 亚洲最大的成人av| 欧美xxxxxxxx| 在线亚洲高清视频| 麻豆高清免费国产一区| 亚洲综合色区另类av| 久久久久9999亚洲精品| 在线免费不卡视频| 国产盗摄一区二区| 婷婷亚洲久悠悠色悠在线播放 | 裸体在线国模精品偷拍| 日韩一区在线看| 欧美视频中文字幕| 日本三级亚洲精品| 亚洲午夜电影在线观看| 欧美国产日本韩| 欧美丰满嫩嫩电影| 99久久精品免费看国产| 免费欧美日韩国产三级电影| 亚洲欧美自拍偷拍| 日韩三级精品电影久久久| 91老师片黄在线观看| 国产精品一区二区三区99| 午夜视频在线观看一区二区| 中文字幕一区二区三区不卡在线| 精品国产制服丝袜高跟| 欧美自拍偷拍一区| 成人免费观看av| 国产在线一区二区| 日韩电影在线观看电影| 一区二区三区四区在线播放| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产日韩欧美精品一区| 欧美人狂配大交3d怪物一区| 国产一区二区三区四区五区入口| 久久精品久久精品| 午夜精品久久久久影视| 亚洲精品美腿丝袜| 成人欧美一区二区三区白人| 精品区一区二区| 欧美喷潮久久久xxxxx| 欧美性xxxxxxxx| 欧美色爱综合网| 欧美日韩电影在线| 欧美日韩黄视频| 欧美亚洲动漫精品| 在线看国产一区| 欧美性大战久久久久久久蜜臀| 91免费看`日韩一区二区| av电影在线观看完整版一区二区| 国产专区欧美精品| 国产在线看一区| 国内一区二区视频| 国产毛片精品视频| 国产乱子轮精品视频| 成人开心网精品视频| www.日韩精品| 欧美日韩aaa| 日韩欧美一区二区视频| 色综合激情五月| 欧美丝袜丝交足nylons图片| 欧美一区日本一区韩国一区| 精品国产麻豆免费人成网站| 欧美国产综合色视频| 国产精品福利影院| 亚洲精品成人精品456| 一区二区三区在线影院| 日韩精品一区第一页| 亚洲一区影音先锋| 亚洲成人免费看| 三级精品在线观看| 91美女福利视频| 在线观看91精品国产入口| 欧美日韩电影在线播放| 2022国产精品视频| 国产精品丝袜在线| 亚洲一级二级在线| 亚洲福利视频三区| 国产一区视频在线看| 91麻豆福利精品推荐| 欧美一区二区三区视频在线观看 | 中文字幕av一区二区三区| 日韩毛片精品高清免费| 日本视频中文字幕一区二区三区| 日本成人在线视频网站| 久久精品国产久精国产爱| 99热99精品| 欧美一区二区三区精品| 中文在线一区二区 | 亚洲精品成人悠悠色影视| 日韩av一区二区三区| av男人天堂一区| 欧美一区二区高清| 1024成人网| 久久国内精品视频| 色综合久久久久久久久| 欧美大黄免费观看| 国产亚洲欧美日韩俺去了| 国产清纯白嫩初高生在线观看91 | 国产精品色一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 精品一区二区三区免费毛片爱 | 精品捆绑美女sm三区| 亚洲视频免费在线| 韩国视频一区二区| 欧美日韩黄色影视| 亚洲欧洲三级电影| 国产精品白丝jk黑袜喷水| 欧美日韩国产首页| 亚洲免费观看高清完整版在线观看熊| 国产资源精品在线观看| 日韩视频一区在线观看| 亚洲不卡一区二区三区| 91视频在线观看|