From b3a104781ea91c907d3545b028743f837acdbd9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20SAILLANT?= Date: Wed, 26 Mar 2025 16:27:43 +0100 Subject: [PATCH] update clean code and compatibility --- ADB.cpp | 18 +++++++++--------- ADB.h | 9 --------- ADBKeyCodes.h | 18 ------------------ 3 files changed, 9 insertions(+), 36 deletions(-) diff --git a/ADB.cpp b/ADB.cpp index 6322d80..2d349bc 100644 --- a/ADB.cpp +++ b/ADB.cpp @@ -117,7 +117,7 @@ uint8_t ADB::readBit() { auto time_start = micros(); while (digitalRead(dataPin) == LOW) { if (micros() - time_start > MAX_WAIT) - return BIT_ERROR; + return ADBProtocol::BIT_ERROR; } auto low_time = micros() - time_start; @@ -125,7 +125,7 @@ uint8_t ADB::readBit() { time_start = micros(); while (digitalRead(dataPin) == HIGH) { if (micros() - time_start > MAX_WAIT) - return BIT_ERROR; + return ADBProtocol::BIT_ERROR; } auto high_time = micros() - time_start; @@ -143,7 +143,7 @@ bool ADB::readDataPacket(uint16_t* buffer, uint8_t length) { *buffer = 0; for (uint8_t i = 0; i < length; i++) { uint8_t current_bit = readBit(); - if (current_bit == BIT_ERROR) { + if (current_bit == ADBProtocol::BIT_ERROR) { return false; } *buffer = (*buffer << 1) | current_bit; @@ -190,7 +190,7 @@ adb_data ADBDevices::keyboardReadModifiers(bool* error) { adb_data modifiers = {0}; // Envoi d'une commande Talk au registre 2 du clavier - adb.writeCommand(CMD_TALK | ADB_ADDRESS(ADDR_KEYBOARD) | ADB_REGISTER(2)); + adb.writeCommand(ADBProtocol::CMD_TALK | ADBProtocol::ADDRESS(ADBKey::Address::KEYBOARD) | ADBProtocol::REGISTER(2)); adb.waitTLT(true); // Lecture des données et mise à jour du statut d'erreur @@ -202,7 +202,7 @@ adb_data ADBDevices::keyboardReadKeyPress(bool* error) { adb_data keyPress = {0}; // Envoi d'une commande Talk au registre 0 du clavier - adb.writeCommand(CMD_TALK | ADB_ADDRESS(ADDR_KEYBOARD) | ADB_REGISTER(0)); + adb.writeCommand(ADBProtocol::CMD_TALK | ADBProtocol::ADDRESS(ADBKey::Address::KEYBOARD) | ADBProtocol::REGISTER(0)); adb.waitTLT(true); // Lecture des touches pressées et mise à jour du statut d'erreur @@ -219,7 +219,7 @@ void ADBDevices::keyboardWriteLEDs(bool scroll, bool caps, bool num) { modifiers.data.led_num = !num; // Envoi d'une commande Listen au registre 2 du clavier - adb.writeCommand(CMD_LISTEN | ADB_ADDRESS(ADDR_KEYBOARD) | ADB_REGISTER(2)); + adb.writeCommand(ADBProtocol::CMD_LISTEN | ADBProtocol::ADDRESS(ADBKey::Address::KEYBOARD) | ADBProtocol::REGISTER(2)); adb.waitTLT(false); // Envoi des données de configuration des LEDs @@ -230,7 +230,7 @@ adb_data ADBDevices::mouseReadData(bool* error) { adb_data mouseData = {0}; // Envoi d'une commande Talk au registre 0 de la souris - adb.writeCommand(CMD_TALK | ADB_ADDRESS(ADDR_MOUSE) | ADB_REGISTER(0)); + adb.writeCommand(ADBProtocol::CMD_TALK | ADBProtocol::ADDRESS(ADBKey::Address::MOUSE) | ADBProtocol::REGISTER(0)); adb.waitTLT(true); // Lecture des données de la souris et mise à jour du statut d'erreur @@ -242,7 +242,7 @@ adb_data ADBDevices::deviceReadRegister3(uint8_t addr, bool* erro adb_data reg3 = {0}; // Envoi d'une commande Talk au registre 3 du périphérique - adb.writeCommand(CMD_TALK | ADB_ADDRESS(addr) | ADB_REGISTER(3)); + adb.writeCommand(ADBProtocol::CMD_TALK | ADBProtocol::ADDRESS(ADBKey::Address::KEYBOARD) | ADBProtocol::REGISTER(3)); adb.waitTLT(true); // Lecture de la configuration du périphérique @@ -262,7 +262,7 @@ bool ADBDevices::deviceUpdateRegister3(uint8_t addr, adb_data new reg3.raw = (reg3.raw & ~mask) | (newReg3.raw & mask); // Envoi d'une commande Listen pour mettre à jour la configuration - adb.writeCommand(CMD_LISTEN | ADB_ADDRESS(addr) | ADB_REGISTER(3)); + adb.writeCommand(ADBProtocol::CMD_LISTEN | ADBProtocol::ADDRESS(ADBKey::Address::KEYBOARD) | ADBProtocol::REGISTER(3)); adb.waitTLT(false); adb.writeDataPacket(reg3.raw, 16); diff --git a/ADB.h b/ADB.h index 6266651..f30a974 100644 --- a/ADB.h +++ b/ADB.h @@ -26,15 +26,6 @@ namespace ADBProtocol { constexpr uint8_t REGISTER(uint8_t reg) { return reg; } } -// Pour compatibilité avec le code existant -#define CMD_TALK ADBProtocol::CMD_TALK -#define CMD_LISTEN ADBProtocol::CMD_LISTEN -#define CMD_FLUSH ADBProtocol::CMD_FLUSH -#define BIT_ERROR ADBProtocol::BIT_ERROR -#define POLL_DELAY ADBProtocol::POLL_DELAY -#define ADB_ADDRESS(addr) ADBProtocol::ADDRESS(addr) -#define ADB_REGISTER(reg) ADBProtocol::REGISTER(reg) - /** * @brief Structures de données pour les périphériques ADB */ diff --git a/ADBKeyCodes.h b/ADBKeyCodes.h index 428bc86..61694a6 100644 --- a/ADBKeyCodes.h +++ b/ADBKeyCodes.h @@ -39,22 +39,4 @@ namespace ADBKey { } } -// Pour la compatibilité avec le code existant -#define ADDR_KEYBOARD ADBKey::Address::KEYBOARD -#define ADDR_MOUSE ADBKey::Address::MOUSE -#define ADB_KEY_CAPS_LOCK ADBKey::KeyCode::CAPS_LOCK -#define ADB_KEY_NUM_LOCK ADBKey::KeyCode::NUM_LOCK -#define ADB_KEY_POWER_DOWN ADBKey::KeyCode::POWER_DOWN -#define ADB_KEY_POWER_UP ADBKey::KeyCode::POWER_UP - -// Définitions des modificateurs (compatibilité) -#define ADB_KEY_LEFT_SHIFT ADBKey::KeyCode::LEFT_SHIFT -#define ADB_KEY_RIGHT_SHIFT ADBKey::KeyCode::RIGHT_SHIFT -#define ADB_KEY_LEFT_CONTROL ADBKey::KeyCode::LEFT_CONTROL -#define ADB_KEY_RIGHT_CONTROL ADBKey::KeyCode::RIGHT_CONTROL -#define ADB_KEY_LEFT_OPTION ADBKey::KeyCode::LEFT_OPTION -#define ADB_KEY_RIGHT_OPTION ADBKey::KeyCode::RIGHT_OPTION -#define ADB_KEY_LEFT_COMMAND ADBKey::KeyCode::LEFT_COMMAND -#define ADB_KEY_RIGHT_COMMAND ADBKey::KeyCode::RIGHT_COMMAND - #endif // ADB_KEYCODES_H