]> git.donarmstrong.com Git - tmk_firmware.git/blob - protocol/ps2_io_mbed.c
Remove MCU dependent code from common/keyboard.c
[tmk_firmware.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 }