summaryrefslogtreecommitdiff
path: root/hid/pico/src/ph_ps2_phy.h
diff options
context:
space:
mode:
Diffstat (limited to 'hid/pico/src/ph_ps2_phy.h')
-rw-r--r--hid/pico/src/ph_ps2_phy.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/hid/pico/src/ph_ps2_phy.h b/hid/pico/src/ph_ps2_phy.h
new file mode 100644
index 00000000..17dd9e0d
--- /dev/null
+++ b/hid/pico/src/ph_ps2_phy.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "ph_types.h"
+#include "hardware/pio.h"
+#include "pico/util/queue.h"
+
+typedef void (*rx_callback)(u8 byte);
+
+typedef struct {
+ PIO pio;
+ uint sm;
+ queue_t qbytes;
+ queue_t qpacks;
+ u8 sent;
+ rx_callback rx;
+} ph_ps2_phy;
+
+void ph_ps2_phy_init(ph_ps2_phy* this, PIO pio, u8 data_pin, rx_callback rx);
+void ph_ps2_phy_task(ph_ps2_phy* this); \ No newline at end of file