WinALDL Compatability...

Submit feature suggestions for future versions of TunerPro here.

Moderators: Mangus, robertisaar, dex

Post Reply
Ken73
Posts: 7
Joined: Wed May 14, 2003 5:59 am
Location: Houston, TX
Contact:

WinALDL Compatability...

Post by Ken73 »

Mark, have you used WinALDL before? It's for the 160-baud ECM's, but the RPM axis is flipped. (Lowest RPM value at top, highest at bottom.) Can you make it to where you can copy a whole table and paste the values in..?

One of the tricks with WinALDL is to copy the values out of it, paste it into a special Excel file, then take the current settings (from TunerCat) and it gives you new values to paste into TunerCat - somewhat "semi-auto" tuning, basically. It gets your fuel values cleaned up pretty quick this way.

Any chance you could collaborate with Jonas (Bylund) on this..?

Ken
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

i have used winALDL, though not extensively (the refresh of the 160 baud data is too slow for me to get used to). I haven't spoken to Jonas about anything technical.

i responded to a similar request regarding table data copying and multiple selection tables.

unfortunately, i dont have plans to make the table data copy-able in a way that would make it available to other programs (such as excel, or winALDL).

Tunercat uses the stock microsoft office grid control, which makes for easy compatibilty between it and excel. my grid control is home brewed, making it much more difficult for clipboard compatibility.

as far as axis flipping, yes, this is a possibility, but without the ability to copy the data once the axis is flipped, this wouldn't helpy you much. =(
***************************************
TunerPro Author
1989 Trans Am
Ken73
Posts: 7
Joined: Wed May 14, 2003 5:59 am
Location: Houston, TX
Contact:

Post by Ken73 »

Mark.. here's a thought:

How about collaborating with Jonas on making a "quick fix" button for the fuel table (and primarily JUST the fuel table, where GMECM Edit takes the current WinALDL fuel table, and modifies the current fuel table in your program?

That way, you could tune much faster - normally with TunerCat you'd have to copy the current data, read it into a custom Excel spreadsheet (it's out there, you can download it) then copy the WinALDL data in and it calcs out new data to paste back into TunerCat. This is a timely process.

It would require you to collaborate with Jonas - but this way you could tune your fuel tables VERY quickly, and concentrate on the other things much sooner.

Combine this with the ease of use of the new PROMinator, and you'll have one helluva combination.

I think it's possible we could also get Craig's software into Windows, and work with him to do the same!
JoBy
Posts: 2
Joined: Fri Jul 11, 2003 10:01 am

Post by JoBy »

All the data needed is available in a tab delimited text file. When you have populated the BLM table in WinALDL you hit save. This creates a text file with a lot more dat than you see on the screen. One of those is a table with correction factors for the chip data. Just multiply the bin cell with the correction cell and you have a new corrected cell value. If you want to take it one step further you can look at the standard deviation table to see of the correction factor is made from 'good' data. You can also see how many BLM samples that went into each cell.
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

yup, all of this sounds easy enough. however, right now im working on getting emulation and a few other goodies working in GMECM Edit. I think you'll be pleased...
***************************************
TunerPro Author
1989 Trans Am
Dewey316
Posts: 5
Joined: Tue Oct 28, 2003 4:49 am
Location: Portland, OR

Post by Dewey316 »

