routes.py 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Copyright 2023 QMK
  2. # SPDX-License-Identifier: GPL-2.0-or-later
  3. ################################################################################
  4. #
  5. # 88888888888 888 d8b .d888 d8b 888 d8b
  6. # 888 888 Y8P d88P" Y8P 888 Y8P
  7. # 888 888 888 888
  8. # 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
  9. # 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
  10. # 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
  11. # 888 888 888 888 X88 888 888 888 Y8b. 888 X88
  12. # 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
  13. #
  14. # 888 888
  15. # 888 888
  16. # 888 888
  17. # .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
  18. # d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
  19. # 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
  20. # Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
  21. # "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
  22. # 888
  23. # Y8b d88P
  24. # "Y88P"
  25. #
  26. ################################################################################
  27. class XAPRouteError(Exception):
  28. pass
  29. class XAPRoutes():
  30. # XAP
  31. XAP_VERSION_QUERY = b'\x00\x00'
  32. XAP_CAPABILITIES_QUERY = b'\x00\x01'
  33. XAP_SUBSYSTEM_QUERY = b'\x00\x02'
  34. XAP_SECURE_STATUS = b'\x00\x03'
  35. XAP_SECURE_UNLOCK = b'\x00\x04'
  36. XAP_SECURE_LOCK = b'\x00\x05'
  37. # QMK
  38. QMK_VERSION_QUERY = b'\x01\x00'
  39. QMK_CAPABILITIES_QUERY = b'\x01\x01'
  40. QMK_BOARD_IDENTIFIERS = b'\x01\x02'
  41. QMK_BOARD_MANUFACTURER = b'\x01\x03'
  42. QMK_PRODUCT_NAME = b'\x01\x04'
  43. QMK_CONFIG_BLOB_LEN = b'\x01\x05'
  44. QMK_CONFIG_BLOB_CHUNK = b'\x01\x06'
  45. QMK_BOOTLOADER_JUMP = b'\x01\x07'
  46. QMK_HARDWARE_ID = b'\x01\x08'
  47. QMK_EEPROM_RESET = b'\x01\x09'
  48. # KEYMAP
  49. KEYMAP_CAPABILITIES_QUERY = b'\x04\x01'
  50. KEYMAP_GET_LAYER_COUNT = b'\x04\x02'
  51. KEYMAP_GET_KEYMAP_KEYCODE = b'\x04\x03'
  52. KEYMAP_GET_ENCODER_KEYCODE = b'\x04\x04'
  53. # REMAPPING
  54. REMAPPING_CAPABILITIES_QUERY = b'\x05\x01'
  55. REMAPPING_GET_DYNAMIC_LAYER_COUNT = b'\x05\x02'
  56. REMAPPING_SET_KEYMAP_KEYCODE = b'\x05\x03'
  57. REMAPPING_SET_ENCODER_KEYCODE = b'\x05\x04'
  58. # LIGHTING
  59. LIGHTING_CAPABILITIES_QUERY = b'\x06\x01'
  60. LIGHTING_BACKLIGHT = b'\x06\x02'
  61. LIGHTING_BACKLIGHT_CAPABILITIES_QUERY = b'\x06\x02\x01'
  62. LIGHTING_BACKLIGHT_GET_ENABLED_EFFECTS = b'\x06\x02\x02'
  63. LIGHTING_BACKLIGHT_GET_CONFIG = b'\x06\x02\x03'
  64. LIGHTING_BACKLIGHT_SET_CONFIG = b'\x06\x02\x04'
  65. LIGHTING_BACKLIGHT_SAVE_CONFIG = b'\x06\x02\x05'
  66. LIGHTING_RGBLIGHT = b'\x06\x03'
  67. LIGHTING_RGBLIGHT_CAPABILITIES_QUERY = b'\x06\x03\x01'
  68. LIGHTING_RGBLIGHT_GET_ENABLED_EFFECTS = b'\x06\x03\x02'
  69. LIGHTING_RGBLIGHT_GET_CONFIG = b'\x06\x03\x03'
  70. LIGHTING_RGBLIGHT_SET_CONFIG = b'\x06\x03\x04'
  71. LIGHTING_RGBLIGHT_SAVE_CONFIG = b'\x06\x03\x05'
  72. LIGHTING_RGB_MATRIX = b'\x06\x04'
  73. LIGHTING_RGB_MATRIX_CAPABILITIES_QUERY = b'\x06\x04\x01'
  74. LIGHTING_RGB_MATRIX_GET_ENABLED_EFFECTS = b'\x06\x04\x02'
  75. LIGHTING_RGB_MATRIX_GET_CONFIG = b'\x06\x04\x03'
  76. LIGHTING_RGB_MATRIX_SET_CONFIG = b'\x06\x04\x04'
  77. LIGHTING_RGB_MATRIX_SAVE_CONFIG = b'\x06\x04\x05'
  78. # AUDIO
  79. AUDIO_CAPABILITIES_QUERY = b'\x07\x01'
  80. AUDIO_GET_CONFIG = b'\x07\x03'
  81. AUDIO_SET_CONFIG = b'\x07\x04'
  82. AUDIO_SAVE_CONFIG = b'\x07\x05'
  83. # noqa: W391