-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
Alright, @mondalaci @ert78gb this seems to be working on my side. Testing instructions:
|
Thanks, very excited about this! Robi will probably have time to implement his part the next week. |
7bceb91
to
36300f7
Compare
Migrate to new keyid mappings.
I would like to download the firmware from the CI, but it not building, because the CI runs only when the base/destination branch of the pull request is the |
I see, will solve in a minute. Also will remove 0x1c command and readress 0x1d to 0x1c. |
Done. |
thx. the |
You are welcome :-) |
Please let's use |
@kareltucek in the last step of Example: The right half contains the dongle BLE address, but the dongle does not contain the right half BLE address. I am thinking on it to decrease the number of delete and write commands, because less communication causes less trouble.
|
You don't need to be in pairing mode in order to check if a device is paired. You should check both devices, and if either of them is not paired, you should delete the bond on the other and then pair them with the full procedure. If you decide to pair, you always send both 0x18 and 0x19, where peripheral (0x18) should go first. All occurences of 0x1c, 0x16, 0x17, 0x18 and 0x19 in the pair.sh script are obligatory.
Sending a zero address stands for "delete all bonds". If you send a (non-zero) address, it will delete only that one bond. |
As for decreasing the number of commands, I could restructure the protocol to use less command calls, but honestly, I would prefer not to, for sake of readability of the entire process. |
We're far from using the entire device protocol command ID space, and some legacy command IDs can be reused, so I'm not worried as long as we create new commands judiciously. |
Now we are talking about number of calls during one pairing procedure, not the total of distinct command opcodes. |
Oh, I see. No worries about this, either. Pairing is a rarely occurring process whose protocol doesn't have to be optimized. Readability and simplicity should prevail. |
This is blocking me -> merging. @ert78gb if you need a newer testing firmware, please use master-paired |
@ert78gb here is some PoC of the pairing process so that you can start working on it.
It still has some minor bugs, such as left half not working after pairing though.
You will find some documentation in doc-dev/other/pairing/ of this PR.
Closes UltimateHackingKeyboard/firmware#876
Closes UltimateHackingKeyboard/firmware#980
Closes UltimateHackingKeyboard/firmware#877
Closes UltimateHackingKeyboard/firmware#964