Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add support for HID Bootloader generation #6

Merged
merged 5 commits into from
Jul 18, 2021

Conversation

drashna
Copy link
Member

@drashna drashna commented Sep 20, 2019

This is from qmk_firmware#2479 which adds the ability to generate a HID Bootloader for boards.

Additionally, this ports the pin mapping from config_common, so that it's more accurate and supports more boards.

@drashna drashna requested review from a team December 1, 2019 07:32
Copy link
Member

@fauxpark fauxpark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I finally got around to testing this, on a Pro Micro - speaker and LED work 👍 Toolbox doesn't know what to do with it, of course, it thinks it's a DFU device because of the VID, but that can easily be sorted out.

Small disappointing thing: because Windows gives this the HidUsb driver, the vendor and product strings don't show up. We'll need to get these strings using HidLibrary or something similar for the Windows toolbox.

Otherwise, LGTM 🎉

Bootloaders/HID/BootloaderHID.c Outdated Show resolved Hide resolved
Bootloaders/HID/BootloaderHID.c Outdated Show resolved Hide resolved
Bootloaders/HID/makefile Outdated Show resolved Hide resolved
Bootloaders/HID/Descriptors.c Outdated Show resolved Hide resolved
Bootloaders/HID/BootloaderHID.c Outdated Show resolved Hide resolved
Bootloaders/HID/Descriptors.c Outdated Show resolved Hide resolved
Bootloaders/HID/Descriptors.c Outdated Show resolved Hide resolved
Bootloaders/HID/Descriptors.c Show resolved Hide resolved
Bootloaders/HID/BootloaderHID.c Show resolved Hide resolved
@fauxpark
Copy link
Member

fauxpark commented Jul 1, 2021

Would like to get this in this breaking changes cycle.

@drashna drashna requested a review from a team July 14, 2021 22:59
@fauxpark
Copy link
Member

Conflict on gitignore now.

@drashna drashna force-pushed the feature/qmk_bootloader_hid branch from 9cf7692 to b2efce1 Compare July 15, 2021 03:10
@drashna
Copy link
Member Author

drashna commented Jul 15, 2021

Done.

@drashna
Copy link
Member Author

drashna commented Jul 15, 2021

Okay, I finally got around to testing this, on a Pro Micro - speaker and LED work 👍 Toolbox doesn't know what to do with it, of course, it thinks it's a DFU device because of the VID, but that can easily be sorted out.

Small disappointing thing: because Windows gives this the HidUsb driver, the vendor and product strings don't show up. We'll need to get these strings using HidLibrary or something similar for the Windows toolbox.

From the looks of it, it works exactly like the halfkay bootloader, just ... larger.

There is included source for creating a version of teensy_loader_cli that supports both device types, but it's also outdated. I have updated code, and ... may should add it here too.

@drashna
Copy link
Member Author

drashna commented Jul 15, 2021

Also, done now.

Additionally, it would be trivial to add a different VID/PID combo to the cli

@drashna
Copy link
Member Author

drashna commented Jul 15, 2021

Hmm, this is compiling over 2kb for me. I think it is supposed to come in under that.

The at90usb1286 config does come in under 4096 by a good margin, though.

@fauxpark
Copy link
Member

Hmm, this is compiling over 2kb for me. I think it is supposed to come in under that.

Nah, the boot section size in the makefile is set to 4kB. I think this would be the case for all of the LUFA bootloader, except of course the mass storage one.

@drashna
Copy link
Member Author

drashna commented Jul 15, 2021

Hmm, this is compiling over 2kb for me. I think it is supposed to come in under that.

Nah, the boot section size in the makefile is set to 4kB. I think this would be the case for all of the LUFA bootloader, except of course the mass storage one.

Okay, wasn't entirely sure.

@drashna drashna force-pushed the feature/qmk_bootloader_hid branch from 3013985 to b2efce1 Compare July 18, 2021 16:04
@fauxpark fauxpark merged commit c7c5f65 into qmk:master Jul 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants