📄 drgbaud.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 + -