The ultimate orb solution, at last.

SpaceOrb drivers and software discussions
Forum rules
vputz
Posts: 341
Joined: March 25 2006, 20:21 PM
Contact:

Re: The ultimate orb solution, at last.

Postby vputz » February 23 2009, 4:30 AM

[quote] I do have a question; did you design this Precision Mode to be used with 6 button or chording? In your instructions in sounds like chording but I wanted to ask. [/quote]

The button mask is for the physical buttons, but it's independent of chording (ie if you set the precision mask to 0x01 and have chording on, then when button A is pressed you get precision mode and also select page 2 of chording buttons).


[quote=squid]Do you still have any of the kits available? If so, I would very much like to purchase one already put together and tested.[/quote]
[quote=countryatheart]Ya-know I am wanting one of your kits, just tell me how you want payment...hopefully PayPal. [/quote]

Yep, paypal is probably the best way. I was trying to figure out if there was a way to have it more obviously donated toward the Orbshield project at sourceforge, but I'm not really up for more faff at the moment.



Since the immediate batch is very small and I'm not sure how many folks want them (we can make more), if you're interested in this batch send me your order (kit or finished board) and address at "vputz at nyx dot net" but don't pay yet--I would hate for someone to pay and not be able to ship them a board. I'll try to ship them this week or next and will send you the total cost for payment plus shipping; if we run out, I'll keep the addresses for a reorder (Seeed studios made a few extras to sell separately, if I understand them right), plus I can always do another batch of 5 prototypes; just takes a bit longer.

007Ray
Posts: 1
Joined: February 23 2009, 15:17 PM

Re: The ultimate orb solution, at last.

Postby 007Ray » February 23 2009, 15:24 PM

Unbelievable!! Thank you both (Victor & Jay) for all the work you have done to maintain the ORB! Such a great gaming device and if it hadn't been for the hardcore ORBers, the best gaming controller would have disappeared without YOUR relentless efforts. Thank you so much.

Imagining a Plug and Play SpaceOrb is an awesome thought. It looks as though you are at the fine tuning mode and quite heavily at that. As soon as I have my board or kit I will assist with the work as much as I can. I would love to have My Orbs working correctly and completely again. WOOO HOOO !!!
Last edited by 007Ray on February 25 2009, 13:18 PM, edited 1 time in total.

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 » February 23 2009, 22:27 PM

I don’t know if you have the difficulty opening the Arduino environment as I do Victor? If you do you must be a saint to tolerate the consent freezing, will not close, can’t shut down PC normally and have to hit reset to restart your PC constantly!! VERY TIME COMSUMING doing this numerous times trying to unload a program to the board!! And yes, I have the Arduino plugged in and both dip switches off when execute its icon. I read Arduino trouble shooting with no help. It just pisses me off that it takes me 3 times as long to upload a program then to check them out! If you have comments on this I would love to hear them!...Sorry I sound a little upset but I don’t have that much time to check out your programs (that I enjoy doing) but the Arduino software just takes up a lot of my time.



When the Arduino environment decided to work and I tried to unload your “GainDemo” this is the error I received;



In function 'void setup()':

error: 'class Orb_translator' has no member named 'set_precision_gain



That’s it for tonight my friend, let me know your thoughts on this error.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 24 2009, 4:33 AM

[quote]In function 'void setup()':

error: 'class Orb_translator' has no member named 'set_precision_gain[/quote]


Hm; check your installation of the new libraries.zip file from above (in your arduino/hardware/libraries directory; should overwrite the old SpaceOrb directory in there). The new orb_translator.h file has the set_precision_gain function.



As for the other...


[quote]If you do you must be a saint to tolerate the consent freezing, will not close, can’t shut down PC normally and have to hit reset to restart your PC constantly!! VERY TIME COMSUMING doing this numerous times trying to unload a program to the board!![/quote]

That's quite interesting--it's worked flawlessly for me actually, never crashed once. The only times it's hung have been when I have the DIP switches set incorrectly, and it always comes back after a short while (30 sec max, I think).



