Sponsored links

Go Back   MP3Car.com > Mp3Car Technical > Software & Software Development


Reply
 
Share Thread Tools Display Modes
Old 01-08-2007, 09:07 PM   #1
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
Space Navigator PE Driver Development Thread

PROGRESS: We've now decoded the data that comes back from the HID device, and pending some development to make it do something useful. This is no longer a Girder defition file, it'll be a multiplatform stand-alone app

Following some developments in this thread, a Girder definition is now under development for the 3DConnexion SpaceNavigator PE. This is a device that has 6 axis of motion, and two buttons.

So far, thanks to cherrybomb, it has been found that the latest version of Girder does not work with the HID plugin, as the previous verison did (4.0.1). Having downloaded this and configured the HID plugin, the values being read shown:

00 00 00 00 00 00

pressing buttons 1 or 2, give definitive values (first two digits change only), but things move way too fast to be able to determine how the different axis affect the numbers. I just about see that moving along some axis, sets some pair to FF, and others start playing.

Also, to add to the spice, i think the pan motion, is in fact a combination of two motions. Since this device is like a hat on a stick, then the stick moving forward AND the hat being tilt backwards equates to a panning action.

Anyway, I think a seperate development thread is in order for this, rather than a price drop one! So here it is... I'll post any updates here


Let's start with the simple bit shall we:

Button Left: 01 00 00 00 00 00
Button Right: 02 00 00 00 00 00
Both BUttons: 03 00 00 00 00 00
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC

Last edited by sama; 01-13-2007 at 09:46 PM.
sama is offline   Reply With Quote
Advertisement
 
Advertisement
Sponsored links

Old 01-09-2007, 12:20 AM   #2
Super Moderator. If my typing sucks it's probably because I'm driving....
 
turbocad6's Avatar
 
Join Date: Oct 2004
Location: NY
Posts: 6,102
turbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to behold
subscribed
turbocad6 is offline   Reply With Quote
Old 01-10-2007, 06:38 PM   #3
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
UPDATE:

Girder is proving to be a bit of a pain to learn, so to deocode the output of this device, cherrybomb and I have been working together. He's written a nice little app that gets HID output in .net, and he's sending it down a network port to a little java server that I wrote.

Now that we are both well within our elements, we should have this device sussed soon.
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Old 01-10-2007, 07:23 PM   #4
Super Moderator. If my typing sucks it's probably because I'm driving....
 
turbocad6's Avatar
 
Join Date: Oct 2004
Location: NY
Posts: 6,102
turbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to beholdturbocad6 is a splendid one to behold
that's all I need to hear, I'm ordering one now
turbocad6 is offline   Reply With Quote
Old 01-10-2007, 08:54 PM   #5
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
lol! good on ya! now I feel we have a responsibility to get this working

we've got a couple of apps that shows progress bars of the 7 two-word bytes that come back from the HID input.

the device is very touchy-feely and spews shedloads of data when you barely touch it. I'm trying to be very precise with the movements, and to corrolate the movements that map to particular bars. Only bars 1-6 count, as the first figure is always 1, 2 or 3.

You'd expect that since there are 6 axis, and 6 values, each axis would map to a value. But that's not the case. I think they are combined to acheive a higher level of precision. So it's now a trial and error to decode it.

I've noticed, when data comes in, the whole line has starts either with a 1 or a 2. Creating a seperate set of bars for each, and displaying all of them, seems to show that there may in fact be 14 lots of data.

next step I will try to combine the numbers from the two lines to create a 16bit number, and then stick a sign (+/-) on it. I've got a good feeling about this strategy and depending on how sleepy I get now, I may jut try it


PS. I'm thinking out loud, so if cherrybomb sees this, he can know what I've been up to, and of course anyone else can follow
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC

Last edited by sama; 01-10-2007 at 08:56 PM.
sama is offline   Reply With Quote
Old 01-10-2007, 09:20 PM   #6
inh
Maximum Bitrate
 
Join Date: Jan 2007
Location: Fort Riley KS
Posts: 515
inh is an unknown quantity at this point
very cool! at least your gettin somewhere man. i cant wait to get mine. too many speeding tickets to pay first.. :-/
inh is offline   Reply With Quote
Old 01-10-2007, 09:43 PM   #7
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
I FIGURED IT ALL OUT!!!!


I've seperated each axis... shoudln't be too hard now
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Old 01-10-2007, 09:54 PM   #8
inh
Maximum Bitrate
 
Join Date: Jan 2007
Location: Fort Riley KS
Posts: 515
inh is an unknown quantity at this point
post details! i love technical crap
inh is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 01-10-2007, 10:20 PM   #9
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
ok, say you get two lines back that look like this:

Code:
1 8 0 161 255 251 255 2 245 255 0 0 238 255

you organise this as follows:

Code:
[0] [1] [2] [3] [4] [5] [6] 1 8 0 161 255 251 255 [0] [1] [2] [3] [4] [5] [6] 2 245 255 0 0 238 255


and this by using the table below, you can determine the stick's position.


Code:
pan left/right axis value from 1[1] right: 2[1] = 0 left : 2[1] = 255 pan fwd/back axis value from 3[1] back : 4[1] = 0 fwd : 4[1] = 255 push/pull axis value from 5[1] push : 6[1] = 0 pull : 6[1] = 255 tilt fwd/back axis value from 1[2] back : 2[2] = 0 fwd : 2[2] = 255 tilt left/right axis value from 3[2] left : 4[2] = 0 right: 4[2] = 255 twist axis value from 5[2] right: 6[2] = 0 left : 6[2] = 255


