The ultimate orb solution, at last.

SpaceOrb drivers and software discussions
Forum rules
User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 10 2009, 21:56 PM

[quote="vputz"]Heh... yep, you can see why I was pretty excited about it. And two-handed "move with orb, shoot with mouse" play works REALLY well too; it's the best of both worlds because you have the orb for fast coordinated motions and the mouse for precision sniping, with the spaceball's 12 buttons for weapon selection etc.
[/quote]

You said in one of your earlier post about 2 handed playing with the Ball & mouse but I thought it would be a pain in the butt. Well... I was wrong. I tried playing HL2 tonight 2 handed, it really did work great and I like it Victor! Speed and precision is outstanding. Thank you for the tip!!


[quote="vputz"]Let me change the orbserial program to try and output what it's seeing for a ball data packet (or any packet). If we can get that working, great, otherwise I may well ask you to borrow your 5k and see, but I'm not sure we'll be able to get it going.[/quote]
Sounds good to me, if your orbserial program doesn’t work I’ll send the 5000k and you can keep it. I don’t have a use for it unless you want to do same testing with it later on.


[quote="vputz"]Note two minor things: don't turn on chording, and use a little caution with the sensitivity table, because it's already got an internal sensitivity curve. But if it feels like it's doing what you want, don't change a thing![/quote]
I did play with the sensitivity tables and I see what you mean...it didn’t workout very well! It confused the ball and it didn’t know what to do (push forward on the ball and it would move sideways and lookup etc). It does like your latest “pitch and yaw threshold) values 0.00 in the “spaceorb.cfg” so I am leaving them the way they are.



As for chording, I wouldn’t know what to do with 144 button bindings? I have a hard enough time remembering 12. :roll:

ranavalone
Posts: 2
Joined: January 08 2009, 15:28 PM

Re: The ultimate orb solution, at last.

Postby ranavalone » March 12 2009, 4:31 AM

About the Spaceball 5000 vs 4000 differences; a related comment from "VVVV: A Multipurpose toolkit" ("toolkit for realtime video synthesis" - read that from the website, otherwise I wouldn't know anything about it :lol: ) forums (http://vvvv.meso.net/tiki-view_forum_thread.php?topics_offset=&topics_sort_mode=&topics_threshold=&topics_find=&comments_parentId=838&openpost=1&comments_threadId=6465&forumId=7&comments_sort_mode=commentDate_asc):



"... as far as i remember the main difference is that the positioning packets for the 5000 are 4 bytes long, while for the 4000 and 2003 (both slighlty different) the packets are just 2 bytes long. i think this is because of the higher resolution of the 5000."



People there seem to have been struggling with the same lack of documentation for Spaceball 5000 (and later 3Dconnexion devices) communication protocol. It all seems a bit strange; e.g. the 3Dconnexion serial device "driver" for Windows isn't really a driver - after you install their driver package, Windows XP will still request you to install a (proper) driver for the Spaceball 4000 at every boot - it's just a piece of software talking directly to the serial devices and implementing a 3Dconnexion defined API.



One reason they are doing their own API could be because 3Dconnexion are supporting these devices in Linux/Unix/Windows environments where e.g. no common joystick API exists across these environments, but it's hard to understand (from the independent software developer's point of view) why the actual communications protocol seems to be a closely guarded secret ("use our SDK to interface with the devices"). It can't be "rocket science" :) At least not _that_ much different from SpaceBall 4000 communications protocol, for which documentation can be found on the net.



Note that the vvvv "driver module" for Spaceball 5000 may or may not be helpful; it seems to be sort of an XML-based specification for a plug-in from which a short look didn't yield much useful information...

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 12 2009, 5:55 AM

Good find anyway! I tried to make sense of the v4p but ... yeah, it's eluding me.


[quote]"... as far as i remember the main difference is that the positioning packets for the 5000 are 4 bytes long, while for the 4000 and 2003 (both slighlty different) the packets are just 2 bytes long..."[/quote]

Hmmmm. We're already losing a ton of resolution on the 4k (right now the orb driver goes from 0 to 1023 since the spaceball was -512 to 512; the 4k has higher resolution but I didn't want to muck with the packet and it feels just fine for gaming). But that's a good find if they're right, because...


[quote]In CP properties only axis (X&Z rotation) worked the most but not like the Orb, the others just wiggled a little (very little).[/quote]

So let me think a bit. If we had reasonable (low values) for two-byte reports a series of six packets might look like "0l0l0l0l0l0l" (where "0" is "all bits zero" and 'l' is "a few low bits as the ball is displaced from zero"). If we had similar values for six-byte reports we'd have "00ml00ml00ml00ml00ml00ml", where "m" is "a few bits set but not as many as before". Line them up, and


[code]
xx yy zz rx ry rz
0l 0l 0l 0l 0l 0l
00 ml 00 ml 00 ml...
[/code]


