summaryrefslogtreecommitdiff
path: root/hid/src
diff options
context:
space:
mode:
authortomaszduda23 <[email protected]>2022-07-15 16:22:26 +0900
committerGitHub <[email protected]>2022-07-15 10:22:26 +0300
commit48f479286170f3cf79304d9b89dd166dec5af834 (patch)
treec99ed8dee91921c6e39127a6af2dfafb5416849d /hid/src
parent4b87851119ea8b1529ac9d29a563c6823220bf46 (diff)
commented kvmd/kvmd#80 (#102)
Co-authored-by: Maxim Devaev <[email protected]>
Diffstat (limited to 'hid/src')
-rw-r--r--hid/src/main.cpp61
1 files changed, 29 insertions, 32 deletions
diff --git a/hid/src/main.cpp b/hid/src/main.cpp
index d02ca55c..c568d6c2 100644
--- a/hid/src/main.cpp
+++ b/hid/src/main.cpp
@@ -303,9 +303,7 @@ static void _sendResponse(uint8_t code) {
# endif
}
-int main() {
- init(); // Embedded
- initVariant(); // Arduino
+void setup() {
_initOutputs();
# ifdef AUM
@@ -314,41 +312,40 @@ int main() {
# ifdef CMD_SERIAL
CMD_SERIAL.begin(CMD_SERIAL_SPEED);
- unsigned long last = micros();
- uint8_t buffer[8];
- uint8_t index = 0;
# elif defined(CMD_SPI)
spiBegin();
# endif
+}
- while (true) {
-# ifdef AUM
- aumProxyUsbVbus();
-# endif
+void loop() {
+# ifdef AUM
+ aumProxyUsbVbus();
+# endif
- _kbd->periodic();
-
-# ifdef CMD_SERIAL
- if (CMD_SERIAL.available() > 0) {
- buffer[index] = (uint8_t)CMD_SERIAL.read();
- if (index == 7) {
- _sendResponse(_handleRequest(buffer));
- index = 0;
- } else /*if (buffer[0] == PROTO::MAGIC)*/ { // FIXME: See kvmd/kvmd#80
- last = micros();
- ++index;
- }
- } else if (index > 0) {
- if (is_micros_timed_out(last, CMD_SERIAL_TIMEOUT)) {
- _sendResponse(PROTO::RESP::TIMEOUT_ERROR);
- index = 0;
- }
+ _kbd->periodic();
+
+# ifdef CMD_SERIAL
+ static unsigned long last = micros();
+ static uint8_t buffer[8];
+ static uint8_t index = 0;
+ if (CMD_SERIAL.available() > 0) {
+ buffer[index] = (uint8_t)CMD_SERIAL.read();
+ if (index == 7) {
+ _sendResponse(_handleRequest(buffer));
+ index = 0;
+ } else /*if (buffer[0] == PROTO::MAGIC)*/ { // FIXME: See kvmd/kvmd#80
+ last = micros();
+ ++index;
}
-# elif defined(CMD_SPI)
- if (spiReady()) {
- _sendResponse(_handleRequest(spiGet()));
+ } else if (index > 0) {
+ if (is_micros_timed_out(last, CMD_SERIAL_TIMEOUT)) {
+ _sendResponse(PROTO::RESP::TIMEOUT_ERROR);
+ index = 0;
}
-# endif
}
- return 0;
+# elif defined(CMD_SPI)
+ if (spiReady()) {
+ _sendResponse(_handleRequest(spiGet()));
+ }
+# endif
}