PDA

View Full Version : MiniDash for PalmOS (Beta2)



ShelGame
11-03-2006, 11:35 AM
MiniDash is now Beta2 (there may be 10 or more "pre" release releases, before I'm ready to call this 1.0)

The biggest update (drumroll please) - All ECU's are now supported! Stock, custom cals, with or without the serial logger mod, LM, SMEC, SBEC. I currently only have 7 memory maps available, but I'm working on adding more (85 and 86 LM will be next).

I also added hi-res support (still only black and white, though).



MiniDash is basically modelled after a recording tach with the capability to also log speed, MAP, O2, TPS, PW, and knock retard on all 4 cylinders. The recorded data can be transferred to a PC using the supplied conduit (which is automatically installed and registered with HotSync by the installer). It's not bug free, yet, hence the Beta2 designation.

My test platform is a PalmIIIxe (which can be bought on eBay used for ~$15US). I needed to install the Afterburner hack and overclock it to get enough graphics speed (MiniDash is pretty graphics intensive - for a Palm anyway). Some newer Handspring devices are probably fast enough. For reference, my Palm now shows 164% on the Quartus benchmark utility (running at 26mhz). Any Palm with a DragonballEZ processor should be able to go to at least 26, probably 28Mhz safely.

MiniDash requires PalmOS version 3.5 or newer. This is becuase I use transparency in the graphics to gain some speed. Versions prior to 3.5 do not support transparency. Plus, they don't use the DragonballEZ and probably wouldn't be fast enough anyway.

There's a user manual included in the installer that should answer most questions. I think the interface is pretty straight forward, though.

Feel free to PM me with any questions.

Here's a link to download the installer (you don't have to go to D-Cal to get it anymore).

MiniDash (http://www.squirrelpf.com/shelgame/MiniDash/MiniDash-Installer.exe)

r00tcause
11-03-2006, 01:14 PM
MiniDash is now Beta2 (there may be 10 or more "pre" release releases, before I'm ready to call this 1.0)

The biggest update (drumroll please) - All ECU's are now supported! Stock, custom cals, with or without the serial logger mod, LM, SMEC, SBEC. I currently only have 7 memory maps available, but I'm working on adding more (85 and 86 LM will be next).

I also added hi-res support (still only black and white, though).



MiniDash is basically modelled after a recording tach with the capability to also log speed, MAP, O2, TPS, PW, and knock retard on all 4 cylinders. The recorded data can be transferred to a PC using the supplied conduit (which is automatically installed and registered with HotSync by the installer). It's not bug free, yet, hence the Beta2 designation.

My test platform is a PalmIIIxe (which can be bought on eBay used for ~$15US). I needed to install the Afterburner hack and overclock it to get enough graphics speed (MiniDash is pretty graphics intensive - for a Palm anyway). Some newer Handspring devices are probably fast enough. For reference, my Palm now shows 164% on the Quartus benchmark utility (running at 26mhz). Any Palm with a DragonballEZ processor should be able to go to at least 26, probably 28Mhz safely.

MiniDash requires PalmOS version 3.5 or newer. This is becuase I use transparency in the graphics to gain some speed. Versions prior to 3.5 do not support transparency. Plus, they don't use the DragonballEZ and probably wouldn't be fast enough anyway.

There's a user manual included in the installer that should answer most questions. I think the interface is pretty straight forward, though.

Feel free to PM me with any questions.

Here's a link to download the installer (you don't have to go to D-Cal to get it anymore).

MiniDash (http://www.squirrelpf.com/shelgame/MiniDash/MiniDash-Installer.exe)


I have one of these:

http://reviews.cnet.com/Tapwave_Zodiac1/4507-3127_7-30557486.html

They are under 100$ used on ebay. I think 200mhz and 64k color half VGA should do the trick. :) There is also a 128mb of ram version.

Clay
11-03-2006, 01:45 PM
SWEET!!! How does this interface with the LM? Do you have to solder a connection to the board?

looneytuner
11-03-2006, 01:50 PM
Congrats!!!!!!!:D
I wish you had done it on Win CE. That's what I have for GPS and other gooodies. Still it's good work and about time someone has done this sort of work. All within the "Cheapass" TD range. ;)
All I need for the WinCE platform is a mylar lcd screen to attach to the windshield for a "heads up" GPS display. Even the BMW's don't have that. Some one just introduced a video out for the Compaq Ipacs so I can have a larger screen for everything while driving.

