OSDN Git Service

Moved some unused codes.
[kozos-expbrd/kozos_expbrd.git] / misc / hwtest / 05 / os / clock.c
1 #include "defines.h"
2 #include "kozos.h"
3 #include "consdrv.h"
4 #include "timerdrv.h"
5 #include "leddrv.h"
6 #include "lib.h"
7 #include "sw.h"
8 #include "lcd.h"
9
10 /* ¥¿¥¤¥Þ¤Î¥«¥¦¥ó¥È³«»Ï¤ò¥¿¥¤¥Þ¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
11 static void send_start(int msec)
12 {
13   struct timerreq *req;
14   req = kz_kmalloc(sizeof(*req));
15   req->id = MSGBOX_ID_TIMEXPIRE;
16   req->msec = msec;
17   kz_send(MSGBOX_ID_TIMDRIVE, TIMERDRV_CMD_START, (char *)req);
18 }
19
20 static void send_led_write(int target, int state)
21 {
22   char *p;
23   p = kz_kmalloc(2);
24   p[0] = state ? LEDDRV_CMD_LED_ON : LEDDRV_CMD_LED_OFF;
25   p[1] = '0' + target;
26   kz_send(MSGBOX_ID_LEDDRIVE, 2, p);
27 }
28
29 static void send_led_toggle(int target)
30 {
31   char *p;
32   p = kz_kmalloc(2);
33   p[0] = LEDDRV_CMD_LED_TOGGLE;
34   p[1] = '0' + target;
35   kz_send(MSGBOX_ID_LEDDRIVE, 2, p);
36 }
37
38 int clock_main(int argc, char *argv[])
39 {
40   uint8 val = 0;
41
42   sw_init();
43   lcd_init();
44   lcd_clear();
45   lcd_draw_string(5, 5, "KOZOS EXPBRD #00", 0);
46
47   while (1) {
48     val = (val + 1) % 101;
49     lcd_draw_progressbar(5, 20, 121 - 5, 25, 0, 100, val, 0);
50
51     send_start(100);
52     kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
53     if (sw_read(Sw1)) {
54       send_led_write(0, 1);
55     } else {
56       send_led_toggle(0);
57     }
58
59     send_start(100);
60     kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
61     if (sw_read(Sw2)) {
62       send_led_write(1, 1);
63     } else {
64       send_led_toggle(1);
65     }
66   }
67
68   return 0;
69 }