Now I'm pretty sure that the Arduino environment is Java-based; maybe there's a problem with your Java installation? Not sure there. But no, it's worked great for me, and I've been unplugging, replugging, reloading etc constantly.

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 » February 24 2009, 21:48 PM

[quote="vputz"]I'm pretty sure that the Arduino environment is Java-based; maybe there's a problem with your Java installation?[/quote]

Thank you Victor for the info, I don’t think it is Java giving me problems (2 new hard drives, OS, Java update Jan,09 and everything working great until Arduino). Thinking about all the trouble shooting I have already done (editing msconfig/startup etc) trying to find what was conflicting with the Arduino environment I’m going to try something new tonight. I let you know tomorrow how it works out and hopefully I’ll have tried out your Precision Mode also.

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 » February 25 2009, 21:10 PM

[quote="vputz"]The button mask is for the physical buttons, but it's independent of chording (ie if you set the precision mask to 0x01 and have chording on, then when button A is pressed you get precision mode and also select page 2 of chording buttons).[/quote]

The precision mode worked but with a little problem. In my test using HL2 I bound buttons A, B and AB to precision mode one at a time (AB doesn’t work well using mask 0x03 or 0x01 <<1, I just had to push B for precision to work). I used gain -1 & -2 with the test, they both worked well. My chording binds in your HL2 spaceorb.cfg didn’t work. They showed up correctly in the games options/keyboard bindings but in the game only a couple button bindings worked and they were working with the wrong buttons. (“jump” bound to A&C working on E, “use” bound to D working on B). Also the “exec spaceorb” I entered in the games “config.cfg” no longer works (I have to enter it in the game console, no big deal) but the commands/binds are included in the configs files?



The problem with Arduino environment is resolved; I never would have believed it was my Broadband USB Modem! It has a Micro SD Card so it can be used as a flash drive, it must have been confusing it. Anyway the environment is working very well now with the modem unplugged. :)

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

Re: The ultimate orb solution, at last.

Postby vputz » February 26 2009, 3:47 AM

[quote](AB doesn’t work well using mask 0x03 or 0x01 <<1, I just had to push B for precision to work)[/quote]

Ah, careless mistake on my part. I know what I did; I'll put up a fix later today hopefully.



If you want, you can change it yourself and try it--it's around line 243 in orb_translator.h


[code]
short this_gain = ( orb.physical_buttons & precision_mask ) ? precision_gain : gain;
[/code]


it should probably be


[code]
short this_gain = ( (orb.physical_buttons & precision_mask) == precision_mask ) ? precision_gain : gain;
[/code]


But I haven't had time to recompile/retest.



Not sure what to think of the chording problems, though. As long as the buttons are working in the control panel applet, I'd think they would be working in the game.


[quote]The problem with Arduino environment is resolved; I never would have believed it was my Broadband USB Modem![/quote]

Weird! That doesn't make sense at all to me. Well, glad you found a solution, even a non-optimal one!

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 » February 26 2009, 22:27 PM

[quote="vputz"]If you want, you can change it yourself and try it--it's around line 243 in orb_translator.h[/quote]

I am very willing to change the command if I could fine it. I found the orb_translater.h in hardware/libraries/spaceorb...line 243? I’m I looking in the right directory? I opened it with notepad and no line numbering over here on this side of the pond. I read the commands over and over and didn’t see the “short this gain = ( orb.physical_buttons & precision_mask ) ?” etc. Maybe I’m too tried tonight and just missed it, I check it out again tomorrow night.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 27 2009, 4:40 AM

Heh--sorry for not uploading new files, Ron--my sister surprise-arrived in town and I'm a bit busy. But the line should be in there somewhere; I forgot you'd probably just have notepad. If you just search for "precision_gain" it only appears a few places and you should be able to find it pretty quick.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 27 2009, 6:10 AM

Okay, boards away! (to Ron, Ray, and Jyrki; two more kits left out of this batch). I'm sorta new to this and didn't go to huge lengths to protect the boards, so hopefully they will be OK (if they arrive hopelessly broken, they should be insured, but I think they will be okay). I sent out my board and will assemble the last two this weekend and keep one if no one wants it; otherwise I'll use my prototype and make one from the next batch.