We would be showing some motion on the Y axis, some on RX, and some on RZ, with some motion (very small wiggling) on X, Z, and RY with big deflections of the ball (the "00" bytes above would actually have a few bits set, but with a huge deflection in the ball, you may only see veeery small values there). That actually sounds a bit like what Ron was seeing; the missing item is the Y axis. The Orbduino would silently drop the rest of the packet.



Ron, clarification--did you ONLY see motion on RX and RZ, or did you see some on Y as well?



I did look through the vvvv "driver" and noticed this line:


[code]
<PIN pinname="Input 2" slicecount="1" visible="1" values="|dH000H000H000H000H
00AH000&cr;dH000H000H000H000H000H000&cr;|">
[/code]


Note the "d" followed by six four-byte packets. Hm, reading that file more, I see things which do regex matching on "k(bytes)<cr>" and "d(24 bytes)<cr>". A 'K' packet is a button packet and a 'D' packet is a ball motion packet on the 4k, which (if each axis sent 4 bytes of data) would be 24 bytes long. I'm not sure if the 5k is sending lowercase letters ("d" rather than "D"), or if the vvv software is downcasing stuff randomly... and I can't tell if the first byte of the four-byte ball data packet really is "H" or if that's a placeholder.



Ron--are the X, Z, and RY axes on your 5k stuck at 0 or stuck at some value over halfway across? Use the Basic4k sketch.



I also see them using the "k" button packet, where the 4k uses a different packet. With the Basic4k sketch, are you still getting buttons?



Curiouser and curiouser. I'll try and get that serial thing together at some point, probably next week. Busy weekend.

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 12 2009, 9:26 AM