And finally, buttons are on lines that start with a 3, and they are:

Quote:
3 1 0 0 0 0 0 Left Button
3 2 0 0 0 0 0 Right Buton
3 3 0 0 0 0 0 Both Buttons


Just need to tidy the code now so each axis value ranges from -255 to +255, with a 2 bit modifier to indicate button state (0=none, 1 = left, 2 = right, 3 = both).


Damn, I need to sleep. I have to wake up in 5 hours!
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Old 01-10-2007, 10:41 PM   #10
MySQL Error
 
scott_fx's Avatar
 
Join Date: Dec 2004
Location: Los Angeles Ca
Posts: 3,703
scott_fx is on a distinguished road
damn you guys...you just spent another $65 of my money!
__________________
New System in progress:
M10k
Phaze TD1500 ~> Dynaudio MD130
Phaze TD1500 ~> Seas g18rnx/p
Zapco Ref 500.1 ~ 12" tc-9
Behringer DCX2496 ~ Envision Electronics psu
Transflective Xenarc

My Car Pc Install
scott_fx is offline   Reply With Quote
Old 01-10-2007, 10:44 PM   #11
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
hehe. I really think you won't be sorry. If you use google earth, it's worth it for that alone. And soon you'll also be able to use it for volume, track control, switching between different screens, and that's three axis out of 6.

This is a great device with lots of potential.
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Old 01-11-2007, 03:43 AM   #12
SMKFree
 
liquid_smoke's Avatar
 
Join Date: Aug 2003
Location: Chicago
Posts: 4,841
liquid_smoke is on a distinguished road
sounds good, cant wait to test this out.
__________________
01101100 01101001 01110001 01110101 01101001 01100100 01011111 01110011
01101101 01101111 01101011 01100101

beer replenishment fund
http://www.mp3car.com/vbulletin/rr-faq/
mp3car live search

i have joost invites, just hit me up for one.
liquid_smoke is offline   Reply With Quote
Old 01-11-2007, 10:44 AM   #13
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
proof tha it works!

video codec: xvid mpeg 4
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Old 01-11-2007, 12:53 PM   #14
Variable Bitrate
 
cherrybomb's Avatar
 
Join Date: Apr 2005
Location: Southern Califorina
Posts: 233
cherrybomb is on a distinguished road
Brilliant!

Good work sama!

Seems to make sense. Can't wait to get my device so I can actually test it.

Suppose I should tweak my test app, or I guess we're really ready to start developing something useful now that you've cracked the code?
__________________
'99 Ford Explorer Eddie Bauer
CarPC Progress ~= 97%. Everything is installed, and operational. Still need to tweak and tune, and do some "finish" fabrication.
CarPC Project Web Site

SpaceNavigatorDriver SourceForge Project

Check out my blog.
cherrybomb is offline   Reply With Quote
Old 01-11-2007, 01:25 PM   #15
FLAC
 
sama's Avatar
 
Join Date: Feb 2006
Location: London, UK
Posts: 1,280
sama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud ofsama has much to be proud of
definiltely.

I've tried to create a girder scipt with this knowledge, but strangely it's only returning 6 bytes. I took off all the splitting code and did a simple string.length on the incoming data directly, it's 6 bytes for sure. Which means it's impossible to distinguish between interleaved lines. If the Poximis guys can sort that out, then I'm sure we can get a girder script to work also.

I have some ideas on how we can use this device:

I think we should ignore a small range at the begning of every axis otherwise there will be noise and overlap betwen functions.

In the configuration of the software, any axis can have different modes of operation.

MODE 1:
after a certain threshold, a thread starts a "pulsing" event. This would be slow with low values (little pressure), and as the pressure is increased, the pulse would get quicker. This will give a use for the analogue proerties of the device, and makes it possible to control the speed of for forwarding songs, cycling through playlists, volume change etc. The pulse/range mapping can easily be defined using a couple of arrays that can be defined in the config.

MODE 2:
just "presses" a single event per axis direction. pressure is not taken itno account. This is useful for switchign between different screens for example (GPS/Media/etc.)


I can think of antoher mode but I'm not sure what for!:

MODE 3:
segement the range to "press" a single event (not pulsing) at different threshholds.


I've also found that combining axis (like pan and tilt) you can create more quick-functions. Like holding the hat and tilting left but panning right. These quick presses are easy to model and diffrentiate.


I guess the best starting pont is getting this to work with RoadRunner, sending it simple messages, and then we can incorporate all these modes based on usage etc.

If anyone has any ideas, please post away.


Thanks for all the help cherry, coudln't have done anythign at all without your magic app!
__________________
///Mputer - Velocity - TomTom - Vision - Bezel - CarPC
sama is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Questions! Yellow-Snow Mobile Impact 4 06-10-2006 06:18 PM
iGuidance Font Size Fix summary thread Viscouse GPS 29 03-28-2006 07:21 PM
Hot Chicks Thread - NOT WORK SAFE ODYSSEY Off Topic 1 05-17-2005 10:38 PM
Request regarding the Offical Skin Presentation thread Confused MediaCar 3 01-07-2004 12:52 PM



All times are GMT -5. The time now is 11:45 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.2
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics