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

📄 play_monitoring.c

📁 Sample code for use on smp 863x processor.
💻 C
字号:
/* * * Copyright (c) Sigma Designs, Inc. 2005. All rights reserved. * *//** * @file play_monitoring.c * @brief Simple application which demonstates the use of librmmonitoring. *  * @author Sylvain Garrigues */#include <stdio.h>#include <signal.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#define ALLOW_OS_CODE 1#include "../rmdef/rmdef.h"#include "../librmmonitoring/include/librmmonitoring.h"#define REFRESH_RATE_US 500000void stop(int);void usage(char *);void parse_cmdline(int, char **, RMuint32 *);RMbool stopped = FALSE;char *scalers[] = {"OSD scaler", "GFX scaler", "main video scaler", "VCR scaler", "CRT scaler", "subpicture scaler"};void usage(char *prog_name) {        printf("Usage: %s [-oscaler n]\nwhere n represents the scaler to use to display monitoring information:\n\                0: OSD scaler (default)   1: GFX scaler\n\                2: main video scaler      3: VCR scaler\n\                4: CRT scaler             5: subpicture scaler\n", prog_name);        exit(0);}void parse_cmdline(int argc, char *argv[], RMuint32 *pScaler) {       if (argc == 1)               *pScaler = 0;       else if (argc == 3)               if (strcmp("-oscaler", argv[1]) == 0) {                       if (strlen(argv[2]) > 1)                               usage(argv[0]);                       else if ('0' <= argv[2][0] && argv[2][0] <= '5')                               *pScaler = argv[2][0] - '0';                       else                               usage(argv[0]);               } else                       usage(argv[0]);                       else               usage(argv[0]);}void stop(int a){        puts("\nStopping monitoring.");        stopped = TRUE;}int main(int argc, char *argv[]){       RMstatus err;       RMuint32 scaler_index;       parse_cmdline(argc, argv, &scaler_index);              printf("Starting monitoring using %s.\n", scalers[scaler_index]);       err = start_monitoring(scaler_index);       if (RMFAILED(err)) {               fputs("Error starting monitoring.\n", stderr);               return 1;       }              signal(SIGINT, stop);              printf("Monitoring");       while (!stopped) {               update_monitoring();               usleep(REFRESH_RATE_US);       }              stop_monitoring();       if (RMFAILED(err)) {               fputs("Error stopping monitoring.\n", stderr);               return 1;       }       return 0;}

⌨️ 快捷键说明

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