refactoring

This commit is contained in:
Devaev Maxim 2020-12-24 13:47:37 +03:00
parent 2bf9761d70
commit 21e4cf86c8
2 changed files with 40 additions and 40 deletions

View File

@ -93,16 +93,16 @@ static void _initOutputs() {
outputs = 0; outputs = 0;
# if defined(HID_WITH_USB) && defined(HID_SET_USB_KBD) # if defined(HID_WITH_USB) && defined(HID_SET_USB_KBD)
outputs |= PROTO::OUTPUTS::KEYBOARD::USB; outputs |= PROTO::OUTPUTS1::KEYBOARD::USB;
# elif defined(HID_WITH_PS2) && defined(HID_SET_PS2_KBD) # elif defined(HID_WITH_PS2) && defined(HID_SET_PS2_KBD)
outputs |= PROTO::OUTPUTS::KEYBOARD::PS2; outputs |= PROTO::OUTPUTS1::KEYBOARD::PS2;
# endif # endif
# if defined(HID_WITH_USB) && defined(HID_SET_USB_MOUSE_ABS) # if defined(HID_WITH_USB) && defined(HID_SET_USB_MOUSE_ABS)
outputs |= PROTO::OUTPUTS::MOUSE::USB_ABS; outputs |= PROTO::OUTPUTS1::MOUSE::USB_ABS;
# elif defined(HID_WITH_USB) && defined(HID_SET_USB_MOUSE_REL) # elif defined(HID_WITH_USB) && defined(HID_SET_USB_MOUSE_REL)
outputs |= PROTO::OUTPUTS::MOUSE::USB_REL; outputs |= PROTO::OUTPUTS1::MOUSE::USB_REL;
# elif defined(HID_WITH_PS2) && defined(HID_SET_PS2_MOUSE) # elif defined(HID_WITH_PS2) && defined(HID_SET_PS2_MOUSE)
outputs |= PROTO::OUTPUTS::MOUSE::PS2; outputs |= PROTO::OUTPUTS1::MOUSE::PS2;
# endif # endif
# ifdef HID_DYNAMIC # ifdef HID_DYNAMIC
@ -110,21 +110,21 @@ static void _initOutputs() {
} }
# endif # endif
uint8_t kbd = outputs & PROTO::OUTPUTS::KEYBOARD::MASK; uint8_t kbd = outputs & PROTO::OUTPUTS1::KEYBOARD::MASK;
switch (kbd) { switch (kbd) {
# ifdef HID_WITH_USB # ifdef HID_WITH_USB
case PROTO::OUTPUTS::KEYBOARD::USB: _usb_kbd = new UsbKeyboard(); break; case PROTO::OUTPUTS1::KEYBOARD::USB: _usb_kbd = new UsbKeyboard(); break;
# endif # endif
# ifdef HID_WITH_PS2 # ifdef HID_WITH_PS2
case PROTO::OUTPUTS::KEYBOARD::PS2: _ps2_kbd = new Ps2Keyboard(); break; case PROTO::OUTPUTS1::KEYBOARD::PS2: _ps2_kbd = new Ps2Keyboard(); break;
# endif # endif
} }
uint8_t mouse = outputs & PROTO::OUTPUTS::MOUSE::MASK; uint8_t mouse = outputs & PROTO::OUTPUTS1::MOUSE::MASK;
switch (mouse) { switch (mouse) {
# ifdef HID_WITH_USB # ifdef HID_WITH_USB
case PROTO::OUTPUTS::MOUSE::USB_ABS: _usb_mouse_abs = new UsbMouseAbsolute(); break; case PROTO::OUTPUTS1::MOUSE::USB_ABS: _usb_mouse_abs = new UsbMouseAbsolute(); break;
case PROTO::OUTPUTS::MOUSE::USB_REL: _usb_mouse_rel = new UsbMouseRelative(); break; case PROTO::OUTPUTS1::MOUSE::USB_REL: _usb_mouse_rel = new UsbMouseRelative(); break;
# endif # endif
} }
@ -132,17 +132,17 @@ static void _initOutputs() {
switch (kbd) { switch (kbd) {
# ifdef HID_WITH_USB # ifdef HID_WITH_USB
case PROTO::OUTPUTS::KEYBOARD::USB: _usb_kbd->begin(); break; case PROTO::OUTPUTS1::KEYBOARD::USB: _usb_kbd->begin(); break;
# endif # endif
# ifdef HID_WITH_PS2 # ifdef HID_WITH_PS2
case PROTO::OUTPUTS::KEYBOARD::PS2: _ps2_kbd->begin(); break; case PROTO::OUTPUTS1::KEYBOARD::PS2: _ps2_kbd->begin(); break;
# endif # endif
} }
switch (mouse) { switch (mouse) {
# ifdef HID_WITH_USB # ifdef HID_WITH_USB
case PROTO::OUTPUTS::MOUSE::USB_ABS: _usb_mouse_abs->begin(); break; case PROTO::OUTPUTS1::MOUSE::USB_ABS: _usb_mouse_abs->begin(); break;
case PROTO::OUTPUTS::MOUSE::USB_REL: _usb_mouse_rel->begin(); break; case PROTO::OUTPUTS1::MOUSE::USB_REL: _usb_mouse_rel->begin(); break;
# endif # endif
} }
} }
@ -151,19 +151,19 @@ static void _initOutputs() {
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
static void _cmdSetKeyboard(const uint8_t *data) { // 1 bytes static void _cmdSetKeyboard(const uint8_t *data) { // 1 bytes
# ifdef HID_DYNAMIC # ifdef HID_DYNAMIC
_writeOutputs(PROTO::OUTPUTS::KEYBOARD::MASK, data[0], false); _writeOutputs(PROTO::OUTPUTS1::KEYBOARD::MASK, data[0], false);
_reset_required = true; _reset_required = true;
# endif # endif
} }
static void _cmdSetMouse(const uint8_t *data) { // 1 bytes static void _cmdSetMouse(const uint8_t *data) { // 1 bytes
# ifdef HID_DYNAMIC # ifdef HID_DYNAMIC
_writeOutputs(PROTO::OUTPUTS::MOUSE::MASK, data[0], false); _writeOutputs(PROTO::OUTPUTS1::MOUSE::MASK, data[0], false);
_reset_required = true; _reset_required = true;
# endif # endif
} }
static void _cmdSetUsbConnected(const uint8_t *data) { // 1 byte static void _cmdSetConnected(const uint8_t *data) { // 1 byte
# if defined(AUM) && defined(HID_WITH_USB) # if defined(AUM) && defined(HID_WITH_USB)
digitalWriteFast(AUM_SET_USB_CONNECTED_PIN, (bool)data[0]); digitalWriteFast(AUM_SET_USB_CONNECTED_PIN, (bool)data[0]);
# endif # endif
@ -241,7 +241,7 @@ static uint8_t _handleRequest(const uint8_t *data) { // 8 bytes
case PROTO::CMD::PING: return PROTO::PONG::OK; case PROTO::CMD::PING: return PROTO::PONG::OK;
case PROTO::CMD::SET_KEYBOARD: HANDLE(_cmdSetKeyboard); case PROTO::CMD::SET_KEYBOARD: HANDLE(_cmdSetKeyboard);
case PROTO::CMD::SET_MOUSE: HANDLE(_cmdSetMouse); case PROTO::CMD::SET_MOUSE: HANDLE(_cmdSetMouse);
case PROTO::CMD::SET_USB_CONNECTED: HANDLE(_cmdSetUsbConnected); case PROTO::CMD::SET_CONNECTED: HANDLE(_cmdSetConnected);
case PROTO::CMD::CLEAR_HID: HANDLE(_cmdClearHid); case PROTO::CMD::CLEAR_HID: HANDLE(_cmdClearHid);
case PROTO::CMD::KEYBOARD::KEY: HANDLE(_cmdKeyEvent); case PROTO::CMD::KEYBOARD::KEY: HANDLE(_cmdKeyEvent);
case PROTO::CMD::MOUSE::BUTTON: HANDLE(_cmdMouseButtonEvent); case PROTO::CMD::MOUSE::BUTTON: HANDLE(_cmdMouseButtonEvent);
@ -274,35 +274,35 @@ static void _sendResponse(uint8_t code) {
if (_reset_required) { if (_reset_required) {
response[1] |= PROTO::PONG::RESET_REQUIRED; response[1] |= PROTO::PONG::RESET_REQUIRED;
} }
response[2] = PROTO::OUTPUTS::DYNAMIC; response[2] = PROTO::OUTPUTS1::DYNAMIC;
# endif # endif
if (_usb_kbd) { if (_usb_kbd) {
response[1] |= _usb_kbd->getOfflineAs(PROTO::PONG::KEYBOARD_OFFLINE); response[1] |= _usb_kbd->getOfflineAs(PROTO::PONG::KEYBOARD_OFFLINE);
response[1] |= _usb_kbd->getLedsAs(PROTO::PONG::CAPS, PROTO::PONG::SCROLL, PROTO::PONG::NUM); response[1] |= _usb_kbd->getLedsAs(PROTO::PONG::CAPS, PROTO::PONG::SCROLL, PROTO::PONG::NUM);
response[2] |= PROTO::OUTPUTS::KEYBOARD::USB; response[2] |= PROTO::OUTPUTS1::KEYBOARD::USB;
} else if (_ps2_kbd) { } else if (_ps2_kbd) {
response[1] |= _ps2_kbd->getOfflineAs(PROTO::PONG::KEYBOARD_OFFLINE); response[1] |= _ps2_kbd->getOfflineAs(PROTO::PONG::KEYBOARD_OFFLINE);
response[1] |= _ps2_kbd->getLedsAs(PROTO::PONG::CAPS, PROTO::PONG::SCROLL, PROTO::PONG::NUM); response[1] |= _ps2_kbd->getLedsAs(PROTO::PONG::CAPS, PROTO::PONG::SCROLL, PROTO::PONG::NUM);
response[2] |= PROTO::OUTPUTS::KEYBOARD::PS2; response[2] |= PROTO::OUTPUTS1::KEYBOARD::PS2;
} }
if (_usb_mouse_abs) { if (_usb_mouse_abs) {
response[1] |= _usb_mouse_abs->getOfflineAs(PROTO::PONG::MOUSE_OFFLINE); response[1] |= _usb_mouse_abs->getOfflineAs(PROTO::PONG::MOUSE_OFFLINE);
response[2] |= PROTO::OUTPUTS::MOUSE::USB_ABS; response[2] |= PROTO::OUTPUTS1::MOUSE::USB_ABS;
} else if (_usb_mouse_rel) { } else if (_usb_mouse_rel) {
response[1] |= _usb_mouse_rel->getOfflineAs(PROTO::PONG::MOUSE_OFFLINE); response[1] |= _usb_mouse_rel->getOfflineAs(PROTO::PONG::MOUSE_OFFLINE);
response[2] |= PROTO::OUTPUTS::MOUSE::USB_REL; response[2] |= PROTO::OUTPUTS1::MOUSE::USB_REL;
} // TODO: ps2 } // TODO: ps2
# if defined(AUM) && defined(HID_WITH_USB) # if defined(AUM) && defined(HID_WITH_USB)
response[3] |= PROTO::PARAMS::USB_CONNECTABLE; response[3] |= PROTO::OUTPUTS2::CONNECTABLE;
if (digitalReadFast(AUM_SET_USB_CONNECTED_PIN)) { if (digitalReadFast(AUM_SET_USB_CONNECTED_PIN)) {
response[3] |= PROTO::PARAMS::USB_CONNECTED; response[3] |= PROTO::OUTPUTS2::CONNECTED;
} }
# endif # endif
# ifdef HID_WITH_USB # ifdef HID_WITH_USB
response[3] |= PROTO::PARAMS::HAS_USB; response[3] |= PROTO::OUTPUTS2::HAS_USB;
# endif # endif
# ifdef HID_WITH_PS2 # ifdef HID_WITH_PS2
response[3] |= PROTO::PARAMS::HAS_PS2; response[3] |= PROTO::OUTPUTS2::HAS_PS2;
# endif # endif
} else { } else {
response[1] = code; response[1] = code;

View File

@ -45,7 +45,7 @@ namespace PROTO {
const uint8_t RESET_REQUIRED = 0b01000000; const uint8_t RESET_REQUIRED = 0b01000000;
}; };
namespace OUTPUTS { // Complex request/responce flags namespace OUTPUTS1 { // Complex request/responce flags
const uint8_t DYNAMIC = 0b10000000; const uint8_t DYNAMIC = 0b10000000;
namespace KEYBOARD { namespace KEYBOARD {
const uint8_t MASK = 0b00000111; const uint8_t MASK = 0b00000111;
@ -60,11 +60,11 @@ namespace PROTO {
}; };
}; };
namespace PARAMS { namespace OUTPUTS2 { // Complex response
const uint8_t CONNECTABLE = 0b10000000;
const uint8_t CONNECTED = 0b01000000;
const uint8_t HAS_USB = 0b00000001; const uint8_t HAS_USB = 0b00000001;
const uint8_t HAS_PS2 = 0b00000010; const uint8_t HAS_PS2 = 0b00000010;
const uint8_t USB_CONNECTABLE = 0b10000000;
const uint8_t USB_CONNECTED = 0b01000000;
} }
namespace CMD { namespace CMD {
@ -72,7 +72,7 @@ namespace PROTO {
const uint8_t REPEAT = 0x02; const uint8_t REPEAT = 0x02;
const uint8_t SET_KEYBOARD = 0x03; const uint8_t SET_KEYBOARD = 0x03;
const uint8_t SET_MOUSE = 0x04; const uint8_t SET_MOUSE = 0x04;
const uint8_t SET_USB_CONNECTED = 0x05; const uint8_t SET_CONNECTED = 0x05;
const uint8_t CLEAR_HID = 0x10; const uint8_t CLEAR_HID = 0x10;
namespace KEYBOARD { namespace KEYBOARD {