8 /* ¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Î»ÈÍѳ«»Ï¤ò¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
9 static void send_use(int index)
14 p[1] = CONSDRV_CMD_USE;
16 kz_send(MSGBOX_ID_CONSOUTPUT, 3, p);
19 /* ¥³¥ó¥½¡¼¥ë¤Ø¤Îʸ»úÎó½ÐÎϤò¥³¥ó¥½¡¼¥ë¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
20 static void send_write(char *str)
25 p = kz_kmalloc(len + 2);
27 p[1] = CONSDRV_CMD_WRITE;
28 memcpy(&p[2], str, len);
29 kz_send(MSGBOX_ID_CONSOUTPUT, len + 2, p);
32 /* ¥¿¥¤¥Þ¤Î¥«¥¦¥ó¥È³«»Ï¤ò¥¿¥¤¥Þ¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
33 static void send_start(int msec)
36 req = kz_kmalloc(sizeof(*req));
37 req->id = MSGBOX_ID_CONSINPUT;
39 kz_send(MSGBOX_ID_TIMDRIVE, TIMERDRV_CMD_START, (char *)req);
42 static void send_led_toggle(int target)
46 p[0] = LEDDRV_CMD_LED_TOGGLE;
48 kz_send(MSGBOX_ID_LEDDRIVE, 2, p);
51 int command_main(int argc, char *argv[])
56 send_use(SERIAL_DEFAULT_DEVICE);
59 send_write("command> "); /* ¥×¥í¥ó¥×¥Èɽ¼¨ */
61 /* ¥³¥ó¥½¡¼¥ë¤«¤é¤Î¼õ¿®Ê¸»úÎó¤ò¼õ¤±¼è¤ë */
62 kz_recv(MSGBOX_ID_CONSINPUT, &size, &p);
64 send_write("expired.\n");
69 if (!strncmp(p, "echo", 4)) { /* echo¥³¥Þ¥ó¥É */
70 send_write(p + 4); /* echo¤Ë³¤¯Ê¸»úÎó¤ò½ÐÎϤ¹¤ë */
72 } else if (!strncmp(p, "timer", 4)) { /* timer¥³¥Þ¥ó¥É */
73 send_write("timer start.\n");
75 } else if (!strncmp(p, "led1", 4)) {
77 } else if (!strncmp(p, "led2", 4)) {
79 } else if (!strncmp(p, "ledg", 4)) {
81 } else if (!strncmp(p, "ledr", 4)) {
84 send_write("unknown.\n");