OSDN Git Service

b07d4be3d44270795797888a717c9e8db30be27e
[kozos-expbrd/kozos_expbrd.git] / firm / hwtest / 10 / os / task / task_command.c
1 #include "defines.h"
2 #include "kozos.h"
3 #include "driver_console.h"
4 #include "driver_led.h"
5 #include "lib.h"
6
7 int task_command(int argc, char *argv[])
8 {
9   char *p;
10   int size;
11
12   console_use(SERIAL_DEFAULT_DEVICE);
13
14   while (1) {
15     console_write("command> "); /* ¥×¥í¥ó¥×¥Èɽ¼¨ */
16
17     /* ¥³¥ó¥½¡¼¥ë¤«¤é¤Î¼õ¿®Ê¸»úÎó¤ò¼õ¤±¼è¤ë */
18     kz_recv(MSGBOX_ID_CONSINPUT, &size, &p);
19     if (p == NULL) {
20       console_write("expired.\n");
21       continue;
22     }
23     p[size] = '\0';
24
25     if (!strncmp(p, "echo", 4)) { /* echo¥³¥Þ¥ó¥É */
26       console_write(p + 4); /* echo¤Ë³¤¯Ê¸»úÎó¤ò½ÐÎϤ¹¤ë */
27       console_write("\n");
28     } else if (!strncmp(p, "led1", 4)) {
29       leddrv_toggle(0);
30     } else if (!strncmp(p, "led2", 4)) {
31       leddrv_toggle(1);
32     } else if (!strncmp(p, "ledg", 4)) {
33       leddrv_toggle(2);
34     } else if (!strncmp(p, "ledr", 4)) {
35       leddrv_toggle(3);
36     } else {
37       console_write("unknown.\n");
38     }
39
40     kz_kmfree(p);
41   }
42
43   return 0;
44 }