ShelGame
11-03-2006, 02:20 PM
I have one of these:

http://reviews.cnet.com/Tapwave_Zodiac1/4507-3127_7-30557486.html

They are under 100$ used on ebay. I think 200mhz and 64k color half VGA should do the trick. :) There is also a 128mb of ram version.

I have someone with a Zodiac that will test it this weekend. Personally, I don't think it will work. The Zodiac (apparently) doesn't have a serial port (only USB). But, he says there is an RS232 development cable you can get - we'll see. Obviously, MiniDash won't take advantage of the extra screen space on the Zodiac...

ShelGame
11-03-2006, 02:38 PM
SWEET!!! How does this interface with the LM? Do you have to solder a connection to the board?

It depends on your Palm.

If you have an older PalmOS device (Palm III series, Palm V series, M10X, possibly the M50X series), then you'll need a line lever converter just like you do with a laptop. This is becasue these Palm devices have a true RS232 serial port (+12V high, -12V low logic). There are quite a few commercial line-level converters available for $20 or so. For the LM, it's actually pretty simple to add the line level converter and a port right into the case. That way, you don't even have to run a cable through the car up to the diag connector. I think there's some info about adding a serial converter to an LM on MoparChem.com.

Handspring devices and newer PalmOS devices (Tungsten E2, T3, Tx, others) have a simple TTL (3-5V high, 0 V low) serial port, and will not need a line level converter. Just a cable. Connect the Tx line on the Palm to Rx on the diagnostic connector (on the car), and Rx on the Palm to Tx on the car, and Gnd to Gnd. That should do it.

I'm working on putting together a comprehensive list of how to connect each device, but it will take some time. I don't have one of each Palm to test - and that's part of the reason for the "Beta" release. Hopefully, guys with various models will try it out and let me know how it works. Basically it comes down to what type of port your Palm has. If it has RS232, then you'll need a converter. If it's TTL, you won't. There are a handfull of Palm and Sony devices that only support a USB port (and only in slave mode, apparently) - these will not work at all. Nothing I can do about that.

I can tell you, it doesn't look like this will run on Sony devices as of this release. Sony uses some proprietary API's (add-ins) to PalmOS. And, since they've stopped making PalmOS devices, you can no longer get the documentation from them for thier API. If I can dig up some documentation, I should be able to support the Sony devices.

Also, I included a "Demo" data set that installs with MiniDash. If you don't have your cable/interface ready, but want to see what the software can do, try it out. You can playback the demo dataset and mess around with the controls, etc. The demo data will also convert to a CSV file the first time you hot-sync after installing. So, you can take a look at the datalog in Excel.

mcsvt
11-03-2006, 02:41 PM
Rob this is great :thumb: I will start putting together what I need while I am rebuilding my motor. Sorry I can't help with testing yet.

Frank
11-03-2006, 02:52 PM
Actually the Handspring is a 3.3v TTL which is a USB. There is a pin you either have to short or unshort to get it to work at 5v TTL. Just hit google for all the exact information.


Frank

ShelGame
11-03-2006, 05:34 PM
Actually the Handspring is a 3.3v TTL which is a USB. There is a pin you either have to short or unshort to get it to work at 5v TTL. Just hit google for all the exact information.


Frank

Ah, so it's the same as the newer Palms then.

I thought 3.3v would be enough to trigger most TTL systems, though? What's the minimum threshold for TTL logic?

EDIT:
This webpage might help - Line Level Comparison (http://www.interfacebus.com/voltage_threshold.html)

It appears that LowV and TTL should be compatible as far as communications go.

On the other hand, our ECU's may actually use CMOS line levels. Reading the 6811 datasheet, a high could be as low as 3.15V or as high as 3.85V. So, I guess it may or may not work without a converter. Testing is needed...

Frank
11-03-2006, 06:27 PM
Well the nice thing is that if you jumper two of the pins on the dongle, it will up it to 5v.

ShelGame
11-03-2006, 07:46 PM
Congrats!!!!!!!:D
I wish you had done it on Win CE. That's what I have for GPS and other gooodies. Still it's good work and about time someone has done this sort of work. All within the "Cheapass" TD range. ;)
All I need for the WinCE platform is a mylar lcd screen to attach to the windshield for a "heads up" GPS display. Even the BMW's don't have that. Some one just introduced a video out for the Compaq Ipacs so I can have a larger screen for everything while driving.

