123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include <stdbool.h>
- #include "ps2_io.h"
- #include "gpio_api.h"
-
-
- static gpio_t clock;
- static gpio_t data;
-
- /*
- * Clock
- */
- void clock_init(void)
- {
- gpio_init(&clock, P0_9);
- gpio_mode(&clock, OpenDrain|PullNone);
- }
-
- void clock_lo(void)
- {
- gpio_dir(&clock, PIN_OUTPUT);
- gpio_write(&clock, 0);
- }
- void clock_hi(void)
- {
- gpio_dir(&clock, PIN_OUTPUT);
- gpio_write(&clock, 1);
- }
-
- bool clock_in(void)
- {
- gpio_dir(&clock, PIN_INPUT);
- return gpio_read(&clock);
- }
-
- /*
- * Data
- */
- void data_init(void)
- {
- gpio_init(&data, P0_8);
- gpio_mode(&data, OpenDrain|PullNone);
- }
-
- void data_lo(void)
- {
- gpio_dir(&data, PIN_OUTPUT);
- gpio_write(&data, 0);
- }
-
- void data_hi(void)
- {
- gpio_dir(&data, PIN_OUTPUT);
- gpio_write(&data, 1);
- }
-
- bool data_in(void)
- {
- gpio_dir(&data, PIN_INPUT);
- return gpio_read(&data);
- }
|