⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 host20_ap_camera.c

📁 GM8120 linux driver.
💻 C
📖 第 1 页 / 共 2 页
字号:
   //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 + -