📄 host20_ap_camera.c
字号:
//Camera_Command_52//Out 1 byte (0x00) //In 0 byte bDumyDataBuffer[0]=0x00; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_52,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_53//In 0 byte bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_53,0 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,1);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_54//Out 12 byte () //In 0 byte bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_54,12 //bEdNum,UINT8* pbCmd,hwDataSize ,Camera_Command_54_Data,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_55//Out 1 byte (0x00) //In 0 byte bDumyDataBuffer[0]=0x00; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_55,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_56//Out 1 byte (0x01) //In 0 byte bDumyDataBuffer[0]=0x01; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_56,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_57//In 0 byte bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_57,0 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,1);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_58//Out 1 byte (0x00) //In 0 byte bDumyDataBuffer[0]=0x00; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_58,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_59//In 0 byte bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_59,0 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,1);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_60//Out 12 byte //In 0 byte bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_60,12 //bEdNum,UINT8* pbCmd,hwDataSize ,Camera_Command_60_Data,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_61//Out 1 byte (0x6D)//In 0 byteSet bDumyDataBuffer[0]=0x6D; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_61,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } //Camera_Command_63//Out 1 byte (0x6D)//In 0 byteSet bDumyDataBuffer[0]=0x00; bResult=flib_Host20_Issue_Control_ByMode (1,Camera_Command_63,1 //bEdNum,UINT8* pbCmd,hwDataSize ,bDumyDataBuffer,2);//UINT8* pbData,UINT8 bModeSelect if (bResult>0) { printf(">>> 'Camera Set' Control Transfer Error...\n"); while(1); } printf(">>> Issue ISO-In 895 bytes Transfer...\n"); //Issue In895 bytes // flib_Host20_ISO_Init(); pbData=flib_Host20_GetStructure(Host20_MEM_TYPE_4K_BUFFER); mbHost20_USBCMD_AsynchronousEnable_Clr(); // flib_Host20_TimerEnable(500); flib_Host20_Issue_ISO_FixBufferMode_Init(5,895//wEndPt,wMaxPacketSize ,pbData,0,OTGH_Dir_IN);//,UINT32 *pwBufferArray,wOffset,bDirection) bCounter=0;// bTemp=8; mwHost20_USBINTR_CompletionOfTransaction_Clr(); do{ for (i=0;i<10;i++) wDummyTemp++; //if (gwLastiTDSendOK>0) if (mwHost20_USBSTS_CompletionOfTransaction_Rd()>0) { bCounter++; mwHost20_USBSTS_CompletionOfTransaction_Set(); flib_Host20_Issue_ISO_FixBufferMode_ISR(); if (bCounter==1) { printf(">>> ISO In Counter = %d(*512 iTD)(Current_Num=%d)\n",sISOFixBufferMode.wReceiveCounter,sISOFixBufferMode.CurrentiTDNum); bCounter=0; } gwLastiTDSendOK=0; } if (bCounter==10) { bCounter=0; flib_Host20_Periodic_Setting(HOST20_Disable); flib_Host20_Issue_ISO_FixBufferMode_Close(); flib_Host20_Issue_ISO_FixBufferMode_Init(5,895//wEndPt,wMaxPacketSize ,pbData,0,OTGH_Dir_IN);//,UINT32 *pwBufferArray,wOffset,bDirection) } //For Debug if (bCounter==100) { for (i=0;i<1024;i++) { spTempiTD=sAttachDevice.wISOiTDAddress[i]; if (((spTempiTD->ArrayStatus_Word[0].bStatus)&HOST20_iTD_Status_Active)>0) { printf("??? Active Error , iTD Address=0x%x / iTD_Num=%d)... \n",(UINT32)(spTempiTD),i); } if (((spTempiTD->ArrayStatus_Word[0].bStatus)&HOST20_iTD_Status_DataBufferError)>0) { printf("??? DataBuffer Error , iTD Address=0x%x / iTD_Num=%d)... \n",(UINT32)(spTempiTD),i); } if (((spTempiTD->ArrayStatus_Word[0].bStatus)&HOST20_iTD_Status_BabbleDetect)>0) { printf("??? BabbleDetect Error , iTD Address=0x%x / iTD_Num=%d)... \n",(UINT32)(spTempiTD),i); } if (((spTempiTD->ArrayStatus_Word[0].bStatus)&HOST20_iTD_Status_TransctionError)>0) { printf("??? Transction Error , iTD Address=0x%x / iTD_Num=%d)... \n",(UINT32)(spTempiTD),i); } } } }while(1); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -