OSDN Git Service

Moved some unused codes.
[kozos-expbrd/kozos_expbrd.git] / misc / hwtest / 01 / os / command.c
1 #include "defines.h"
2 #include "kozos.h"
3 #include "consdrv.h"
4 #include "timerdrv.h"
5 #include "lib.h"
6
7 /* ¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Î»ÈÍѳ«»Ï¤ò¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
8 static void send_use(int index)
9 {
10   char *p;
11   p = kz_kmalloc(3);
12   p[0] = '0';
13   p[1] = CONSDRV_CMD_USE;
14   p[2] = '0' + index;
15   kz_send(MSGBOX_ID_CONSOUTPUT, 3, p);
16 }
17
18 /* ¥³¥ó¥½¡¼¥ë¤Ø¤Îʸ»úÎó½ÐÎϤò¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
19 static void send_write(char *str)
20 {
21   char *p;
22   int len;
23   len = strlen(str);
24   p = kz_kmalloc(len + 2);
25   p[0] = '0';
26   p[1] = CONSDRV_CMD_WRITE;
27   memcpy(&p[2], str, len);
28   kz_send(MSGBOX_ID_CONSOUTPUT, len + 2, p);
29 }
30
31 /* ¥¿¥¤¥Þ¤Î¥«¥¦¥ó¥È³«»Ï¤ò¥¿¥¤¥Þ¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
32 static void send_start(int msec)
33 {
34   struct timerreq *req;
35   req = kz_kmalloc(sizeof(*req));
36   req->id = MSGBOX_ID_CONSINPUT;
37   req->msec = msec;
38   kz_send(MSGBOX_ID_TIMDRIVE, TIMERDRV_CMD_START, (char *)req);
39 }
40
41 int command_main(int argc, char *argv[])
42 {
43   char *p;
44   int size;
45
46   send_use(SERIAL_DEFAULT_DEVICE);
47
48   while (1) {
49     send_write("command> "); /* ¥×¥í¥ó¥×¥Èɽ¼¨ */
50
51     /* ¥³¥ó¥½¡¼¥ë¤«¤é¤Î¼õ¿®Ê¸»úÎó¤ò¼õ¤±¼è¤ë */
52     kz_recv(MSGBOX_ID_CONSINPUT, &size, &p);
53     if (p == NULL) {
54       send_write("expired.\n");
55       continue;
56     }
57     p[size] = '\0';
58
59     if (!strncmp(p, "echo", 4)) { /* echo¥³¥Þ¥ó¥É */
60       send_write(p + 4); /* echo¤Ë³¤¯Ê¸»úÎó¤ò½ÐÎϤ¹¤ë */
61       send_write("\n");
62     } else if (!strncmp(p, "timer", 4)) { /* timer¥³¥Þ¥ó¥É */
63       send_write("timer start.\n");
64       send_start(1000);
65     } else {
66       send_write("unknown.\n");
67     }
68
69     kz_kmfree(p);
70   }
71
72   return 0;
73 }