]> git.gir.st - tmk_keyboard.git/blob - protocol/ps2_io_mbed.c
Change TOP_DIR to TMK_DIR in makefiles
[tmk_keyboard.git] / protocol / ps2_io_mbed.c
1 #include <stdbool.h>
2 #include "ps2_io.h"
3 #include "gpio_api.h"
4
5
6 static gpio_t clock;
7 static gpio_t data;
8
9 /*
10 * Clock
11 */
12 void clock_init(void)
13 {
14 gpio_init(&clock, P0_9);
15 gpio_mode(&clock, OpenDrain|PullNone);
16 }
17
18 void clock_lo(void)
19 {
20 gpio_dir(&clock, PIN_OUTPUT);
21 gpio_write(&clock, 0);
22 }
23 void clock_hi(void)
24 {
25 gpio_dir(&clock, PIN_OUTPUT);
26 gpio_write(&clock, 1);
27 }
28
29 bool clock_in(void)
30 {
31 gpio_dir(&clock, PIN_INPUT);
32 return gpio_read(&clock);
33 }
34
35 /*
36 * Data
37 */
38 void data_init(void)
39 {
40 gpio_init(&data, P0_8);
41 gpio_mode(&data, OpenDrain|PullNone);
42 }
43
44 void data_lo(void)
45 {
46 gpio_dir(&data, PIN_OUTPUT);
47 gpio_write(&data, 0);
48 }
49
50 void data_hi(void)
51 {
52 gpio_dir(&data, PIN_OUTPUT);
53 gpio_write(&data, 1);
54 }
55
56 bool data_in(void)
57 {
58 gpio_dir(&data, PIN_INPUT);
59 return gpio_read(&data);
60 }
Imprint / Impressum