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

📄 drgbaud.c

📁 Equator 公司BSP-15 DSP开发平台所有驱动程序源码
💻 C
字号:
/***** Copyright (c) 2002 Equator Technologies, Inc.**//******************************************************************************  FILENAME: drgbaud.c******  DESCRIPTION:***    Combined test application for Digital RGB (via DRC and video display driver Vdis) and Audio.******    The source and target image is always 800 x 600. ***    The output can be directed to RGB out for comparison.******    Sample command lines:******         drgbout "vga" <pattern=1,2,3> <time=n (seconds, 0 to run forever)***         drgbout "lcd12" <pattern> <time>***         drgbout "lcd18" <pattern> <time>***         drgbout "lcd24" <pattern> <time>***************************************************************************/#include <eti/drv.h>// Macro for checking a driver return code#define CHECK_RC(rc, fnname) \    if (ETIDRV_CHECK_ERROR(rc)) { \        printf(fnname ## " failed, error = 0x%08x\n", rc); \        exit(1); \    }// Main processing functionSCODE ProcessDRGB_Audio(int bUseLcd, int iDstWidth, int iDstHeight,                        int iRefresh, int pattern, int duration,                        int lcdBpp){    SCODE err = ETIDRV_OK;    int forever;    int iCount;    err = InitDRGB(bUseLcd, iDstWidth, iDstHeight, iRefresh, pattern, duration, lcdBpp);    CHECK_RC(err, "InitDRGB");    err = InitAudio(iRefresh);    // Wait until duration seconds worth of frames have been displayed    //    iCount = duration * iRefresh;    forever = (iCount==0);    while (forever || iCount--) {      err = ProcessDRGBSingle();      CHECK_RC(err, "ProcessDRGBSingle");      err = ProcessAudioSingle();      CHECK_RC(err, "ProcessAudioSingle");    }    err = CloseDRGB();    CHECK_RC(err, "CloseDRGB");    err = CloseAudio();    CHECK_RC(err, "CloseAudio");    return err;}static void usage(void) {    printf("usage: drgbaud {\"lcd\"|\"lcd{24|18|12}\"|\"vga\"} pattern time\n");    printf("  pattern=1 for checkerboard, 2 for gradient, 3 for bits[3:0]), 4 for bits[7:4]\n");    printf("  time = duration of test (seconds), 0 = forever\n");}SCODE drgbaud (unsigned char *dev, int pattern, int duration){    SCODE err;    if (pattern < 1 || pattern > 4) {        printf ("Invalid pattern %d\n", pattern);        usage();        exit(1);    }    printf("Digital RGB and Audio test application\n");    if (duration == 0) {        printf ("Run forever\n");    } else {        printf ("Run for %d seconds\n", duration);    }    if ((strcmp(dev,"lcd24")==0) || strcmp(dev,"LCD24")==0) {        err = ProcessDRGB_Audio(1, 800, 600, 60, pattern, duration, 24);    } else if ((strcmp(dev,"lcd18")==0) || strcmp(dev,"LCD18")==0) {        err = ProcessDRGB_Audio(1, 800, 600, 60, pattern, duration, 18);    } else if ((strcmp(dev,"lcd12")==0) || strcmp(dev,"LCD12")==0) {        err = ProcessDRGB_Audio(1, 800, 600, 60, pattern, duration, 12);    } else if ((strcmp(dev,"lcd")==0) || strcmp(dev,"LCD")==0) {        err = ProcessDRGB_Audio(1, 800, 600, 60, pattern, duration, 24);    } else if ((strcmp(dev,"vga")==0) || strcmp(dev,"VGA")==0) {        err = ProcessDRGB_Audio(0, 800, 600, 60, pattern, duration, 0);    } else {        usage();        exit(1);    }    return err;}#ifndef RTOS// Command line entry pointint main(int argc, char *argv[]){    SCODE err;    int pattern, duration;    unsigned char *dev;    if (argc < 4) {        usage();        exit(1);    }    dev = (unsigned char *)argv[1];    pattern = atoi(argv[2]);    duration = atoi(argv[3]);    err = drgbaud (dev, pattern, duration);    exit (err == ETIDRV_OK ? 0 : 1);}#endif

⌨️ 快捷键说明

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