-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Build firmware instructions #3
Comments
I attempted again to build the project and now it works. Fixed by updating the tinyusb git submodule in the pico-sdk hash commit 2e6142b to the latest release tag 0.14.0. git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules
cd pico-sdk/lib/tinyusb && git checkout 0.14.0 && cd ../../../
git clone https://github.com/Staacks/gbinterceptor
cd gbinterceptor/firmware
mkdir build && cd build
cmake .. -G Ninja -DPICO_SDK_PATH=../../../pico-sdk
ninja |
Thanks. That should help others. I will add a note about it to the readme. |
Thanks for the additional steps. I hope it's okay when I comment on the same issue: My build shows a warning. Can it be ignored? Or did I miss to configure something?
|
Sorry, I had not noticed that warning before. It should not be a problem, though. Earlier versions of the GB Interceptor firmware had a USB serial endpoint enabled by default which I used for debugging. In recent builds I disabled it which basically means that debug message end up nowhere (but those are not triggered while the game is running anyway) unless I explicitly enable the CDC endpoint. gbinterceptor/firmware/CMakeLists.txt Line 33 in 0ad6aec
but if I am not mistaken, that should not make a difference except for the warning. |
I know this issues is closed and I wonder if I should open a new one. The firmware builds fine. However, when I build locally, my .uf2 file does not run properly. The USB device is listed but when I open it in VLC, I don't see nothing. I've tested this on a GB Interceptor I bought online (https://chaos.social/@maehw/111744070372283492). Overwriting my locally built one with the release version from github (https://github.com/Staacks/gbinterceptor/releases/tag/v1.2.0) makes it work again. I am quite sure this is not related to the hardware but to my local build. (I use the same git commit, i.e. 0ad6aec - the current HEAD). Mine: filesize: 605184 bytes, md5 hash: 18781f9109015cc79da16a937391e52c How could I debug this in the best way? Binary diff the .uf2 files, the .hex files? Sorry if I missed something. |
Sorry, I don't have much spare time at the moment, but hopefully I can try a build with entirely clean pulls this evening. However, I already have a suspicion since you mentioned your pico-sdk version: They still seem to include an old commit of TinyUSB as a subrepository that did not yet include bulk transfer for UVC. I suspect that I pulled the latest commit in this subrepo without realizing that others trying to build would no know about it. So, if you pull the latest TinyUSB in the pico-sdk lib folder, does it fix the build for you? |
Thanks for having a look into this! It's very much appreciated. I tried to pin pico-sdk to commit hash 2e6142b15b8a75c1227dd3edbe839193b2bf9041 and then pin lib/tinyusb to tag 0.14.0, i.e. commit hash 9e91b02ec7fb3502747b5c413a4824654fa7fc7e as mentioned above. However, this throws TUD_VIDEO_DESC_* errors. This can be reproduced locally and with the GitHub Actions CI) https://github.com/maehw/gbinterceptor/actions/runs/7519981657/job/20469147860 (Build log) |
Again sorry, did not get around to try today, so just one quick observation and hopefully testing tomorrow: |
No worries, Sebastian. Thanks for your quick help - and making your baby an open source software project! Your hints finally helped, see #26 👍 I pinned pico-sdk to 1.5.1 and tinyusb to 0.16.0 (the most recent release versions speaking of today). As the include file ...
seems to have moved, I replaced it by
which makes it build again. (Not sure if this is 100% clean, but it does the trick.) Happy to hack on this now: Edit: As this is my first rp2040 project.. I am also new to this. I discovered that there is
... and maybe also commit hashes of pico-sdk and tinyusb being used for a build. 😄 |
just as a sidenote: would be nice to add a github actions to this project to have reproducible builds 👍 |
I know... @maehw has already submitted a pull request. Since I have never used this before I want to take some time to properly look into it, but I am just pushing it up and down my todo list as I am a bit swamped at the moment. |
Describe the bug
I cannot build the firmware with the latest rpi-pico sdk.
To Reproduce
Expected behavior
No compiler errors when building and binary output in cmake output directory.
Error
After I add this to tusb_config.h
It starts to compile alas I get more errors due to macros not being defined.
I suspect the firmware was developed for an older version of the rpi-pico sdk, could you mention which tag or hash commit you used from the rpi-pico sdk to reproduce the build.
The text was updated successfully, but these errors were encountered: