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 18 2009, 14:08 PM

And in other news... well, here's my weekend sorted:



[img]http://orbduino.sourceforge.net/images/IMG_1413.JPG[/img]



I've taken the liberty of ordering enough parts to stuff all these. I'll do one first, and if it works I'll just stuff the rest while I'm in production mode, UNLESS you want the jollies of soldering it yourself--then I can certainly send you a kit with all the parts. I'll figure cost at some point; looks around $10-$15 for the board, plus you'll need an arduino for $20ish, plus a bit more depending on how long it takes me to solder them. I'm not all that great at this.



I sure hope they work--they look awesome.

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 18 2009, 20:38 PM

[quote="vputz"]Sure, we'll try the precision-mode thing; it was bugging me that it's not in yet.
[/quote]

It’s great that you’ll try the precision mode, the Orb needs it for aiming badly. I’m looking forward to giving it a try.


[quote="vputz"]But let's get chording working first. Before HL2 configuration, what's it doing in the control panel applet?[/quote]

Sorry I forgot to mention the control panel applet results last night. The chording worked great in the applet over here also. I just couldn’t get it to work in HL2. I’m going to keep working on it. One idea I have is removing the button bindings for “joy 1 &2” then adding bindings and task to the chording buttons (aux) I want to use in the spaceorb.cfg.


[quote="vputz"]Close... the four face buttons are the only buttons that register, and the edge buttons (A/B) determine the "page" for the four face buttons.[/quote]

I reread my post and see I didn’t write what I was thinking (as normal). Thank for explaining anywho. :)



Your new boards DO look awesome and I am looking forward to getting my hands on one of those babies! Good idea you buying all the components, that way everyone’s OrbShield will be the same. One thing I would take into consideration if anyone wants to solder their own board is diodes and the Max 233 are directional.



Let me know Victor when you’re ready to sell the boards, I would like mine as a kit so I can have the fun of soldering it myself.
Last edited by countryatheart on February 20 2009, 22:00 PM, edited 1 time in total.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 19 2009, 7:15 AM

[quote]It’s great that you’ll try the precision mode, the Orb needs it for aiming badly. I’m looking forward to giving it a try.[/quote]

Sounds like a plan. Probably won't happen until mid-weekend (it won't take long to do at all; I'm just a bit busy) but should be straightforward.


[quote]The chording worked great in the applet over here also. I just couldn’t get it to work in HL2. I’m going to keep working on it. One idea I have is removing the button bindings for “joy 1 &2” then adding bindings and task to the chording buttons (aux) I want to use in the spaceorb.cfg.[/quote]

That should be the way to do it. I think you should have joy1-joy4, then aux5-aux16, but I seem to remember something weird when I was configuring L4D, like it went straight to aux6 (or something strange). I do find the Steam/HL2 configuration confusing--but at least it can be done, unlike so many games which just don't allow control mapping at all.


[quote]One thing I would take into consideration if anyone wants to solders their own board is diodes and the Max 233 are directional.[/quote]

Yep (grin)--that can be a problem. One thing I wasn't expecting was how nice the silkscreening turned out, so you can really see the notch indicating the "top" of the MAX233 and the orientation of the diodes, which will help the assembly a bit (no referencing an external diagram). Although I maybe should have put the resistor values on just for completion's sake (not normally a good idea on these, but it's not really a very complicated board), and I wasn't really expecting the model of USB port I used to print "BERG electronics" on the PCB!

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 19 2009, 23:52 PM

[quote="vputz"]That should be the way to do it. I think you should have joy1-joy4, then aux5-aux16, but I seem to remember something weird when I was configuring L4D, like it went straight to aux6 (or something strange). I do find the Steam/HL2 configuration confusing--but at least it can be done, unlike so many games which just don't allow control mapping at all.[/quote]

I have chording working in HL2 now. I only problem is you have to quit the game and start it again to bind “JOY 1&3” (attack & attact2) in the games keyboard options, HL2 automatically binds these task to “mouse 1&2” and you have to restart HL2 to change them. I’ll work on it again tomorrow night…it’s bugging me why the game doesn’t execute "JOY1&3" in the “spaceorb.cfg”.



These are the bindings I entered into my HL2 “spaceorb.cfg. The task (+attack etc) can be changed to whatever meets your needs. I have added comments ( ) for the button binding and task that you might not understand. There are still 4 button bindings (A&B and C.D, E and F) I didn’t fine the need to use for now.





bind "JOY1" +attack (C)

bind "JOY2" +use (D)

bind "JOY3" +attack2 (E)

bind "JOY4" +reload (F)

bind "AUX5" +jump (A&C)

bind "AUX6" +duck (A&D)

bind "AUX7" +speed (A&E – Sprint)

bind "AUX8" "impulse 50" (A&F - Send/Recall Squad)

bind "AUX9" +walk (B&C)

bind "AUX10" +moveup (B&D - Swim Up)

bind "AUX11" +movedown (B&E - Swim Down)

bind "AUX12" "impulse 100" (B&F - Flashlight)


[quote="vputz"]I wasn't really expecting the model of USB port I used to print "BERG electronics" on the PCB![/quote]

Your new boards look great Victor, the “BERG electronics” will be covered up with the USB plug socket and you’ll never notice it.



My IBM 4000 FLX should be here next week, I don’t know how it will work for 24 bucks. The ad said looks and works like new…that’s hard to believe when they cost 5 to 6 hundred new!

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

Re: The ultimate orb solution, at last.

Postby vputz » February 20 2009, 4:21 AM

[quote]it’s bugging me why the game doesn’t execute "JOY1&3" in the “spaceorb.cfg”.[/quote]

Hmm, that's weird all right. Wonder if you need to do some unbinding somehow.



I'll get precision working this weekend, although the parts maaay not get here for stuffing a board and verifying the thing. Hopefully they will (I'm always impressed by how fast things get delivered here) but I did get an email saying it may be next week.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 20 2009, 16:47 PM

Heh... okay, so here's the danger of ordering parts online... this is the same place I bought from before, but I guess I must have missed something, because the 68 ohm resistors are HUGE, I mean gargantuan, like 3/4 inch long... and the 2.2k resistors appear from the color codes to actually be 10k or so (certainly not 2.2k). Weird! So I will have to go get some more before I start assembling. The rest looks pretty reasonable, though!

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 20 2009, 21:50 PM

I have the JOY 1 &3 problem solved now Victor, I discovered that HL2 will execute the “ JOY attack” bindings on first start of the game if you write them as (bind "JOY1" "+attack" etc). The “attack/attack2” bindings still show up as Mouse1 & 2 in the games option/keyboard bindings but my new bindings work great in the game. Below are my new speceorb.cfg button/task bindings for HL2.



bind "JOY1" "+attack"

bind "JOY2" +use

bind "JOY3" "+attack2"

bind "JOY4" +reload

bind "AUX5" +jump

bind "AUX6" +duck

bind "AUX7" +speed

bind "AUX8" "impulse 50"

bind "AUX9" +walk

bind "AUX10" +moveup

bind "AUX11" +movedown

bind "AUX12" "impulse 100"



One thing I never realized was how much time it takes to troubleshoot commands/bindings in a config file. Each time I edited the spaceorb.cfg I deleted the games config.cfg so the game would write a new config on start up. That way I knew the game didn’t remember what I tried before.



Sorry to hear about the resistors Victor, is there anything like a Radio Shack in the UK that you drop by and buy them?



I have to go (head hurt), hole in wall deeper...girlfriend complain about pounding noise! :D

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

Re: The ultimate orb solution, at last.

Postby vputz » February 21 2009, 9:49 AM

[quote]Sorry to hear about the resistors Victor, is there anything like a Radio Shack in the UK that you drop by and buy them?
[/quote]


Yep, one of the same places I ordered from has a branch in town. Their in-store selection is pretty lousy for a lot of things, but they did have the resistors, so I'm back on track for an orb-filled day tomorrow (my wife is even taking the day in London). So we should have verification on the boards by midday and probably the precision-mode change as well, which should be fun (and after that work on another electronics project and a web project; I'll be geeked out by evening).

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 21 2009, 20:22 PM