Wince is actually harder to code for than Windows. I really love the simplicity of the PalmOS, too.

Besides, the cheapest WinCE device (even used) is significantly more expensive than an old Palm device. I started out developing this for the Palm IIIxe becuase, well, we all know how cheap TM'ers are. And, you can get a IIIxe for ~$15 on eBay...

altered7151
11-03-2006, 09:55 PM
Rob, I have an old palmIIIxe laying around so I thought I'd install it and check out the user manual, I'm running palmOS v3.5, but when I try to run the program on the palm I get "Error 23: Connection Failed". Something I did wrong?

ShelGame
11-04-2006, 12:12 AM
Rob, I have an old palmIIIxe laying around so I thought I'd install it and check out the user manual, I'm running palmOS v3.5, but when I try to run the program on the palm I get "Error 23: Connection Failed". Something I did wrong?

Nope - something I did wrong. Did you get the installer from the link I posted here, or from D-Cal earlier? The link here is updated to (hopefully) fix that.

If you got it from the link I posted in this thread, then I have an idea what it is. Try this - make sure the "preferences" is set right for your ECU (the correct memory map, and un-check the Serial Mod box). Then, go back to the Palm Launcher, and restart MiniDash. See if it works then. I'm not re-initializing the serial coms right after a pref change. I need to fix that.

altered7151
11-04-2006, 12:41 AM
Nope - something I did wrong. Did you get the installer from the link I posted here, or from D-Cal earlier? The link here is updated to (hopefully) fix that.

If you got it from the link I posted in this thread, then I have an idea what it is. Try this - make sure the "preferences" is set right for your ECU (the correct memory map, and un-check the Serial Mod box). Then, go back to the Palm Launcher, and restart MiniDash. See if it works then. I'm not re-initializing the serial coms right after a pref change. I need to fix that.

I got the link from this thread, I dont have a link cable yet so I was just going to run the demo and see what the program can do. I can't get into the program to set any preferances, once I tap the mini-dash icon I get the info screen momentarily then right to the error.

ShelGame
11-04-2006, 08:34 AM
I got the link from this thread, I dont have a link cable yet so I was just going to run the demo and see what the program can do. I can't get into the program to set any preferances, once I tap the mini-dash icon I get the info screen momentarily then right to the error.

OK. I think I know what the issue is. It appears to be related to some difference in serial handlers between OS3.5 and later OS's. It should work fine on OS4.0 and later. Give me a day or 2 to fix it.

altered7151
11-04-2006, 02:01 PM
OK. I think I know what the issue is. It appears to be related to some difference in serial handlers between OS3.5 and later OS's. It should work fine on OS4.0 and later. Give me a day or 2 to fix it.

No prob, let us know when its updated. Thanks :thumb:

ShelGame
11-06-2006, 11:11 AM
OK, I figured out the serial problem. Only to find another OS3.5.x issue once I added the hi-res graphics. OS3.5.x doesn't setaside enough memory for MiniDash with the hi-res graphics included in the bundle. So, it looks like I'll need to compile 2 different versions of MiniDash - one for OS3.5.x, and one for later devices. It should be transparent for users, the installer will take care of which version you need to install.

I think I'll go ahead and post an update later today - I'll just pull the hi-res graphics out for now. MiniDash should still work on hi-res devices, you just won't get hi-res screens until I get it all updated.

EDIT: OK, not tonight. I think I fixed both the serial and hi-res issues with OS3.5, but now I'm getting a graphics transparency error. This OS3.5 compatibility stuff is going to have me pulling my hair out for sure. Well, if I had any left it would.

