#include "inc/freeEMS.h"
Go to the source code of this file.
Defines | |
#define | GLOBAL_CONSTANTS_C |
#define | NO_CONST_ARRAYS |
Variables | |
const unsigned short | memdumplength = 0x100 |
const unsigned short | maxBasicDatalogLength = sizeof(CoreVar) + sizeof(DerivedVar) + sizeof(ADCArray) |
const unsigned char | interfaceVersionAndType [20] = {0,0,2,'I','F','r','e','e','E','M','S',' ','V','a','n','i','l','l','a',0} |
const unsigned char | firmwareVersion [45] = {"FreeEMS Vanilla 0.0.19 Doxygenated pre-alpha"} |
const unsigned long | masterFuelConstant = 139371764 |
const unsigned long | MAFFuelConstant = 0 |
const unsigned short | injectorSwitchOnCodeTime = 100 |
const unsigned short | injectorSwitchOffCodeTime = 100 |
const unsigned short | injectorMaximumPulseWidth = 0xF424 |
const unsigned short | injectorMinimumPulseWidth = 100 |
const unsigned short | ignitionMaximumDwell = 50000 |
const unsigned short | ignitionMinimumDwell = 500 |
const unsigned short | ignitionMaximumDelayToDwellStartAfterTooth = 50000 |
const unsigned short | ignitionMinimumDelayToDwellStartAfterTooth = 500 |
const unsigned short | leadingEdgePrimaryRPMInputCodeTime = 100 |
const unsigned short | trailingEdgePrimaryRPMInputCodeTime = 100 |
const unsigned short | leadingEdgeSecondaryRPMInputCodeTime = 100 |
const unsigned short | trailingEdgeSecondaryRPMInputCodeTime = 100 |
const unsigned short | dwellStartMasks [IGNITION_CHANNELS] = { BIT8_16, BIT9_16, BIT10_16, BIT11_16, BIT12_16, BIT13_16, BIT14_16, BIT15_16, BIT0_16, BIT1_16, BIT2_16, BIT3_16} |
const unsigned short | ignitionMasks [IGNITION_CHANNELS] = {NBIT8_16,NBIT9_16,NBIT10_16,NBIT11_16,NBIT12_16,NBIT13_16,NBIT14_16,NBIT15_16,NBIT0_16,NBIT1_16,NBIT2_16,NBIT3_16} |
const unsigned char | injectorMainOnMasks [INJECTION_CHANNELS] = {BIT2, BIT3, BIT4, BIT5, BIT6, BIT7} |
const unsigned char | injectorMainOffMasks [INJECTION_CHANNELS] = {NBIT2, NBIT3, NBIT4, NBIT5, NBIT6, NBIT7} |
const unsigned char | injectorMainEnableMasks [INJECTION_CHANNELS] = {0x30, 0xC0, 0x03, 0x0C, 0x30, 0xC0} |
const unsigned char | injectorMainDisableMasks [INJECTION_CHANNELS] = {0xCF, 0x3F, 0xFC, 0xF3, 0xCF, 0x3F} |
const unsigned char | injectorMainGoHighMasks [INJECTION_CHANNELS] = {BIT4, BIT6, BIT0, BIT2, BIT4, BIT6} |
const unsigned char | injectorMainGoLowMasks [INJECTION_CHANNELS] = {NBIT4, NBIT6, NBIT0, NBIT2, NBIT4, NBIT6} |
All global constants values are, and should be, defined here.
Definition in file globalConstants.c.
#define GLOBAL_CONSTANTS_C |
Definition at line 37 of file globalConstants.c.
#define NO_CONST_ARRAYS |
Definition at line 38 of file globalConstants.c.
const unsigned short dwellStartMasks[IGNITION_CHANNELS] = { BIT8_16, BIT9_16, BIT10_16, BIT11_16, BIT12_16, BIT13_16, BIT14_16, BIT15_16, BIT0_16, BIT1_16, BIT2_16, BIT3_16} |
const unsigned char firmwareVersion[45] = {"FreeEMS Vanilla 0.0.19 Doxygenated pre-alpha"} |
Displayable firmware version identifier
This should change every time the code is changed at all (even a little) before each release.
Definition at line 77 of file globalConstants.c.
Referenced by decodePacketAndRespond().
const unsigned short ignitionMasks[IGNITION_CHANNELS] = {NBIT8_16,NBIT9_16,NBIT10_16,NBIT11_16,NBIT12_16,NBIT13_16,NBIT14_16,NBIT15_16,NBIT0_16,NBIT1_16,NBIT2_16,NBIT3_16} |
const unsigned short ignitionMaximumDelayToDwellStartAfterTooth = 50000 |
Definition at line 129 of file globalConstants.c.
const unsigned short ignitionMaximumDwell = 50000 |
Definition at line 123 of file globalConstants.c.
const unsigned short ignitionMinimumDelayToDwellStartAfterTooth = 500 |
Definition at line 132 of file globalConstants.c.
const unsigned short ignitionMinimumDwell = 500 |
Definition at line 126 of file globalConstants.c.
const unsigned char injectorMainDisableMasks[INJECTION_CHANNELS] = {0xCF, 0x3F, 0xFC, 0xF3, 0xCF, 0x3F} |
const unsigned char injectorMainEnableMasks[INJECTION_CHANNELS] = {0x30, 0xC0, 0x03, 0x0C, 0x30, 0xC0} |
const unsigned char injectorMainGoHighMasks[INJECTION_CHANNELS] = {BIT4, BIT6, BIT0, BIT2, BIT4, BIT6} |
const unsigned char injectorMainGoLowMasks[INJECTION_CHANNELS] = {NBIT4, NBIT6, NBIT0, NBIT2, NBIT4, NBIT6} |
const unsigned char injectorMainOffMasks[INJECTION_CHANNELS] = {NBIT2, NBIT3, NBIT4, NBIT5, NBIT6, NBIT7} |
const unsigned char injectorMainOnMasks[INJECTION_CHANNELS] = {BIT2, BIT3, BIT4, BIT5, BIT6, BIT7} |
Definition at line 167 of file globalConstants.c.
Referenced by InjectorXISR(), and PrimaryRPMISR().
const unsigned short injectorMaximumPulseWidth = 0xF424 |
Definition at line 115 of file globalConstants.c.
const unsigned short injectorMinimumPulseWidth = 100 |
const unsigned short injectorSwitchOffCodeTime = 100 |
const unsigned short injectorSwitchOnCodeTime = 100 |
const unsigned char interfaceVersionAndType[20] = {0,0,2,'I','F','r','e','e','E','M','S',' ','V','a','n','i','l','l','a',0} |
Serial interface unique identifier
This should only change when the serial interface changes (even a little)
This field consists of 3 chars for a 3 part version number and a free form string. For any unique string the version number is also unique. In this way tools can easily support a range of versions for a specific unique string ID
Definition at line 71 of file globalConstants.c.
Referenced by decodePacketAndRespond().
const unsigned short leadingEdgePrimaryRPMInputCodeTime = 100 |
Definition at line 137 of file globalConstants.c.
const unsigned short leadingEdgeSecondaryRPMInputCodeTime = 100 |
Definition at line 143 of file globalConstants.c.
const unsigned long MAFFuelConstant = 0 |
MAF fuel constant
Definition at line 105 of file globalConstants.c.
const unsigned long masterFuelConstant = 139371764 |
Divisors and untunable physical constants combined into a single master fuel constant
const unsigned short molarMassOfAir = 2897; // in grams per 100 moles, so divide by 100 to get gm/mol const unsigned short msToTicks = 1250; // constant to bring ms into 0.8us chunks const unsigned short universalGasConstant = 34056; // 8.314472 * 4096, so divide by 4096 to get real number
hash define injectorFlowDivisor 1024 hash define injectorFlowUnitDivisor 1000 - to get it into litres/second hash define injectorFlowTotalDivisor 1024000 hash define stoichiometricAFRDivisor 1024 hash define universalGasConstantDivisor 4096 hash define molarMassOfAirDivisor 100 hash define perCylinderVolumeDivisor 32768
master = (msToTicks * molarMassOfAir * universalGasConstantDivisor * stoichiometricAFRDivisor * injectorFlowTotalDivisor) / (universalGasConstant * molarMassOfAirDivisor * perCylinderVolumeDivisor); master = (1250 * 2897 * 4096 * 1024 * 1024000 ) / (34056 * 100 * 32768 ); http://www.google.com/search?hl=en&safe=off&q=((1250+*+2897+*+4096+*+1024+*+1024000)+2F+(34056+*++100+*+32768)&btnG=Search
((1250 * 2897 * 4096 * 1024 * 1024000) / (34056 * 100 * 32768) = 139371764
Definition at line 99 of file globalConstants.c.
Referenced by initConfiguration().
const unsigned short maxBasicDatalogLength = sizeof(CoreVar) + sizeof(DerivedVar) + sizeof(ADCArray) |
Definition at line 57 of file globalConstants.c.
Referenced by decodePacketAndRespond(), and initVariables().
const unsigned short memdumplength = 0x100 |
Definition at line 56 of file globalConstants.c.
const unsigned short trailingEdgePrimaryRPMInputCodeTime = 100 |
Definition at line 140 of file globalConstants.c.
const unsigned short trailingEdgeSecondaryRPMInputCodeTime = 100 |