Ken73 wrote:a "quick fix" button for the fuel table (and primarily JUST the fuel table, where GMECM Edit takes the current WinALDL fuel table, and modifies the current fuel table in your program?
if you are interested i have a dos based program, that you can take WinALDL log files, and a *.bin file, use the program it reads the BLM data (either wide or narrow, you select this) and modifies the fuel tables in the bin correctly. it saves a ton of time, and makes fuel tables cake.

**note: give your props to Jon Prevost for this program, he wrote it, not myself**

if you are interested, catch me via e-mail or on of the many messanger services out there. i can send a copy of it to you. or maybe with Jon's permision we could have mark put it up on his site.
jweir
Posts: 3
Joined: Fri Nov 14, 2003 6:37 pm
Location: Chichester, NH

Post by jweir »

[quote]if you are interested i have a dos based program, that you can take WinALDL log files, and a *.bin file, use the program it reads the BLM data (either wide or narrow, you select this) and modifies the fuel tables in the bin correctly. it saves a ton of time, and makes fuel tables cake.

**note: give your props to Jon Prevost for this program, he wrote it, not myself**
[/quote]

Actually I wrote that application. Jon has made some changes and fixed some bugs. If anybody wants the perl code let me know..

Jason Weir
jason.weir@comcast.net
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

yes, please.
Last edited by Mangus on Sun Jan 04, 2015 1:44 pm, edited 1 time in total.
***************************************
TunerPro Author
1989 Trans Am
jweir
Posts: 3
Joined: Fri Nov 14, 2003 6:37 pm
Location: Chichester, NH

Post by jweir »

here it is

system ("cls");
system ("title ALDL to BIN");
print "ALDLtoBin - by Jason Weir 2002 - jason.weir\@comcast.net\n\n";
if (!@ARGV){
print "USAGE: aldltobin.pl binfile winaldlfile\n";
print "Example: aldltobin.pl apab.bin 20021113_132328_BLM.txt\n";
print "\nAll files must be in the same directory or you must specify the entire path\n";
exit;
}
$binfile = $ARGV[0];
$correctionfile = $ARGV[1];

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900;
$mon += 1;
$DTG = "$mon$mday$year";

$OutFile = "new_$binfile";
$conversion = 0.390625;
$beginlocation = "37f";
$LogFile = "$DTG.txt";
$currentlocation = hex($beginlocation);
@Rpms = (400,800,1200,1600,2000,2400,2800,3200);
@Maps = (20,30,40,50,60,70,80,90, 100);


&InitLog;
&GetFile;
&GetCorrections;
foreach $MAP(@Maps){
foreach $RPM(@Rpms){
&MakeCorrections;
$currentlocation++;
}
}
&CalcChecksum;
&WriteFile;

sub GetCorrections{
open (IN, "$correctionfile") || die "$^E\nCan\'t Find $correctionfile\n";
@Data = <IN>;
close IN;

foreach $Line(@Data){
undef $read if ($Line =~ /Wide Correction 10/);
if ($read eq 1){
unless ($Line =~ /rpm/i){
if ($Line =~ /\w/){
($rpm,$map2,$map3,$map4,$map5,$map6,$map7,$map8,$map9,$map10)=split(/\t/,$Line);
${$rpm}{20}=$map2;
${$rpm}{30}=$map3;
${$rpm}{40}=$map4;
${$rpm}{50}=$map5;
${$rpm}{60}=$map6;
${$rpm}{70}=$map7;
${$rpm}{80}=$map8;
${$rpm}{90}=$map9;
${$rpm}{100}=$map10;
}
}
}
$read = 1 if ($Line =~ /Narrow Correction 10/);
}
}

sub GetFile{
open(FILE, "$binfile") || die "$^E\nCan\'t Find $binfile\n";
binmode(FILE);
read(FILE, $buffer,4096,);
close(FILE);
foreach $Line(split(//, $buffer)){
$Line = ord($Line);
push (@File, $Line);
}
}

sub CalcChecksum{
foreach $Line(@File){
$Checksum = $Checksum + $Line;
}
$Checksum = $Checksum - ($File[0] + $File[1] + $File[2] + $File[3]);
$Checksum = sprintf("%x",$Checksum);
$Checksum = substr($Checksum, -4, 4);
@Checksum = split(//,$Checksum);
$Check1 = "$Checksum[0]$Checksum[1]";
$Check1 = hex($Check1);
$Check2 = "$Checksum[2]$Checksum[3]";
$Check2 = hex($Check2);
$File[0] = $Check1;
$File[1] = $Check2;
}

sub MakeCorrections{
$correction = ${$RPM}{$MAP};
if ($correction != 1){
$olddata = $File[$currentlocation];
$olddata = $olddata*$conversion;
$newdata = $olddata*$correction;
$data = $newdata/$conversion;
$File[$currentlocation] = $data;
$Address = sprintf("%x",$currentlocation);
open (LOGFILE, ">>$LogFile");
print "Changing Address 0x$Address from $olddata to $newdata\n";
sleep 1;
print LOGFILE "Address - 0x$Address\tRPM - $RPM\tMAP - $MAP\tCorrection $correction\tOld Value -

$olddata\tNew Value - $newdata\n";
close LOGFILE;
}
}

sub WriteFile{
open (OUTFILE, ">$OutFile");
binmode OUTFILE;
foreach $line(@File){
undef $bin;
$bin = pack("c*",$line);
print OUTFILE $bin;
}
close OUTFILE;
print "\nNew file - $OutFile - has been written\n";
}

sub InitLog{
$LogTime=localtime();
open (LOGFILE, ">>$LogFile");
print LOGFILE "---------------------------------------------------------------\n";
print LOGFILE $LogTime;
print LOGFILE "\n---------------------------------------------------------------\n\n";
}
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

Does this contain Jon's fixes?
***************************************
TunerPro Author
1989 Trans Am
jweir
Posts: 3
Joined: Fri Nov 14, 2003 6:37 pm
Location: Chichester, NH

Post by jweir »

It does contain his original fix, not sure what he has added since. I do believe he has compiled it to an exe..

Jason
Post Reply