Oh, and I found this site, it might help guys who are thinking about getting an old Palm just for this. This guide shows which Palm/Handspring devices came with which OS, and even if they are upgradeable.
Palm Device List (http://kb.palmone.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External20 01,case=obj(10714))

altered7151
11-07-2006, 01:45 PM
Also, any links to directions/schematics for the interface cable?

eddycooper
11-07-2006, 07:36 PM
Rob,

Many thanks for this work you're doing! I don't have a Palm, but when you get a version of the program that'll work with my 86 GLH, that'll be the next thing on the shopping list! I've been doing a little searching around and I figured I'd share some of the stuff I've found.

First, here is another place to get Palm information. In addition to the OS versions, you can also get processor speed, RAM, etc.

http://en.wikipedia.org/wiki/Palm_%28PDA%29


Second, I looked at the diagnostic connector for my GLH and drew a picture of it (if I could, I'd attach it to this post...). I also found a serial DB9 pinout. The question is, which wires go where? The confusion for me is the receive/transmit terms, because they don't specify which device is receiving and which is transmitting!

On the logic module, pin 1-11 is "transmit", and pin 1-13 is "receive".
On the DB9 connector, pin 3 is "transmit" and pin 2 is "receive".

Thanks,

Eddy

r00tcause
11-08-2006, 12:26 AM
I have someone with a Zodiac that will test it this weekend. Personally, I don't think it will work. The Zodiac (apparently) doesn't have a serial port (only USB). But, he says there is an RS232 development cable you can get - we'll see. Obviously, MiniDash won't take advantage of the extra screen space on the Zodiac...



You can get a serial cable - it just didn't come with it - it was for developers only originally and its a little hard to find now.

http://zodiac.allack.co.uk/Extras/Detail.php?ProductID=297

r00tcause
11-08-2006, 12:37 AM
The DB9 to RS232 converter requires a homemade motherboard. There are voltage and baud rate issues otherwise. I made one based on plans someone posted a long time ago on D-cal.

ShelGame
11-08-2006, 08:58 AM
The DB9 to RS232 converter requires a homemade motherboard. There are voltage and baud rate issues otherwise. I made one based on plans someone posted a long time ago on D-cal.

Just voltage issues, not baud rate. The baud rate is set by the micro on each end. That's one nice thing about the PalmOS/micro - any integer baud rate works. So, where a PC can't generate 7812 baud to talk to a SMEC, the Palm can do it easily.

ShelGame
11-08-2006, 08:59 AM
Rob,

Many thanks for this work you're doing! I don't have a Palm, but when you get a version of the program that'll work with my 86 GLH, that'll be the next thing on the shopping list! I've been doing a little searching around and I figured I'd share some of the stuff I've found.

First, here is another place to get Palm information. In addition to the OS versions, you can also get processor speed, RAM, etc.

http://en.wikipedia.org/wiki/Palm_%28PDA%29


Second, I looked at the diagnostic connector for my GLH and drew a picture of it (if I could, I'd attach it to this post...). I also found a serial DB9 pinout. The question is, which wires go where? The confusion for me is the receive/transmit terms, because they don't specify which device is receiving and which is transmitting!

On the logic module, pin 1-11 is "transmit", and pin 1-13 is "receive".
On the DB9 connector, pin 3 is "transmit" and pin 2 is "receive".

Thanks,

Eddy

MiniDash will already "work" on an '86 LM, I just need to find a few more addresses to build the memory map.

It depends on the Palm device your using. Some will need a line level converter, some (possibly) won't. At any rate, because the Palm is treating the ECU as a "peripheral", you want the Tx on the Palm connected to Rx on the ECU, and vice-versa.

ShelGame
11-08-2006, 09:21 AM
OK, the OS 3.5.x compatibility issues seem to be fixed!

Beta 3 is now posted. Here are the updates:

1) If you change preferences, MiniDash will now properly re-initialize the serial coms so that you don't have to re-start to get data.

2) Updated graphics; should be a little faster and use a little less memory; fixed a "flicker" issue on OS5.x devices.

3) Fixed the serial issue on OS3.5.x. Some of the graphics updates were also to support OS3.5.x...

r00tcause
11-09-2006, 05:52 PM
Just voltage issues, not baud rate. The baud rate is set by the micro on each end. That's one nice thing about the PalmOS/micro - any integer baud rate works. So, where a PC can't generate 7812 baud to talk to a SMEC, the Palm can do it easily.

I was talking about the converter for laptops but yeah, thats great that the palm doesn't need all that.