I’m glad you found the resistors locally and you can stuff your board. You’re a lucky man to have your wife away for the day; I wish my lady would go somewhere for a day or week so I can concentrate on projects. When her eyes open her mouth starts and it doesn’t stop till her eyes close. :(



I’m going to install HL2 “Episode One” (I bought it & never played it) tonight and play with it a bit. Hopefully I’ll be able to get the Orb working with this game using your "spaceorb.cfg . Don’t worry, I won't ask you for help. This is just something to do while I wait for you to make the precision-mode change. (If I don’t do something she won’t let be alone)

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 22 2009, 0:15 AM

Victor, your “spaceorb.cfg” works in HL2 Episode One also. I only had time to try your 6 button config but it worked great! This game saves its config.cfg in “Steam\ Steam Apps\Users Name\Half-Life 2 episode one\episodic\cfg”. (I had a hard time finding it because there are so many .cfgs in this game.) After I installed your .cfg in episodic\cfg I started the game I entered “exec spaceorb” in the console and the 6 binded buttons and 4 axis worked in the game! I’ll check out the chording tomorrow and see how it works. One thing I did notice is Episode Ones config.cfg is a lot different then HL2s, I don’t know how it will react then I enter “exec spoceorb” in it but I guess I’ll find out tomorrow. What? It is tomorrow already (after midnight)...oh well, I’ll be back later today. :)

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

Re: The ultimate orb solution, at last.

Postby vputz » February 22 2009, 7:06 AM

The (big) good news:



It works!



From a few weeks ago...

[img]http://orbduino.sourceforge.net/images/orbduino.png[/img]



...to now:

[img]http://orbduino.sourceforge.net/images/first_orbduino.jpg[/img]



