📄 host20_ap_camera.c
字号:
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 + -