コード例 #1
0
ファイル: ap_usb.c プロジェクト: wythe-lin/ZTKVR
INT32U usbdvendor_callback(void)
{
 	int i;
	unsigned int   Command_Value;
	
	if (GetCMDValueEx(29)!='G' || GetCMDValueEx(30)!='P')
	{
		CommandFail(0x27);
		return 0;
	}
	Command_Value = (GetCMDValueEx(15) << 8  | GetCMDValueEx(16) );
	
    Sense_Code =0x1a;
	
	switch (Command_Value )
	{
	 	case 0xF000:
 		    return 0;
		case 0xF001:  //get lun
			GetDriveStatus();
			return 0;

		case 0xF010:				//Read IC info
			GetICVersion();
			return 0;
		case 0xFFF0:
		case 0xF0F0:
			 SetVenderID();
			 ConfirmPass = 1;
			return 0;
		case 0xFFEE:
			if (i == GetCMDValueEx(25))
				ConfirmPass = 1;		//backdoor -_-|||
		    return 0;
    }
    if (ConfirmPass == 0) 	CommandFail(0x1A);
	
    switch (Command_Value )
	{
		case 0xF0FF:
			usb_time_set();
			CSW_Residue=0;
			break;
		default:
			CommandFail(0x1A);
			break;
	}

	return 0;
}
コード例 #2
0
ファイル: USBD_Export.c プロジェクト: billev/literacybridge
void VendorCmd_CallBack()
{
	
	CommandFail(0x1A);	//unsupport command
}