mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
2.0 KiB
2.0 KiB
OpenBitdo Protocol Overview
This document summarizes the sanitized protocol model used by the clean-room runtime.
Wire Model
- HID-like command transport
- primary 64-byte reports for
Standard64,DInput, andJpHandshake - variable-length reports only where firmware or boot phases require them
- little-endian multi-byte numbers
Protocol Families
Standard64JpHandshakeDInputDS4BootUnknown
Safety Classes
SafeRead: diagnostics and metadata readsSafeWrite: profile, setting, or mapping writesUnsafeBoot: bootloader transitionsUnsafeFirmware: firmware transfer and commit operations
Response Validation
- every command validates against the registry table
- outcomes are
Ok,Invalid, orMalformed - retry logic applies on timeout or malformed data according to session policy
Operation Groups
CoreJP108DedicatedUltimate2CoreFirmwareCoreDiagModeProfileReadFirmwarePreflight
Support Model
Support Levels
fulldetect-only
Support Tiers
full: normal read, write, and gated unsafe pathscandidate-readonly: safe-read diagnostics onlydetect-only: identify-only posture
Candidate Read-Only Policy
Read-only candidates may:
- identify themselves
- run allowed safe-read diagnostics
- perform family-appropriate read-only metadata checks
Read-only candidates may not:
- write mappings or profiles
- enter unsafe boot paths
- transfer firmware
Promotion to full support requires:
- static evidence
- runtime evidence
- hardware evidence
Feature Scopes
JP108
- supported targets:
0x5209,0x520a - current mapping scope:
A,B,K1-K8
Ultimate 2
- supported targets:
0x6012,0x6013 - current scope: mode, slot, slot config, core button map, and required analog handling
Runtime Safety Rule
Unsafe commands are only allowed when the runtime has both:
- unsafe mode enabled
- explicit brick-risk acknowledgment