just wanted to make a comment on this, from what I've seen the fastest JVS I/O responds within 3 ~ 4ms. Some of the slower ones are closer to 10ms. I think the standard allows for 10ms.The way JVS works, is that the master sends out a request for input state, and the IO board replies within about 1ms. I will hook up the logic analyzer later and check how it performs in this regards, but I'm pretty sure the "lag" will be neglbile.
first run will be 27 boards now One for me pleaseNothing like fresh HW - couldn't resist and stopped by a local store and picked up two ridiculously overpriced header connectors, everything works Tbh, this is the simplest design I have ever done, but always nice with a successful 'bringup'. Was particulary happy with the micro USB connector - as I wasn't quite sure the type I ordered were 1-1 copies of the brand-name type I used when designing.
A couple of pics, the thing is tiny
The first run will be 28 boards. What do you guys think of the power connector - it will power the PI for those that are inclined to not use a micro usb into the PI to to that. I'm a bit tempted to either just leave the footprint there, or supply the connector unsoldered and a cable like in the picture - that way I can't really be blamed in case someone blows up their PI..
Make that 26, I NEED onefirst run will be 27 boards now One for me please
If you get stuck at some point, send me some snapshots or dumps of the LA. I'm sure I can help.It's not ready by a long shot, there is quite a bit of 'user logic' that needs to be put in place for it to work like an appliance. In the meantime, I took a capture using my LA for those that asked about lag:
This is a capture going in/out of the serial transceiver, top is the request from the game, and the second is the response from the raspberry.
This is a capture of a Sega IO (one of the jamma versions) for comparison.
This is from a raspberry Pi 3 - but I expect similar results on the zero. The JVS daemon is writtin in C, runs with real-time priority and accesses the UART directly, and besides, it's not exactly number crunching going on. In any case, well within spec
Thanks for offer, the JVS code is actually pretty much done and stable, it's the USB/peripheral stuff and general linux distro stuff that is complex & messy. Even with the USB input being open source, I wan't it to work out-of-the-box for most people.If you get stuck at some point, send me some snapshots or dumps of the LA. I'm sure I can help.
I actually built a small C programm that reads some commands from the COM port (via RS485-232 adapter) and communicates with a JVS I/O.
{
.name = "Sony PLAYSTATION(R)3 Controller",
.hasHat = 0,
.button1 = BTN_DEAD,
.button2 = 300,
.button3 = BTN_BASE5,
.button4 = 302,
.button5 = 301,
.button6 = BTN_BASE6,
.buttonStart = BTN_TOP,
.buttonCoin = BTN_TRIGGER,
.buttonTest = BTN_TRIGGER_HAPPY1,
.up = BTN_TOP2,
.down = BTN_BASE,
.left = BTN_BASE2,
.right = BTN_PINKIE,
.x = ABS_X,
.y = ABS_Y,
.racingGas = ABS_MT_TOUCH_MINOR,
.racingBrake = ABS_MT_TOUCH_MAJOR
}
/dev/input/event6 - usb-3f980000.usb-1.2/input0 - PS3/USB Cordless Gamepad
/dev/input/event5 - usb-3f980000.usb-1.3/input0 - Sony PLAYSTATION(R)3 Controller
/dev/input/event4 - usb-3f980000.usb-1.4/input0 - Logitech Logitech Cordless RumblePad 2
/dev/input/event3 - usb-3f980000.usb-1.5/input0 - Xbox 360 Wireless Receiver
/dev/input/event2 - usb-3f980000.usb-1.5/input0 - Xbox 360 Wireless Receiver
/dev/input/event1 - usb-3f980000.usb-1.5/input0 - Xbox 360 Wireless Receiver
/dev/input/event0 - usb-3f980000.usb-1.5/input0 - Xbox 360 Wireless Receiver
yesWhat do you guys mostly want this for:
consolization/bench for normal games
Racing
Exotic titles you can't play on your normal cab, i.e. odd controllers etc
Hacking/Playing around with JVS
All Racing games will use digital input along with the Analog ones, like gear switching, turbo, or events like Jambo Safari.General Analog and Racing is totally incompatible, up/down=left/right and crazy taxi which is the only racing title I've tried uses digital up/down for forward/reverse.
A couple of questions:
are there any multiplayer games (except shooters), that have inputs for multiple players, or is it safe to map analog0,1,2,3 to both sticks on a 360 controller?
Details on controls for ANY racing games are most welcome.
About switching between racing/analog mode - current thinking is to push and hold left stick down for 5 seconds, this will switch to racing mode until reboot.
Still waiting for evtest on racing wheels..
all or c - b - a - dyesWhat do you guys mostly want this for:
consolization/bench for normal games
Racing
Exotic titles you can't play on your normal cab, i.e. odd controllers etc
Hacking/Playing around with JVS