I'll put together a tutorial as I solder up the next one and then we can send a couple out. I'll only build one more, leaving one complete board and 3 kits (although I can always assemble someone's kit for a wee fee if they want--it doesn't take all that long and if you don't have a soldering iron and don't want one...



The (small) bad news:



Why I ask for feedback and then forget to include it is beyond me. Ron said:


[quote]When I attached the Orbshield to the Arduino I did notice the Orbshield can be pushed to far down that the soldered ends of the resistors will contact the Arduino’s USB shorting them out.[/quote]

...and I ignored him at my peril. The truth is the USB connector should probably shift a bit inward and the resistor/diode cluster should shift upward. As it is, you may notice the piece of paper sticking out from under the resistors in the above picture: it actually isn't NECESSARY, but I think it's a good idea, because as Ron said, the resistors are indeed in a bad place with respect to the USB port; it is possible to push it down enough that the resistors ground out on the metal shield of the USB port. If there turns out to be long-term interest in this, a small revision to the board should fix that. It wouldn't change a single thing about how it works, though, so we may as well use these.

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 22 2009, 13:39 PM

Very well done Victor, your new OrbShields look awesome populated!


[quote="vputz"]The truth is the USB connector should probably shift a bit inward and the resistor/diode cluster should shift upward. As it is, you may notice the piece of paper sticking out from under the resistors in the above picture: it actually isn't NECESSARY, but I think it's a good idea[/quote]

I think if the header pins where longer the resisters wouldn't touch the Arduino USB. When I populated my board I ordered long (over 1”) header pins and cut and filed them too short (5/8”)! They would have been long enough if I would’ve installed them from the bottom of the board instead of through the top. I solved the problem by gluing a piece of thin plastic on top of the Arduino USB. That will prevent accidently grounding the resisters.

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

Re: The ultimate orb solution, at last.

Postby vputz » February 22 2009, 14:36 PM

Yet Another Revision to software!



Okay, the usual drill, Ron: replace the appropriate things (the "SpaceOrb" directory under hardware/libraries and the sketches). If you have a particular sketch you want to hold on to, keep it, but otherwise just replace with these.



Changes:



Added precision mode. Here's how to use it--



Look at the "GainDemo" sketch; the relevant lines are


[code] translator.set_precision_gain( -2 );
translator.set_precision_mask( 0x01 );
[/code]


What precision gain does is when you hold a particular physical button combination down, it switches the gain to whatever you've set for precision_gain. What this means is that if you set the precision gain to -2, the physical axis will be divided by two before it goes to the sensitivity curve.



This is important, because with a sensitivity curve in, you won't just get a mushier response--it'll really limit how far the orb can travel when precision mode is on. This is probably what you want, but use a bit of caution.



The "mask" bit requires some explanation. This is a "bit mask" to specify a combination of buttons. If you want precision mode with button "A" pressed, you want "0x01"; if you want button "B", you would use "0x01 << 1" (that's 1, shifted by 1, or 2). If you want precision mode with buttons A and B pressed together, you'd use "0x01 | (0x01 << 1)"... or "0x03".



I've also made basic demo programs for many of the features, which start with a basic orb and just do one additional thing:



ChordingDemo: Demonstrates chording

GainDemo: Demonstrains gain, sensitivity, and precision mode

KeyboardAxisBindingDemo: Binds axes to buttons. Needs a bit more documentation, but maps the "move" directions to WASD and turn left/right to Q and E.

KeyboardButtonBindingDemo: Binds buttons to keypresses. Button "B" is shift, button "C" is H, button "D" is E, button "E" is L, and button "F" is O, so you can type "Hello" with the orb

MouseBindingDemo: Binds x/y to mouse x/y, button A to mouse0, button B to mouse1. Not sure how useful this feature will be but you never know. If people use it, I bet we'll need to implement some sort of "mouse gain"--it's pretty sensitive.



Also, the documentation has started--that was today's Big Irritation, as it took me literally hours to get a good documentation tool working. I finally settled on Sphinx, the tool that Python uses to make their docs, so check out [url]http://orbduino.sourceforge.net[/url] for the build docs. I need to update it with "how to program" (and all these demos) but I've had a long day and it's time to quit :) .



I also have one complete shield and three kits ready to be sent out (or built and sent out). Adding together the parts and conversion, it actually comes to about $23 for the kit plus shipping (not sure how much that is), and I'll solder it together and do a quick test for $5, although that may delay things by a week or so. If folks want a price breakdown I can do that too. Note that you'll also need an Arduino Diecimela or Duemilanove (purchasable from many locations, and other models will work too as long as they say "compatible with Arduino shields"), and that will run you about $30.



So in the end, it's about $50 or so to get the old orb running again. That may be more than what people expected, but at least it works! If anyone wants a shield or kit out of the remaining four I have here, let me know.



Now I'm going to do something completely unrelated for a while!
Attachments
sketches.zip
(3.23 KiB) Downloaded 573 times
libraries.zip
(154.88 KiB) Downloaded 558 times

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

Re: The ultimate orb solution, at last.

Postby squid » February 22 2009, 19:56 PM

Howdy,

I just checked my closet and yeah, I still have a box of Orbs. Do you still have any of the kits available? If so, I would very much like to purchase one already put together and tested. Man, this is great. I was at Fry's today looking at some racing games wishing I could use the Orb and I find you have made it possible. Thanks.



Oh, and hey, birdman. Long time no hear.



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 22 2009, 22:21 PM

I just read your post Victor and I’ll try out your Precision Mode tomorrow night, it is too late now and I am tired. 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.



Ya-know I am wanting one of your kits, just tell me how you want payment...hopefully PayPal. :D



I did have a little time today to checkout chording with HL2 Episode One and it worked. The only problem I have with this game is when I enter the “exec spaceorb” into the games config, it works the first time I start the game but not the next. I have tried emphasis, underscores etc with negative results. What is weird, the game rewrites the config each time it is started and it removes the “exec spaceorb” but the SpaceOrb commands are included with the config commands? In the game the chording buttons work but not the axis? I’ll work on it after I play with your Precision Mode.


Return to “Spaceware Software”

Who is online

Users browsing this forum: No registered users and 23 guests