GenBoard/UnderDevelopment/FirmwareChanges (2006-03-16 04:43:08)

This page lists important changes to the firmware. Check this before downloading a firmware that is meant for production

When updating the board with latest firmware, please check if any of the changes affects your configuration and take action!

Developers: please update GenBoard/Manual matrix when configuration semantics change. Ask on that page (in the relevant matrix element; make a line if necessary and start to put in links you find) for questions about config variables.


Downloadable firmware releases

Download [firmware.zip release-8 since 2004-11-24]

Although it has a compiled vems.hex binary (=> no compiling needed by the enduser), at the minimum check my_make if using it. It has MSNS option defined, that should work with MegaTunix or MegaTune. vems.hex and my_make files should probably move to subdirs (several meaningful different my_make options - feel free to compile + package)

Changelog - from 20041124 release

Remember:


Developers

NOTE: someone please review and commit changes to CVS branch STABLE1_0 so the latest stable release is available using the STABLE1_0 tag in CVS.

Developers, please ensure any code you commit to this branch has been well tested. The HEAD tag will eventually become stable enough that it will be tagged as STABLE1_1 and thus will become the "latest" stable firmware.

The STABLE1_0 branch can be obtained via read-only cvs from windows, start-menu, cmd:\n

set CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/megasquirtavr <enter>
set HOME=c: <enter>
cvs login<enter> ( <enter> again for password, ignore any error messages )

cvs update -d -r STABLE1_0
or (if no working copy yet):
cvs checkout -r STABLE1_0 firmware


2005-02-20

2005-02-08

2004-10-31

2004-10-27


2004-10-10

if kpafac value is set to 00 (not recommended), the old behavior is maintained, where (config.config11 & _BV(MAP_SENSOR)) decides if the 2.5 bar or 1.15 bar lookup table is used. This way it is possible to configure nonlinear table (not sure if it is useful), but precision is inferior (anyway, it is possible to make precision better: tell us if you need nonlinear for some reason, and higher precision).

Note that this makes GenBoard/VerThree the first diy ECM that supports boost pressure higher than 150 kPa without hack. (this was the main reason for the change: a racecar runs at 200..240 kPa boost and they asked us to make precision superior)


2004-09-17

CVS head, with eventqueue.c 1.96 (or earlier 1.94, but not 1.95 experiment) is good for production.

Played with eventqueue, make it simpler and faster. For readability and marketing reasons; because some people are concerned about parameters that cannot be measured in engine output, only on oscilloscope. At 15000 RPM measured 6/20 degree average delay in the ign signal, this is now lowered to about 4 / 100 degree (could be even better with further changes). This is so close to theoretical optimum 0.000000 sec that it means less than 0.3C degree in intake temps (MAT).


2004-09-12


2004-08-27

2004-08-25


2004-08-08


2004-07-28


2004-07-27


2004-07-25

That makes tooth_wheel_twidth2 =

2004-07-07

variable intake actuator (simple RPM-based switch) and WOT actuator (that switches at WOT, but only above a certain RPM) for NOS made easily configurable.

Both the RPM and the output channel is configurable. On GenBoard/VerThree you can select a free channel, which can be a 100A FET if you like (like IRL2203, but the connector cannot handle that current). Even several channels (this is only for the injector FETs) can be selected to switch at the same time, according to GenBoard/Manual/DigitalOut

Set all these config variables to FF if you don't need the feature:\n

  uint8_t act_wot_rpm;		// WOT switch RPM threshold (FF=disable)
  uint8_t act_wot_channel;	// WOT switch output channel selector (P259_0)
  uint8_t act_rpm_rpm;		// RPM switch RPM threshold (FF=disable)
  uint8_t act_rpm_channel;	// RPM switch output channel selector  

Iac.conf is extended to select between a ON/OFF idle air valve, and a PWM controlled type by unsetting/setting bit 3 of iac.conf

See IdleControl/IdleValvePWM


2004-05-26

Lambdacorr table is now unconditionally used. If no l-table was used before, then add the following (stoich) table to tables.txt\n

### lambdacorr: afr=14.7 ###
l[0]=38 38 38 38 38 38 38 38
l[1]=38 38 38 38 38 38 38 38
l[2]=38 38 38 38 38 38 38 38
l[3]=38 38 38 38 38 38 38 38
l[4]=38 38 38 38 38 38 38 38
l[5]=38 38 38 38 38 38 38 38
l[6]=38 38 38 38 38 38 38 38
l[7]=38 38 38 38 38 38 38 38

The lambdacorr-values are a multiplied enrichment: \n

lambdacorr = (l+200)/256

You can see that 56 (hexadecimal 38) means a 1.0 (stoich) lambdacorr value.