aboutsummaryrefslogtreecommitdiff
path: root/protocol/ps2_io_mbed.c
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2014-06-19 16:13:35 +0900
committertmk <nobody@nowhere>2014-07-30 14:07:43 +0900
commit4c8e0fd0bd1712421f957ec5e0ca16fc6bbb3856 (patch)
tree2141d2e168ad043ea18bcb3aee3f3a03dd2a2f1b /protocol/ps2_io_mbed.c
parent80c3ff5fa03429f1e4ea15032f665ceb88c9b8c3 (diff)
downloadqmk_firmware-4c8e0fd0bd1712421f957ec5e0ca16fc6bbb3856.tar.gz
qmk_firmware-4c8e0fd0bd1712421f957ec5e0ca16fc6bbb3856.zip
Port ps2_usb to mbed
Diffstat (limited to 'protocol/ps2_io_mbed.c')
-rw-r--r--protocol/ps2_io_mbed.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/protocol/ps2_io_mbed.c b/protocol/ps2_io_mbed.c
new file mode 100644
index 000000000..83bdcef7f
--- /dev/null
+++ b/protocol/ps2_io_mbed.c
@@ -0,0 +1,60 @@
1#include <stdbool.h>
2#include "ps2_io.h"
3#include "gpio_api.h"
4
5
6static gpio_t clock;
7static gpio_t data;
8
9/*
10 * Clock
11 */
12void clock_init(void)
13{
14 gpio_init(&clock, P0_9);
15 gpio_mode(&clock, OpenDrain|PullNone);
16}
17
18void clock_lo(void)
19{
20 gpio_dir(&clock, PIN_OUTPUT);
21 gpio_write(&clock, 0);
22}
23void clock_hi(void)
24{
25 gpio_dir(&clock, PIN_OUTPUT);
26 gpio_write(&clock, 1);
27}
28
29bool clock_in(void)
30{
31 gpio_dir(&clock, PIN_INPUT);
32 return gpio_read(&clock);
33}
34
35/*
36 * Data
37 */
38void data_init(void)
39{
40 gpio_init(&data, P0_8);
41 gpio_mode(&data, OpenDrain|PullNone);
42}
43
44void data_lo(void)
45{
46 gpio_dir(&data, PIN_OUTPUT);
47 gpio_write(&data, 0);
48}
49
50void data_hi(void)
51{
52 gpio_dir(&data, PIN_OUTPUT);
53 gpio_write(&data, 1);
54}
55
56bool data_in(void)
57{
58 gpio_dir(&data, PIN_INPUT);
59 return gpio_read(&data);
60}