Log In  
Page:
1
2

1

Thank you for doing this. When it works, it is fantastic.

I am experiencing the same issues that others are having - the buttons very rarely work, requiring multiple restarts until they finally do. I am pretty certain that this is not a hardware problem and that the issue is some kind of timing issue / race condition since I do not experience the issue with any other SD card images on the same device and make no physical changes between restarts when repeatedly restarting the device over and over until the GPi controls are detected.

According to the project notes on a baremetal port of Abbaye des Morts by sfo0o on Bitbucket (Crash Nicker on youtube):

>> the GPi Case "gamepad controller" [A GD32 MCU (which is a sort of a "clone" of the ubiquitous STM32F103 MCUs) which pretends to be a USB Xbox360 gamepad] is really unpleasant; it needs ~1.5 - 2 second artificial delay before trying to enumerate it, otherwise it doesn't get reliably detected.

I wonder if we are seeing the same issue here?

I have taken a look at the repository linked above but not knowing anything about embedded linux development it is taking me a very long time to get my head around how this works. If anyone with a better understanding of this who knows how to test my theory and apply a workaround then please jump right in as it may be a very long time before I do! :)


@twoangrybears I don't know much about embedded Linux dev either, and I hope something be done by somebody who does to address the issue soon. I do think it might take a long time for you or somebody else to jump in and at least do a makeshift fix, however I think it might be worth it.

I do want a working Pico-8 handheld, but man, I'm surprised there aren't that many options besides PocketCHIP and GPi Case. I mean...when the latter works out, it is fantastic, but for me, it is better than on the PocketCHIP. So we're gonna have to figure things out and eventually do it ourselves, that is if we can actually do it.

Good luck to you, if nobody else jumps in though. Because I don't know who else for now.


1

@ScorchWare thank you. Unfortunately I have just sold the GPi Case so I won't be pursuing this any further. In the end I realised that I need something with a much larger screen as my eyes are not as good as they once were. I hope someone is able to get this working especially if the fix is something as simple as inserting a delay so that the gamepad controller drivers can initialise properly.


@twoangrybears Maybe it could be that simple. Maybe not. Who knows at this point. I'm checking the config.txt file and I feel confused. I don't really see a boot_delay option anywhere and when I tried adding it, it didn't work.

This is quite a conundrum.

Anyway, best of luck on your other Pico-8 endeavors. Health does come first after all.Especially eye health. :3


@ScorchWare, thanks. I suspect the delay needs to be injected immediately after trying to initialise the gamepad controller. Probably this should be done in the Pico-8 binary itself but obviously that's not something we can control. I wonder if you can replace the Pico-8 binary with a short c program that initialises the controller, waits, then uses the system call exec() to load the (renamed) original Pico-8 binary. This is the naive solution I was groping towards but it may not work.


This works every time for me
Turn on, no buttons
Turn off, remove pi cartridge, turn on
So it looks (maybe) like the game pad controller holds power when turned off removing the cart powers off the pi.
Does this work for others?


Page:

[Please log in to post a comment]