How to integrate USB HID pull request into PlatformIO for testing

I’ve been following this PR chain on the stm32duino GitHub for a long time. It’s about time that USB DFU comes to non-maple cores!

I’d like to contribute to the testing of this PR to get it merged faster, but I’m not exactly sure how to get it set up on my system for testing. In the PR, there are instructions for which steps and other changes need to be made to different parts of the core to make it work, but this doesn’t seem to apply easily to PlatformIO’s stm32duino integration. I have two main questions:

  1. Where would I put the version of the stm32duino core from the PR in my file system?
  2. The PR mentions changes to the stm32duino/Arduino_Tools repo, but I can’t find where this is anywhere. How does this play into the rest of the core?

Thanks!

1 Like

PlatformIO home directory (/home/<user>/.platformio or C:\Users\<user>\.platformio) and then the framework-arduinoststm32-maple folder in packages.

PlatformIO has a tool-stm32duino package with those binaries.

The tool’s download path is referenced through the platform’s (ststm32) package.json file (platform-ststm32/platform.json at 63e9cd08712a60b1810032c73d0ec713d68e48f4 · platformio/platform-ststm32 · GitHub) and the manifest.json (platform-ststm32/platform.json at 63e9cd08712a60b1810032c73d0ec713d68e48f4 · platformio/platform-ststm32 · GitHub and Your Gateway to Embedded Software Development Excellence · PlatformIO).

So you can either modify your files in-place and adapt the files above to point to new repositories.

For modifying or adding the invocation of an upload tool (i.e., the upload_protocol), look here.

1 Like

So I see, interesting. The directory structures of the directories look very different from one another. You’re saying that the modifications to package.json and manifest.json address the dramatically different folder structure? How exactly does that work? Sorry if this question feels asinine.

See Custom Development Platforms — PlatformIO latest documentation