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

📄 srcfilter.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 2 页
字号:
#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_GetTrackInfo(bTrackNum, pTrackCtl, pStartPos);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_GetTrackInfo(bTrackNum, pTrackCtl, pStartPos);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;}BYTE SrcFilter_ReadTOC( BYTE bTemp){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_ReadTOC(bTemp);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_ReadTOC(bTemp);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }/*--Brian1.15  // CoCo, reduce code size.BYTE SrcFilter_Monitor(){    //if (__bSFSourceID == SOURCE_ATAPI)    // {    //     return TRUE;    //     return ATAPI_Monitor();    // }    // do nothing, should remove this function    return TRUE;}*//*Brian1.15  // CoCo, reduce code size.BYTE SrcFilter_CheckDiscEnding(){     BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_CheckDiscEnding();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_CheckDiscEnding();            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }*//*Brian1.15  // CoCo, reduce code size.//  **********************************************************BYTE SrcFilter_ReadDiscKey(){     BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_ReadDiscKey();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_ReadDiscKey();            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }*/WORD    SrcFilter_GetDiscType(){    switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            return ATAPI_GetDiscType();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            return SERVO_GetDiscType();            break;#endif        default:            //printf{("Invalid Source\n");    }    return BOOK_UNKNOW;    }BYTE SrcFilter_CheckTrayStatus(void){     BYTE bResult = SRC_TRAY_CLOSED;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_CheckTrayStatus();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_CheckTrayStatus();            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;}BOOL    SrcFilter_EnableRunning ( BYTE bGo ){    return FALSE;}// wyc1.06-909, support SERVO resume function from STOP mode.BYTE SrcFilter_Seek (DWORD dwSeekLBA, BYTE  bResumeRead){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_Seek(dwSeekLBA, bResumeRead);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_Seek( (ULONG_UNION) dwSeekLBA, bResumeRead );            break;#endif        default:            //printf{("Invalid Source\n");    }    // wyc1.06-909, seek will wake up source, so need to set __bSFSourcePWDown to FALSE.    __bSFSourcePWDown = FALSE;    return bResult;}BYTE SrcFilter_ReadTitleKey(DWORD dwSectorNumber, BYTE bStore){     BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_ReadTitleKey(dwSectorNumber, bStore);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_ReadTitleKey(dwSectorNumber, bStore);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }BYTE SrcFilter_GetTrackEnd(BYTE bTrackNum, PDWORD pLength){     BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_GetTrackEnd(bTrackNum, pLength);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_GetTrackEnd(bTrackNum, pLength);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;}BYTE SrcFilter_SetTitleKey(BYTE bStore){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_SetTitleKey(bStore);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_SetTitleKey(bStore);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }BYTE SrcFilter_ResetRecover (BYTE bNeedStable){     BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_ResetRecover(bNeedStable);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            /* Brian1.15  // CoCo, reduce code size.            bResult = SERVO_ResetRecover(bNeedStable);            break;            */            return FALSE; //Brian1.15  // CoCo, reduce code size.#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }BYTE SrcFilter_GetDiscLength(PDWORD pLength){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_GetDiscLength(pLength);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_GetDiscLength(pLength);            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;    }BYTE SrcFilter_Abort(void){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_Abort();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_Abort();            break;#endif        // wyc1.01-909, add USB source function in srcfilter.#ifdef SUPPORT_USB_SOURCE        case SOURCE_USB0_0:            bResult = USBSRC_Abort();            break;#endif        default:            //printf{("Invalid Source\n");    }    return bResult;}BYTE SrcFilter_GetStatus(BYTE bSrcIndex){    BYTE bResult = FALSE;    if (bSrcIndex == 0xFF)    {        switch (GET_SOURCE_ID(__dwSFStreamID))        {#ifdef SUPPORT_ATAPI_SOURCE            case SOURCE_ATAPI:                bResult = ATAPI_GetStatus();                break;#endif#ifdef SUPPORT_SERVO_SOURCE            case SOURCE_SERVO:                bResult = SERVOFilter_GetStatus();                break;#endif#ifdef SUPPORT_USB_SOURCE            case SOURCE_USB0_0:                bResult = USBSRC_GetUSBSRCStatus(SOURCE_USB0_0);                break;#endif            default:                //printf{("Invalid Source\n");        }    }    else    {        switch (bSrcIndex)        {#ifdef SUPPORT_SERVO_SOURCE            case SOURCE_SERVO:                bResult = SERVOFilter_GetStatus();                break;#endif //#ifdef SUPPORT_USB_SOURCE            case SOURCE_USB0_0:                bResult = USBSRC_GetUSBSRCStatus(SOURCE_USB0_0);                break;#endif //            default:                break;        }    }    return bResult;    }void SrcFilter_ClearState(void){#ifdef SUPPORT_USB_SOURCE        USBSRC_ClearUSBSRCState();#endif}BYTE SrcFilter_PowerMode (BYTE bMode){    BYTE bResult = FALSE;     switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            bResult = ATAPI_PowerMode(bMode);            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            bResult = SERVO_PowerMode(bMode);            break;#endif        default:            //printf{("Invalid Source\n");    }    // wyc1.06-909, set to TRUE to represent SERVO stop mode.    __bSFSourcePWDown = TRUE;    return bResult;}void    SRCFilter_ThreadDelete(void){    switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            ATAPI_ThreadDelete();            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            break;#endif#ifdef SUPPORT_USB_SOURCE        case SOURCE_USB0_0:            return USBSRC_ThreadDelete();            break;#endif        default:            //printf{("Invalid Source\n");    }}// F100CSC_102, BEGIN// This function only turns on the flag when issue command to SERVO and ask SERVO to flush its CACHEvoid    SRCFilter_EnableCacheFlush( void ){#ifdef SUPPORT_SERVO_SOURCE    SERVO_EnableCacheFlush( );#endif //    return;}// F100CSC_102, END// wyc1.05-909, add one functino for dump data from source.// ***********************************************************************//  Function    :   SRCFilter_DumpData//  Description :   Dump the data to specific pointer address from source by calling USB function directly.//  Arguments   :   dwSecNO: The dump location(logical location). dwNum: The dump sector num(Parser sector unit, 2048 bytes).//              :   pFATTable: The dumped pointer.//  Return      :   TRUE/FALSE//  Side Effect :// ***********************************************************************BYTE SRCFilter_DumpData(DWORD dwSecNO, DWORD dwNum, DWORD* pFATBuff){#ifdef SUPPORT_USB_SOURCE    // wyc1.07-909, modify 3th parameter to DWORD* for support FAT32    return USBSRC_DumpData(dwSecNO, dwNum, (DWORD*)(pFATBuff));#endif //    //return TRUE;}// wyc1.20-909, new function to dump data from USB source to read USB data.// ***********************************************************************//  Function    :   SRCFilter_DumpDatabySource//  Description :   Dump the data to specific pointer address from source by wait USBSRC to call USB function to read data.//  Arguments   :   dwSecNO: The dump location(logical location). dwNum: The dump sector num(Parser sector unit, 2048 bytes).//              :   pFATTable: The dumped pointer.//  Return      :   TRUE/FALSE//  Side Effect :// ***********************************************************************BYTE SRCFilter_DumpDatabySource(DWORD dwSecNO, DWORD dwNum, DWORD* pFATBuff){#ifdef SUPPORT_USB_SOURCE    // wyc1.07-909, modify 3th parameter to DWORD* for support FAT32    return USBSRC_DumpDatabySource(dwSecNO, dwNum, (DWORD*)(pFATBuff));#endif //    //return TRUE;}// wyc2.05-909S, add one new function to exit source mode.// ***********************************************************************//  Function    :   SRCFilter_ExitSource//  Description :   Exit the source mode to avoid some H/W still active to affect other module.//  Arguments   :   None//  Return      :   TRUE/FALSE//  Side Effect :// ***********************************************************************BYTE SRCFilter_ExitSource(void){    switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_ATAPI_SOURCE        case SOURCE_ATAPI:            break;#endif#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            break;#endif#ifdef SUPPORT_USB_SOURCE        case SOURCE_USB0_0:            USBSRC_HCExit();            break;#endif        default:            //printf{("Invalid Source\n");    }    return TRUE;}// wyc2.37-909s, function to force usbsrc to exit running H/W functions.BYTE SRCFilter_USBSRCExit(void){    return USBSRC_SRCExit();}// Added by J500CSC_218, support F/W to update source ID indexBOOL    SrcFilter_ChangeSourceID( DWORD dwStreamIdx, BYTE bSourceIdx ){    if( dwStreamIdx >= MAX_STREAM_COUNT )    {        return FALSE;    }    __SF_SourceGBL[dwStreamIdx].bSourceIndex = bSourceIdx;    return TRUE;}// J200Aron_231, to check source is ready or notextern BYTE SRVIF_MpegCheckServo(void);BOOL  SrcFilter_CheckSrcReady(VOID){    switch (GET_SOURCE_ID(__dwSFStreamID))    {#ifdef SUPPORT_SERVO_SOURCE        case SOURCE_SERVO:            if (!SRVIF_MpegCheckServo())            {                return FALSE;            }            break;#endif                default:    }    return TRUE;}BYTE SrcFilter_TriggerUSBSRCCmd(BYTE flag, DWORD dwCmd){	return USBSRC_TriggerCmdAPI(flag, dwCmd);}BYTE SrcFilter_PeekUSBSRCCmd(BYTE flag, DWORD dwCmd){	return USBSRC_PeekCmdAPI(flag, dwCmd);}void SrcFilter_ClearUSBSRCCmd(BYTE flag, DWORD dwCmd){	USBSRC_ClearCmdAPI(flag, dwCmd);}//wyc2.78-909P, function to issue command for usbsrc to config the OTG mode.void SrcFilter_SetOTGMode(BYTE bUSBOTGMode){#if (USB_SYSTEM == USB2_0_JUNGO)        USBSRC_SetOTGMode(bUSBOTGMode);#endif //}BYTE SrcFilter_GetOTGMode(void){#if (USB_SYSTEM == USB2_0_JUNGO)        return USBSRC_GetOTGMode();#endif //}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -