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

LUFA BootloaderHID #2479

Closed
wants to merge 6 commits into from
Closed

Conversation

scott-t-wilson
Copy link
Contributor

Updates the HID Bootloader with similar features as the DFU bootloader: QMK_LED/SPEAKER/ESC. Also adds a new target 'bootloaderhid' that triggers the new build.

@jackhumbert
Copy link
Member

jackhumbert commented Mar 7, 2018

Nice! This is awesome :) is BootloaderHID compatible with the teensyloader? I'm not sure if we should be using the official VID/PIDs here.

I think it might make sense to commit some of these changes to qmk/lufa, right? I'm not sure if committing them here will push them to our specific Lufa fork.

@scott-t-wilson
Copy link
Contributor Author

Is qmk/lufa pulled in at some point? It doesn't look like its a subproject.

As far as teensyloader- I've been reading up on it, and apparently lufa was made 'incompatible' on purpose. Paul apparently requested that compatibility be obfuscated to make it harder on teensy clones. Its really easy to make it work, but I guess you shouldn't have a teensy compatible bootloader in qmk.

I do think a driverless bootloader is extremely important. Getting the DFU bootloader to work on windows 10 is a huge problem for a lot of people. I guess the best direction would be to have this HID bootloader, with QMK Toolbox compatibility added. I'm more than happy to open issues/pull requests on Toolbox when I get to that point, but I don't have a windows dev environment to test anything.

@jackhumbert
Copy link
Member

Ah, it must be a subtree then. Let me look into this a bit - I'm not sure of the best way to get that updated then.

Yeah, I think we should develop a different VID/PID to use in coordination with the QMK Toolbox, to respect the work that PJRC's put into the Teensy system. I'm not sure if there's already a standard alternative.

Agreed! The solution we have lined-up for the Toolbox is to prompt them to install the drivers on start-up - I think this will be included in 0.0.10 for Windows at least. We'd be happy to support the BootloaderHID there as well :)

@harshitgoel96
Copy link
Contributor

i somehow managed to delete bootloader on my ymd 96... can someone help me how to find/build one ? the default one was bootloaderhid i think.

@drashna
Copy link
Member

drashna commented Mar 24, 2018

@harshitgoel96 It may be best to open up a separate issue, since this seems unrelated to the PR.
That said, if you can find the bootloader HEX/BIN file for your chip, you can ISP flash it.

@@ -73,8 +73,8 @@ const USB_Descriptor_Device_t DeviceDescriptor =

.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,

.VendorID = 0x03EB,
.ProductID = 0x2067,
.VendorID = 0x16C0,
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
.VendorID = 0x16C0,
.VendorID = 0x03EB,

.VendorID = 0x03EB,
.ProductID = 0x2067,
.VendorID = 0x16C0,
.ProductID = 0x0478,
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
.ProductID = 0x0478,
.ProductID = 0x2067,

@drashna
Copy link
Member

drashna commented Mar 27, 2019

@scott-t-wilson Could you fix the device IDs, so we can see about merging this?

Copy link
Contributor

@yanfali yanfali left a comment

Choose a reason for hiding this comment

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

This looks great.

bootloaderhid:
make -C lib/lufa/Bootloaders/HID/ clean
echo "#ifndef QMK_KEYBOARD\n#define QMK_KEYBOARD\n" > lib/lufa/Bootloaders/HID/Keyboard.h
echo `grep "MANUFACTURER" $(ALL_CONFIGS) -h | tail -1` >> lib/lufa/Bootloaders/HID/Keyboard.h
Copy link
Contributor

Choose a reason for hiding this comment

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

Heredoc conversion would be helpful

@drashna
Copy link
Member

drashna commented Jul 30, 2019

@scott-t-wilson would you be willing to revisit/update this PR?

The lufa fork in question is up to date now, and there is a PR to switch to using it as a submodule (#6245)

@drashna drashna self-assigned this Aug 2, 2019
@drashna
Copy link
Member

drashna commented Sep 20, 2019

@scott-t-wilson this PR is basically broken now. LUFA has been moved to a submodule, so it's in its own repo now.

If you could, move the relevant changes there, and update this PR.

Edit: I've taken it upon myself to open a PR to our LUFA repo: qmk/lufa#6

If you are able and willing to update this PR, it should be pretty close to ready.

@stale
Copy link

stale bot commented Nov 20, 2019

Thank you for your contribution!
This pull request has been automatically closed because it has not had activity in the last 30 days. Please feel free to give a status update now, ping for review, or re-open when it's ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants