History of MembersPage/FredrikJagenheim/GenBoardConfig/ConfigFile
Older Newer
2004-10-20 10:12:03 . . . . MembersPage/FredrikJagenheim [Proper code tags]


Changes by last author:

Added:
The configuration file for MembersPage/FredrikJagenheim/GenBoardConfig is written in a meta text language called [YAML].

It's seperated into sections with help text and description, take the warmup section as example:

<code>

Warmup:

order: 2

help: No help here

parts:

-

label: Afterstart warmup enrichment

unit: % added value

variable: awev

value: 26

help: Afterstart warmup enrichment (%added value)

-

label: Afterstart warmup scaling @ 170 F

unit: % of Afterstart warmup enrichment

variable: awev_temp_scaling

value: A0

help: Afterstart warmup scaling at 170 F (0x80 half, 0xFF same as cold)

[...]

</code>

It can also handle things that need seperate calculation (the example here is wrong, but you get the idea):

<code>

Required fuel:

order: 3

help: No help here

parts:

-

label: Required fuel

unit: ms

variable: req_fuel

value: 60

help: Injector pulse width [ms], required to supply the fuel for a

single injection event at stoichiometric combustion, 100%

volumetric efficiency and standard temperature. Calculated

by special program which needs to be written!!!!

seperate:

finish: "@engineDisplacement * @nCylinders * @target_afr *

@injector_flow * @rated_pressure * @actual_pressure"

parts:

-

label: Engine displacement

unit: cid

variable: engineDisplacement

value: 0

-

label: Number of cylinders

variable: nCylinders

value: 0

[...]

</code>

And bitfields:

<code>

EGO:

order: 1

help: No help for EGO

parts:

-

label: ego_conf

unit: "Bitfields shouldn't use units"

variable: ego_conf

value: 32

help: config bit0:PID bit1:WBO2 bit2:incredible bit4:NBO2-l-target

meta: bitfield

bitfield:

-

bit: 0

label: PID

-

bit: 1

label: WBO2

-

bit: 2

label: incredible

-

bit: 3

label: Unused

-

bit: 4

label: NBO2-l-target

-

bit: 5..7

label: Unused

-

</code>

Hopefully in the end it will be pretty flexible system that can easily be adapted for future generations.

There's some things that need to be done, such as proper help text and descriptions and some calculations and guesses needs to be ironed out.

Unit conversion and such is up to the application to handle.