From 2a3b570b50991a7ddc11304c5f39d5360285f20a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Re=CC=A8kawek?= Date: Thu, 24 Nov 2016 23:20:20 +0100 Subject: [PATCH] Moved the sketch to a subdirectory. --- .../PS2Keyboard.cpp | 0 PS2Keyboard.h => mac_plus_ps2/PS2Keyboard.h | 0 scancodes.ino => mac_plus_ps2/keymap.ino | 2 +- .../mac_plus_ps2.ino | 21 ++++++++++++++----- {utility => mac_plus_ps2/utility}/int_pins.h | 0 5 files changed, 17 insertions(+), 6 deletions(-) rename PS2Keyboard.cpp => mac_plus_ps2/PS2Keyboard.cpp (100%) rename PS2Keyboard.h => mac_plus_ps2/PS2Keyboard.h (100%) rename scancodes.ino => mac_plus_ps2/keymap.ino (99%) rename macplus-keyboard.ino => mac_plus_ps2/mac_plus_ps2.ino (90%) rename {utility => mac_plus_ps2/utility}/int_pins.h (100%) diff --git a/PS2Keyboard.cpp b/mac_plus_ps2/PS2Keyboard.cpp similarity index 100% rename from PS2Keyboard.cpp rename to mac_plus_ps2/PS2Keyboard.cpp diff --git a/PS2Keyboard.h b/mac_plus_ps2/PS2Keyboard.h similarity index 100% rename from PS2Keyboard.h rename to mac_plus_ps2/PS2Keyboard.h diff --git a/scancodes.ino b/mac_plus_ps2/keymap.ino similarity index 99% rename from scancodes.ino rename to mac_plus_ps2/keymap.ino index 4dc9540..74533c4 100644 --- a/scancodes.ino +++ b/mac_plus_ps2/keymap.ino @@ -1,5 +1,5 @@ void initScancodes() { - for (byte i = 0; i < 256; i++) { + for (int i = 0; i < 256; i++) { scanCodesTable[i] = NULL_TRANSITION; extScanCodesTable[i] = NULL_TRANSITION; } diff --git a/macplus-keyboard.ino b/mac_plus_ps2/mac_plus_ps2.ino similarity index 90% rename from macplus-keyboard.ino rename to mac_plus_ps2/mac_plus_ps2.ino index 6014e5a..05f00bc 100644 --- a/macplus-keyboard.ino +++ b/mac_plus_ps2/mac_plus_ps2.ino @@ -14,18 +14,29 @@ byte extScanCodesTable[256]; void setup() { initScancodes(); - + keyboard.begin(PS2_DATA_PIN, PS2_CLOCK_PIN); - + pinMode(LED_BUILTIN, OUTPUT); pinMode(MAC_CLOCK_PIN, OUTPUT); pinMode(MAC_DATA_PIN, INPUT_PULLUP); - - while (digitalRead(MAC_DATA_PIN) != LOW); + waitForInitSignal(); delayMicroseconds(180); } +void waitForInitSignal() { + unsigned long t = millis(); + boolean led = false; + while (digitalRead(MAC_CLOCK_PIN) != LOW) { + if (millis() - t > 100) { + t = millis(); + led = !led; + digitalWrite(LED_BUILTIN, led); + } + } +} + void loop() { digitalWrite(LED_BUILTIN, LOW); byte cmd = readByte(); @@ -73,7 +84,7 @@ byte readByte() { b = (b << 1) | digitalRead(MAC_DATA_PIN); delayMicroseconds(180); } - + return b; } diff --git a/utility/int_pins.h b/mac_plus_ps2/utility/int_pins.h similarity index 100% rename from utility/int_pins.h rename to mac_plus_ps2/utility/int_pins.h