#ifndef VECONST_H
#define VECONST_H 1
// $Id$
//*****************************************
//******** PC Configurator V1.00 **********
//*** (C) - 2001 B.Bowling/A. Grippo ******
//** All derivatives from this software ***
//**  are required to keep this header ****
//*****************************************

#define  Rsecl          0
#define  Rsquirt        1
#define  Rengine        2
#define  Rbaro          3
#define  Rmap           4
#define  Rmat           5
#define  Rclt           6
#define  Rtps           7
#define  Rbatt          8
#define  Rego           9
#define  Regocorr      10
#define  Raircorr      11
#define  Rwarmcorr     12
#define  Rrpm          13
#define  Rpw           14
#define  Rtpsaccel     15
#define  Rbarocorr     16
#define  Rgammae       17
#define  Rvecurr       18
#define  Rpw2          19
#define  Rvecurr2      20
#define  RpgOfs        21

#define  Rget          22

#define  Dve            0
#define  Dcwu          64
#define  Dcwh          65
#define  Dawev         66
#define  Dawc          67
#define  Dwwu          68
#define  Dtpsaq        78
#define  Dtpsacold     82
#define  Dtpsthresh    83
#define  Dtpsaclkcmp   84
#define  Dtpsdq        85
#define  Degotemp      86
#define  Degocountcmp  87
#define  Degodelta     88
#define  Degolimit     89
#define  Dreq_fuel     90
#define  Ddivider      91
#define  Dalternate    92
#define  Dinjopen      93
#define  Dinjocfuel    94
#define  Dinjpwm       95
#define  Dinjpwmt      96
#define  Dbattfac      97
#define  Drpmk         98
#define  Drpmrangeve  100
#define  Dkparangeve  108
#define  Dconfig11    116
#define  Dconfig12    117
#define  Dconfig13    118
#define  Dprimep      119
#define  Drpmoxlimit  120
#define  Dfastidle    121
#define  Degoswitchv  122
#define  Dblk         123

#define  Cgetno       125

/* Format for CONFIG11

   bit 0-1 = MAP Type
   00 = MPX4115AP
   01 = MPX4250AP
   10 = undefined
   11 = undefined
   bit 2   = Engine Stroke
   0 = 4-stroke
   1 = 2-stroke
   bit 3 = Injection Type
   0 = Port Injection
   1 = Throttle Body
   bit 4-7 = Number of Cylinders
   0000 - 1 cylinder
   0001 - 2 cylinders
   0010 - 3 cylinder
   0011 - 4 cylinder
   0100 - 5 cylinder
   0101 - 6 cylinder
   0110 - 7 cylinder
   0111 - 8 cylinder
   1000 - 9 cylinder
   1001 - 10 cylinder
   1010 - 11 cylinder
   1011 - 12 cylinder
 */

/* Format for CONFIG12
   bit 0-1 = Coolant Sensor Type
   00 = GM
   01 = undefined
   10 = undefined
   11 = undefined

   bit 2-3 = MAT Sensor Type
   00 = GM
   01 = undefined
   10 = undefined
   11 = undefined

   bit 4-7 = Number of Injectors
   0000 = 1
   0001 = 2
   0010 = 3
   0011 = 4
   0100 = 5
   0101 = 6
   0110 = 7
   0111 = 8
   1000 = 9
   1001 = 10
 */

/* Format for CONFIG13
   bit 0   = Odd-fire averaging
   0 = Normal
   1 = Odd-Fire

 */

/* CONFIG11 Mask Operations */

#define MAP_MASK_BITS           0x03
#define STROKE_MASK_BITS        0x04
#define INJECTIONTYPE_MASK_BITS 0x08
#define NCYL_MASK_BITS          0xF0

#define map_from_bits(x)                ((x & MAP_MASK_BITS)               )
#define stroke_from_bits(x)             ((x & STROKE_MASK_BITS)        >> 2)
#define injectiontype_mask_from_bits(x) ((x & INJECTIONTYPE_MASK_BITS) >> 3)
#define ncyl_mask_bits(x)               ((x & NCYL_MASK_BITS)          >> 4)


/* CONFIG12 Mask Operations */

#define COOL_MASK_BITS          0x03
#define MAT_MASK_BITS           0x0C
#define NINJECT_MASK_BITS       0xF0

#define cool_from_bits(x)               ((x & COOL_MASK_BITS)        )
#define mat_from_bits(x)                ((x & MAT_MASK_BITS)     >> 2)
#define ninject_from_bits(x)            ((x & NINJECT_MASK_BITS) >> 4)

/* CONFIG13 Mask Operations */

#define ODDFIRE_MASK_BITS       0x01
#define O2SENSOR_MASK_BITS      0x02
#define ALPHAN_MASK_BITS        0x04
#define BAROC_MASK_BITS         0x08

#define oddfire_from_bits(x)            ((x & ODDFIRE_MASK_BITS)      )
#define wbego_from_bits(x)              ((x & O2SENSOR_MASK_BITS) >> 1)
#define alphaN_from_bits(x)             ((x & ALPHAN_MASK_BITS)   >> 2)
#define baroc_from_bits(x)              ((x & BAROC_MASK_BITS)    >> 3)

#endif

