Rsdk device - #8
Draft
KonradIT wants to merge 2 commits into
Draft
Conversation
DJI's R-SDK docs (protocol_data_segment.md) publish a device_id per camera — Action 4 0xFF33, Action 5 Pro 0xFF44, Action 6 0xFF55, Osmo 360 0xFF66 — and the camera's own Connection Request carries its id at payload offset 0. We were parsing verify_mode/verify_data out of that frame and throwing the first four bytes away. Scoped deliberately to the R-SDK session, i.e. behind the satellite button: the media path keeps resolving models from the BLE manufacturer byte, which every camera has, and nothing outside the GPS feature consults this table. It's a separate identity space, not a better one. Unknown ids are labelled UNKNOWN with the raw value rather than dropped — on an untested unit that's the finding, not an error. The Xtra rebrand is the case in point: it may answer 0xFF44 like the Action 5 Pro it is underneath, answer with an id of its own, or not speak R-SDK at all. Also rewords the 40s approval timeout, which claimed the popup went unapproved when the same silence equally means the model has no R-SDK (DJI lists the Nano as unsupported and omits the Pocket 3 entirely). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The R-SDK path dropped every frame that wasn't SOF 0xAA, so "camera said nothing" and "camera answered in a protocol we discard" produced the identical 40s timeout. It now logs the SOF and first bytes once per session. That immediately answered the open question in #9. Pointed at the Xtra Edge Pro: GATT connects, MTU 517, notify armed on fff4+fff5, connection request written — and 25 ms later the camera answers with a media-path DUML battery push (0x0D/0x02, sender Battery 0x05/id 0, valid CRC8, 4029 mV), never one SOF 0xAA frame in 40 s, and nothing on the camera screen. The camera is awake and talking, just not in R-SDK. A genuine Action 5 Pro is 0xFF44 in DJI's published table and has GPS sync hardware-verified, so the rebrand firmware strips R-SDK out — a second concrete divergence next to the 10004 datalink port. ROADMAP #9 said "probably won't honor R-SDK"; it's now tested. Side benefit: that frame is an independent check on the battery decode, which was mapped on a Nano over the datalink and reads correctly here on an Xtra over BLE. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.