Sounds like I was on the right track; see these posts ([url=http://www.3dconnexion.com/forum/viewtopic.php?t=2249]here[/url] and [url=http://www.3dconnexion.com/forum/viewtopic.php?t=2254]here[/url] on the 3dConnexion site. But if this Andre-John Mas chap is right, they're doing some strange encoding of a 16-bit signed integer into at least three bytes, which is a bit frustrating. I've written him to see if he had any luck, but I'm not expecting much.



Well, it may be fun to play with it. We'll see what we can learn. I also may at some point consider making the underlying HID descriptor allow more fine-grained reporting (go from 10-bit to 16-bit maybe) but that's a pain to do and may cause some issues without a huge gain, so may hold off there.

User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 12 2009, 19:39 PM

[quote="vputz"]Ron, clarification--did you ONLY see motion on RX and RZ, or did you see some on Y as well?[/quote]
Yes, the first time I tested the 5k I only seen motion on RX and RZ...nothing on Y and X axis.


[quote="vputz"]Ron--are the X, Z, and RY axes on your 5k stuck at 0 or stuck at some value over halfway across? Use the Basic4k sketch.[/quote]
Tonight I did 4 tests with the 5k in the control panel calibration applet using your Basis4k sketch. The reason I did 4 was the raw data values were different from the values I seen the very first time I tested the 5k. Also note that each time I tested the 5k the raw data values changed. It is weird, the more I used it the better it worked? I know this must sound stupid but could it be that the computer received a packet from the 4k and is trying to make the 5k work?



Here are the results of the last test. Note; that all axis raw data values were 512 before touching the ball.



Y – 510 to 514 (pushing forward and backwards)

X – 509 to 513 (pushing left and right)

Z – 496 to 512 (pulling up and pushing down)

RX – 360 to 702 (tilt forward and backwards)

RY – 767 to 283 (tilt left and right)

RZ – 301 to 757 (twist left and right)


[quote="vputz"]I also see them using the "k" button packet, where the 4k uses a different packet. With the Basic4k sketch, are you still getting buttons?[/quote]
Yes, all the buttons work as numbered on the 5k with the exceptions of A, B and C that are buttons 10, 11 and 12.



I hope this helps Victor, if you need any more information just let me know.

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 14 2009, 1:59 AM

We may have a winner; I got in touch with Andre-John Mas, who had this to say about the situation:


[quote]
I managed to dig up the e-mails from Vojtech Pavlik, who I had contacted

for some help.

...

Amongst other things he said:



> And I just verified it: This thing speaks completely the Magellan

> protocol and should work out of the box with the magellan.ko driver

> and 'inputattach --magellan /dev/ttyS0'
[/quote]


The magellan.c file looks very straightforward in the Linux kernel (in fact there must be some differences because it's almost simpler than the spaceball 4k protocol). I'm away at the UK Maker's Faire this weekend but can try some completely untested support in the coming week and see what we get.



It will also mean that the OrbShield should work with the Magellan SpaceMouse devices (the serial ones)! Pretty groovy stuff if true, although I don't see any on eBay right now.

RadioBozo
Posts: 4
Joined: January 20 2009, 21:38 PM

Re: The ultimate orb solution, at last.

Postby RadioBozo » March 16 2009, 13:45 PM

every piece of info I have found so far tells me all of these are 10 bit resolution. I did find schematics of sorts for the Spaceorb 360 and Magellan, and a few others as well, by doing a patent search. I took one of my 360's apart, the ball part quit working. I have the color code for the ball sensor assy, but haven't had a chance to make up a test jig to test my theory (using an atmega168 chip (Arduino) to replace the original board).



Rob

Clearwater, Fl.

User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 16 2009, 19:48 PM

Victor,



I know you are very busy but I wanted to tell you about a problem with one of your 0.9b2 files. In an attempt to build a sketch so the Orb would work in Quake4 I discovered that the “keyboardAxisBingDemo” in your Orbduino - 0.9b2 files doesn’t play well with the Orb and windows...Programs popup from nowhere, programs in the start menu were highlighted in blue and flickering...not good for an old mans heart! I checked out the rest of the Demos and they worked well.

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 18 2009, 4:29 AM

Heh heh heh... I'll check it out, Ron. Um, "worked fine for me"! I wonder what's up; sounds like it's sending windows-key reports or something.



Rob: Hmm, interesting. They are definitely sending 16-bit reports (the Spaceball and Magellan, not the SpaceOrb). I figure 10 bits is enough for gaming so it's not a problem, but it's something to think about.



I'm bidding on a Magellan serial, so we'll see how that goes. I'll try to muck about with the orb today; been sick and getting a little behind at work so time's a bit tight.

User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 18 2009, 21:16 PM

Sorry to hear you’re sick Victor, take some time off and get well!!


[quote="vputz"]Heh heh heh... I'll check it out, Ron. Um, "worked fine for me"![/quote]
Yea, I thought you might say that, things always work better on that side of the pond :D ...Just get well my friend.

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 20 2009, 18:26 PM

Well, doing much better--had time to put in the text of some Magellan/5k code, but haven't had a chance to try it yet. I did go ahead and get a Magellan from eBay (as a thorough crosscheck of adding a new device, and I was just curious), but it won't be here for a while.



From the looks of things, a more straightforward protocol; I'm not sure if it'll work with the 5k or not, but we'll see. I may try compiling it and putting it up on Sunday if I have time (tomorrow is busy) as well as testing the keyboard bindings, but I'm imagining some trouble with it to be honest (it's simpler code, but testing it may be a bit tricky).

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 22 2009, 9:14 AM

Ron:



I actually don't know what will happen with these, but back up your existing SpaceOrb directory try this one (it works fine with my 4k so should be OK), and try out the included Basic5k sketch with your 5k and see if anything does anything.



I've tried a few tests by sending data to the buffer and saying it's a 5k, but without an actual Magellan/5k, I can't tell if it's doing anything reasonable, so this may do nothing at all.



Also--I tried my keyboard axis binding thing again--worked like a champ, no troubles at all. Weeeeird.
Attachments
test_Basic5k.zip
(715 Bytes) Downloaded 258 times
test_SpaceOrb.zip
(133.52 KiB) Downloaded 278 times

User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 22 2009, 10:04 AM

Busy day, I’ll try your new 5k files later today or tonight Victor.


[quote="vputz"]Also--I tried my keyboard axis binding thing again--worked like a champ, no troubles at all. Weeeeird.[/quote]
I used a different Orb and still had problems with your KeyboardAxisBindingDemo. I found that Axis X is the trouble maker on my computer. In the control panel calibration applet Axis X works well on the negative side (raw data drops to “0”), on the positive side that’s when exciting things start happening...raw data values start flickering and goes away...Microsoft Office Outlook setup pops up (I guess it likes MS Office Outlook because it pops up every time)...I then unplug the Orb to keep the excitement down the a minimum! The problem might be with something I have installed (Microsoft Office, Logitech Set Point etc.) that’s conflicting with this Demo? When I have time I’ll try stopping processes running in the back round to find what might be causing the problem.

vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » March 22 2009, 14:10 PM

Hm, can't figure that out yet. It shouldn't really be anything conflicting--because all that's happening is the orb is sending keystrokes (and for that demo, should only be WASD, nothing fancy). I've looked and don't see anything obvious, but I'll think about it a bit more.

User avatar
countryatheart
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Re: The ultimate orb solution, at last.

Postby countryatheart » March 23 2009, 5:03 AM

Sorry Victor, I checked out the 5k test files with my 5k in the control panel applet and nothing worked, no axis or buttons. When I tried to calibrate the 5k and the raw date stayed at 512. I also tried the “test_Basic5k” with the Orbduino 0.9b2 spaceorb libraries file (I had to change the 5k test “logical_orb orb-buffer ( SpaceBall5000 ); to 4000) and it worked as I explained in my last 5k test 03/12 post.



I haven’t had time to mess with the KeyboardAxisBindingDemo to see why it isn’t working on my PC. I’ll let you know when if I fined anything.


Return to “Spaceware Software”

Who is online

Users browsing this forum: No registered users and 4 guests