I checked with Seeed studios on the rest of the first batch, and their extras are available if you don't want a kit or assembled board: [url]http://www.seeedstudio.com/depot/orbshield-p-280.html[/url]--that is ONLY for the bare board, mind you. At the moment, there are 5 more boards, which is certainly a good option for those of you more DIY-minded; also note that because of shipping and VAT for parts, that may be a more economical way to do things if you are in the states as they are only charging $6.50 per board plus shipping. I'll check on that link periodically and may send an updated design and new "propaganda" batch with a slightly revised design to move the USB port and resistor cluster, if folks wind up buying them. Of course, you can always etch your own or take the Eagle files to a different PCB manufacturer!



Also note that there are other versions of the Arduino from the Diecimila/Duemilanove. As long as you get one that is compatible with Arduino shields you SHOULD be okay (for example, Seeed studios has the [url=http://www.seeedstudio.com/depot/seeeduino-v11-fully-assembled-arduino-compatible-p-114.html]Seeeduino[/url] which is much flatter and would eliminate the "resistors sitting too low" problem of the 1.0 OrbShield... but keep in mind the Seeduino by default has a more logical header arrangement which is NOT compatible with the slightly-broken header layout of the Arduino and you'd have to solder in some compatibility headers).

squid
Posts: 2
Joined: February 22 2009, 19:48 PM

Re: The ultimate orb solution, at last.

Postby squid » February 27 2009, 22:35 PM

vputz,

Please see my email.



Thanks,

squid

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 » February 28 2009, 0:01 AM

[quote="vputz"]Heh--sorry for not uploading new files, Ron--my sister surprise-arrived in town and I'm a bit busy. But the line should be in there somewhere; I forgot you'd probably just have notepad. If you just search for "precision_gain" it only appears a few places and you should be able to find it pretty quick.[/quote]

That’s ok Victor, I found the command tonight, made the changes and tested it. What program do you use to open and edit files? I am willing to try anything that makes files easier to read!



After editing the “precision_mask” to 0x03 (gain -2) and uploaded your Gain Demo. I first tested the Orb in the control panel applet. All axis and chording buttons worked before testing “precision mode”. Using precision mode (A&B pressed) only 2 axis (X axis & X Rotation) and the remaining buttons C, D, E and F worked.



In HL2 (using the same spaceorb.cfg with chording buttons bound) the chording buttons didn’t work and the precision mode axis results where the same as the control panel applet. I tried to bind the chording buttons to task in options/keyboard but the game didn’t recognize the buttons. I thought needed to edit the spaceorb.cfg and remove the chording binds...THAT didn’t work very well at all! It was like I unplugged the Orb, nothing worked on the Orb in the game.


[quote="vputz"]Okay, boards away! (to Ron, Ray, and Jyrki; two more kits left out of this batch).[/quote]

Thank you Victor for sending my OrbShield kit! I went to your http://orbduino.sourceforge.net to pay you but the PayPal link you had there is gone? I do want to say that your new website is bumpin’!! I can see you have a lot of time in building it and the pictures and instructions for populating the OrbShield are outstanding!!

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

Re: The ultimate orb solution, at last.

Postby vputz » March 01 2009, 13:15 PM

Okay, last two boards are assembled (I put the DIP switch backwards on one, so pins 1 and 2 are labeled wrong, but it still works fine). Probably keeping that one and sending the last good one out to Squid; that leaves 5 more boards at Seeed, plus we can always make another batch with minor revisions (I never got Jay's address, but we'll get him one eventually).


[quote]What program do you use to open and edit files? I am willing to try anything that makes files easier to read![/quote]

Well, not to begin the "free software holy war" between Vi and Emacs, but I'm an Emacs man for editing. I will warn you that it's the Programmer's Editor from Hell! For just reading stuff, typically the text-mode pager "less". I'm not sure either of these will help you much! But Emacs is truly a beast of an editor; I love it (when doing the Arduino work, I use Emacs as my external editor and only use the Arduino environment for uploading files, even though it can do some editing itself).


[quote]Using precision mode (A&B pressed) only 2 axis (X axis & X Rotation) and the remaining buttons C, D, E and F worked.[/quote]

I think that actually they were working, but there are some issues caused by the gain being so "grainy". Remember this picture:



[img]http://www.tacc.utexas.edu/~kelly/NEW_DOCS/public_html/TACC_stuff/hardware/VR_devices/hidsporb/documentation/images/orb_sensitivities.jpg[/url]



What "gain" does is take a small slice around the middle and make that the full range. But with a gain of "-2", you are cutting the possible "x range" in half--which means that, using the sensitivity curve, your possible Y range has taken a massive hit, from 512 down to 50. That's a 10x reduction in effective range with the lowest possible gain change!



What makes this worse is that it magnifies the null zone fairly considerably, which means that effectively the orb is less precise in the center when using "precision mode"! Obviously this isn't desired. When you combine this with the null zone in the half-life config, it gets even worse.



So I did two things with this release:
[list]
  • [*] Gain is now more fine-grained by a factor of 10. What this means is that where a gain of "-2" would divide things by two, now a gain of "-20" divides things by two.

  • [*] Gain is now applied AFTER the sensitivity curve. That means it does something a little more intuitive; if your normal range is -512 to 512 (actually it's 0 to 1023, but nevermind that) then applying a gain of -20 for sensitivity now makes your range -256 to 256. This seems to "feel" better.
  • [/list]


    In my halflife config, I also changed the lines for pitch and yaw threshold
    [code]
    joy_pitchthreshold 0.00

    joy_yawthreshold 0.0
    [/code]


    This means that according to HL2 there is no null zone for turning (there is still a null zone for moving). This combined with the new gain changes seems to feel a lot better.



    Note: there appears to be some granularity in the control panel applet where rotation is concerned (it looks like it "jumps"). It feels pretty smooth in HL2. See what you think.



    Extra bonus on this release: No longer is our orb referred to as "UsbJoystick"! It now properly says "Spaceorb/Spaceball". I also changed the USB vendor ID and device ID to reflect the usbavr generic HID device id. I think we'll be a bit more "legal" with regard to that, although they do say we shouldn't make keyboards and mice using that ID. Since the orbshield is a joystick which also emits keyboard and mouse reports, I think we're OK. It won't really matter as a hobbyist device, but we really should play nice when we can.



    Unfortunately I broke mouse axis binding with the gain changes, and don't have time to fix it just yet (I'll work on it soon). Download the new version via the [url=http://orbduino.sourceforge.net]Orbduino Site[/url]! I updated the docs to include some programming info as well as links to donations and download areas of the Sourceforge site.

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

    Re: The ultimate orb solution, at last.

    Postby vputz » March 01 2009, 18:00 PM

    Actually the gain changes broke "no sensitivity" axes completely, which was the problem with the mouse. Should be fixed in recent 0.9b2 library zipfile. Mouse bindings work fine again.

    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 02 2009, 16:04 PM

    Sorry I am late getting back to you, Snow storm here yesterday and I lost power.



    The Orb axis are very smooth with and without precision mode in HL2. So smooth that I really didn’t need precision mode to aim the crosshairs exactly were I wanted them with just a light touch on the Orb. The harder I pushed on the Orb the faster I would move with excellent control of movement. It must be do to the changes you made to the HL2 config pitch and yan threshold.


    [quote="vputz"]Note: there appears to be some granularity in the control panel applet where rotation is concerned (it looks like it "jumps"). It feels pretty smooth in HL2. See what you think.[/quote]

    In the Control Panel applet I didn’t notice any jumping with rotation, smooth as in the game with and without precision mode. I really do like the Orb being referred to Spaceorb/Spaceball in the control panel applet!



    I installed a new copy of HL2 “spaceorb.cfg” in the game what has my chording bindings and the bindings still don’t work. Same (“jump” bound to A&C working on E, “use” bound to D working on B etc.) as the first time I tested your GainDemo...Any ides?


    Return to “Spaceware Software”

    Who is online

    Users browsing this forum: No registered users and 21 guests