106 lines
2.8 KiB
C
Executable File
106 lines
2.8 KiB
C
Executable File
//Self
|
|
#include "GxDisplay.h"
|
|
#include "GxDisplay_int.h"
|
|
#include "kwrap/cmdsys.h"
|
|
#include "kwrap/sxcmd.h"
|
|
#include <kwrap/stdio.h>
|
|
#include "DL.h"
|
|
|
|
BOOL Cmd_gxdisp_dump(unsigned char argc, char **argv);
|
|
BOOL Cmd_gxdisp_dumpbuf(unsigned char argc, char **argv);
|
|
BOOL Cmd_gxdisp_on(unsigned char argc, char **argv);
|
|
BOOL Cmd_gxdisp_off(unsigned char argc, char **argv);
|
|
|
|
static SXCMD_BEGIN(gxdisp_cmd_tbl, "video device input control")
|
|
SXCMD_ITEM("dump", Cmd_gxdisp_dump, "dump info")
|
|
SXCMD_ITEM("dumpbuf %", Cmd_gxdisp_dumpbuf, "dump buffer devl layer")
|
|
SXCMD_ITEM("on %", Cmd_gxdisp_on, "enable dev layer")
|
|
SXCMD_ITEM("off %", Cmd_gxdisp_off, "disable dev layer")
|
|
SXCMD_END()
|
|
|
|
BOOL Cmd_gxdisp_dump(unsigned char argc, char **argv)
|
|
{
|
|
//GxDisplay_DumpInfo();
|
|
return TRUE;
|
|
}
|
|
BOOL Cmd_gxdisp_dumpbuf(unsigned char argc, char **argv)
|
|
{
|
|
UINT32 dev_id, layer_id;
|
|
INT32 ret=0;
|
|
sscanf_s(argv[0], "%lu", (UINT32 *)&dev_id);
|
|
sscanf_s(argv[1], "%lu", (UINT32 *)&layer_id);
|
|
DBG_DUMP("dump buffer: dev[%d], layer[%d]\n\r", dev_id, layer_id);
|
|
if ((dev_id >= 2) || (layer_id >= 4)) {
|
|
return TRUE;
|
|
}
|
|
ret=_DL_DumpBuf(_LayerID(dev_id, layer_id));
|
|
if(ret!=0){
|
|
return FALSE;
|
|
} else {
|
|
return TRUE;
|
|
}
|
|
}
|
|
BOOL Cmd_gxdisp_on(unsigned char argc, char **argv)
|
|
{
|
|
UINT32 dev_id, layer_id;
|
|
sscanf_s(argv[0], "%lu", (UINT32 *)&dev_id);
|
|
sscanf_s(argv[1], "%lu", (UINT32 *)&layer_id);
|
|
DBG_DUMP("enable: dev[%d], layer[%d]\n\r", dev_id, layer_id);
|
|
if ((dev_id >= 2) || (layer_id >= 4)) {
|
|
return TRUE;
|
|
}
|
|
_DL_SetEnable(_LayerID(dev_id, layer_id), TRUE);
|
|
return TRUE;
|
|
}
|
|
BOOL Cmd_gxdisp_off(unsigned char argc, char **argv)
|
|
{
|
|
UINT32 dev_id, layer_id;
|
|
sscanf_s(argv[0], "%lu", (UINT32 *)&dev_id);
|
|
sscanf_s(argv[1], "%lu", (UINT32 *)&layer_id);
|
|
DBG_DUMP("disable: dev[%d], layer[%d]\n\r", dev_id, layer_id);
|
|
if ((dev_id >= 2) || (layer_id >= 4)) {
|
|
return TRUE;
|
|
}
|
|
_DL_SetEnable(_LayerID(dev_id, layer_id), FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
static int gxdisp_cmd_showhelp(int (*dump)(const char *fmt, ...))
|
|
{
|
|
UINT32 cmd_num = SXCMD_NUM(gxdisp_cmd_tbl);
|
|
UINT32 loop = 1;
|
|
|
|
dump("---------------------------------------------------------------------\r\n");
|
|
dump(" %s\n", "ker");
|
|
dump("---------------------------------------------------------------------\r\n");
|
|
|
|
for (loop = 1 ; loop <= cmd_num ; loop++) {
|
|
dump("%15s : %s\r\n", gxdisp_cmd_tbl[loop].p_name, gxdisp_cmd_tbl[loop].p_desc);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
MAINFUNC_ENTRY(gxdisp, argc, argv)
|
|
{
|
|
UINT32 cmd_num = SXCMD_NUM(gxdisp_cmd_tbl);
|
|
UINT32 loop;
|
|
int ret;
|
|
|
|
if (argc < 2) {
|
|
return -1;
|
|
}
|
|
if (strncmp(argv[1], "?", 2) == 0) {
|
|
gxdisp_cmd_showhelp(vk_printk);
|
|
return 0;
|
|
}
|
|
for (loop = 1 ; loop <= cmd_num ; loop++) {
|
|
if (strncmp(argv[1], gxdisp_cmd_tbl[loop].p_name, strlen(argv[1])) == 0) {
|
|
ret = gxdisp_cmd_tbl[loop].p_func(argc-2, &argv[2]);
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|