MickGyver / DaemonBite-Arcade-Encoder

An arcade controller project for the MiSTer FPGA project and any other device accepting USB HID joysticks. Up to 12 buttons are supported. Can also be used to create NeoGeo/Atari/Commodore/Amiga controller to USB adapters.
GNU General Public License v3.0
283 stars 48 forks source link

In emulationstation problem #5

Closed PIBSAS closed 3 years ago

PIBSAS commented 3 years ago

Hi, thanks for this great code, is really fast, have a problem with the joystick, mine have switches instead of potenciometers, this maybe, cause that when choose console or game, step 4 consoles or games only pressing once the joystick, in the game works great, but can figureout how to fix it, try ps3 and neogeo option, the same issue

0x15e commented 3 years ago

I had a similar problem with my build. Try looking in the source for the place where debounce is configured and enable it. That took care of my problem and didn't add any discernable lag.

Edit: and it should go without saying but once you make the change in the source you'll need to reprogram the Arduino.

PIBSAS commented 3 years ago

Thanks for the quick help, i try your solution, hope too works🙏 cause the code its amazing.

PIBSAS commented 3 years ago

Thank so much!!! Hours try different things and the answer already there hehe . For someone else with this Not an Issue, the simple solution is, in the sketch(DaemonBiteArcadeEncoder.ino), just change this line:

define DEBOUNCE 0

to

define DEBOUNCE 1

compile and upload just that, thanks again for the really fast help. Now i can play without lags and perfect in a pi 4, with pi os in retropie 4.7.9. Thanks!

juri74 commented 3 years ago

Thank so much!!! Hours try different things and the answer already there hehe . For someone else with this Not an Issue, the simple solution is, in the sketch(DaemonBiteArcadeEncoder.ino), just change this line:

define DEBOUNCE 0

to

define DEBOUNCE 1

compile and upload just that, thanks again for the really fast help. Now i can play without lags and perfect in a pi 4, with pi os in retropie 4.7.9. Thanks!

thanks but this will add 10ms of lag!

PIBSAS commented 3 years ago

Thank so much!!! Hours try different things and the answer already there hehe . For someone else with this Not an Issue, the simple solution is, in the sketch(DaemonBiteArcadeEncoder.ino), just change this line:

define DEBOUNCE 0

to

define DEBOUNCE 1

compile and upload just that, thanks again for the really fast help. Now i can play without lags and perfect in a pi 4, with pi os in retropie 4.7.9. Thanks!

thanks but this will add 10ms of lag!

I dont have tools for measure delay, in real life isn't difference Jury, is working perfectly my joystick, i push all buttons without delay, and in the readme page of this code say that delay is max 1.28ms . I dont notice any change when change debounce to 1 , if in laboratory the delay change to 10ms i couldn't see any difference. By the way, zero delay board have 15ms of delay, so equally we have -5ms of delay with this code. In my particular case, i can play games with debounce 0, but in the menu emulationstation all go wrong, like if we push Re Pág in a text processor(the behaviour). So if you want the minimum delay posible(readme) just use the code like it is, with debounce 0, and navigate emulationstation with a keyboard or ir control, but if you want manage with your diy joystick at emulationstation then put debounce 1, is just a choice, in both case no visible delay in real world, if you notice it, maybe check your solder joints with a tester, checking a correct continuity, and dont put large cable, just the correct large for make the solder. You can see my tutorial with my diy joystick with this cool code if you google my name "Luciano Rabassa". Give it a try to this code, MickGyver make a great work!!!

MickGyver commented 3 years ago

The debounce function will only add about 32µs of lag, not 10ms. /MickGyver On Thursday, April 1, 2021, 05:31:30 PM GMT+3, Raspberry Pi Buenos Aires @.***> wrote:

Thank so much!!! Hours try different things and the answer already there hehe . For someone else with this Not an Issue, the simple solution is, in the sketch(DaemonBiteArcadeEncoder.ino), just change this line:

define DEBOUNCE 0

to

define DEBOUNCE 1

compile and upload just that, thanks again for the really fast help. Now i can play without lags and perfect in a pi 4, with pi os in retropie 4.7.9. Thanks!

thanks but this will add 10ms of lag!

I dont have tools for measure delay, in real life isn't difference Jury, is working perfectly my joystick, i push all buttons without delay, and in the readme page of this code say that delay is max 1.28ms . I dont notice any change when change debounce to 1 , if in laboratory the delay change to 10ms i couldn't see any difference. By the way, zero delay board have 15ms of delay, so equally we have -5ms of delay with this code. In my particular case, i can play games with debounce 0, but in the menu emulationstation all go wrong, like if we push Re Pág in a text processor(the behaviour). So if you want the minimum delay posible(readme) just use the code like it is, with debounce 0, and navigate emulationstation with a keyboard or ir control, but if you want manage with your diy joystick at emulationstation then put debounce 1, is just a choice, in both case no visible delay in real world, if you notice it, maybe check your solder joints with a tester, checking a correct continuity, and dont put large cable, just the correct large for make the solder. You can see my tutorial with my diy joystick with this cool code if you google my name "Luciano Rabassa". Give it a try to this code, MickGyver make a great work!!!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

PIBSAS commented 3 years ago

Thanks for the real tech answer your code rocks 😎 Really thanks 👏👏👏

juri74 commented 3 years ago

Thank you! i read the 10ms on the code, 32µs is nothing :)

#define DEBOUNCE 0 // 1=Diddly-squat-Delay-Debouncing™ activated, 0=Debounce deactivated #define DEBOUNCE_TIME 10 // Debounce time in milliseconds