Speeduino
Classes | Macros | Functions
table.h File Reference

Go to the source code of this file.

Classes

struct  table2D
 
struct  table3D
 

Macros

#define TABLE_RPM_MULTIPLIER   100
 
#define TABLE_LOAD_MULTIPLIER   2
 
#define TABLE_SHIFT_FACTOR   8
 
#define TABLE_SHIFT_POWER   (1UL<<TABLE_SHIFT_FACTOR)
 
#define TABLE3D_SIZE_16   (16 * 16 + 32 + 32 + (16 * sizeof(byte*)))
 
#define TABLE3D_SIZE_12   (12 * 12 + 24 + 24 + (12 * sizeof(byte*)))
 
#define TABLE3D_SIZE_8   (8 * 8 + 16 + 16 + (8 * sizeof(byte*)))
 
#define TABLE3D_SIZE_6   (6 * 6 + 12 + 12 + (6 * sizeof(byte*)))
 
#define TABLE3D_SIZE_4   (4 * 4 + 8 + 8 + (4 * sizeof(byte*)))
 
#define TABLE_FUEL1_SIZE   16;
 
#define TABLE_FUEL2_SIZE   16;
 
#define TABLE_IGN1_SIZE   16;
 
#define TABLE_IGN2_SIZE   16;
 
#define TABLE_AFR_SIZE   16;
 
#define TABLE_STAGING_SIZE   8;
 
#define TABLE_BOOST_SIZE   8;
 
#define TABLE_VVT1_SIZE   8;
 
#define TABLE_VVT2_SIZE   8;
 
#define TABLE_WMI_SIZE   8;
 
#define TABLE_TRIM1_SIZE   6;
 
#define TABLE_TRIM2_SIZE   6;
 
#define TABLE_TRIM3_SIZE   6;
 
#define TABLE_TRIM4_SIZE   6;
 
#define TABLE_TRIM5_SIZE   6;
 
#define TABLE_TRIM6_SIZE   6;
 
#define TABLE_TRIM7_SIZE   6;
 
#define TABLE_TRIM8_SIZE   6;
 
#define TABLE_DWELL_SIZE   4;
 
#define TABLE_HEAP_SIZE   ((5 * TABLE3D_SIZE_16) + (5 * TABLE3D_SIZE_8) + (8 * TABLE3D_SIZE_6) + (1 * TABLE3D_SIZE_4) + 1)
 

Functions

void table2D_setSize (struct table2D *, byte)
 
int16_t table2D_getAxisValue (struct table2D *, byte)
 Returns an axis (bin) value from the 2D table. This works regardless of whether that axis is bytes or int16_ts. More...
 
int16_t table2D_getRawValue (struct table2D *, byte)
 Returns an value from the 2D table given an index value. No interpolation is performed. More...
 
void table3D_setSize (struct table3D *targetTable, byte)
 
int get3DTableValue (struct table3D *fromTable, int, int)
 
int table2D_getValue (struct table2D *fromTable, int)
 

Macro Definition Documentation

◆ TABLE3D_SIZE_12

#define TABLE3D_SIZE_12   (12 * 12 + 24 + 24 + (12 * sizeof(byte*)))

◆ TABLE3D_SIZE_16

#define TABLE3D_SIZE_16   (16 * 16 + 32 + 32 + (16 * sizeof(byte*)))

◆ TABLE3D_SIZE_4

#define TABLE3D_SIZE_4   (4 * 4 + 8 + 8 + (4 * sizeof(byte*)))

◆ TABLE3D_SIZE_6

#define TABLE3D_SIZE_6   (6 * 6 + 12 + 12 + (6 * sizeof(byte*)))

◆ TABLE3D_SIZE_8

#define TABLE3D_SIZE_8   (8 * 8 + 16 + 16 + (8 * sizeof(byte*)))

◆ TABLE_AFR_SIZE

#define TABLE_AFR_SIZE   16;

◆ TABLE_BOOST_SIZE

#define TABLE_BOOST_SIZE   8;

◆ TABLE_DWELL_SIZE

#define TABLE_DWELL_SIZE   4;

◆ TABLE_FUEL1_SIZE

#define TABLE_FUEL1_SIZE   16;

◆ TABLE_FUEL2_SIZE

#define TABLE_FUEL2_SIZE   16;

◆ TABLE_HEAP_SIZE

#define TABLE_HEAP_SIZE   ((5 * TABLE3D_SIZE_16) + (5 * TABLE3D_SIZE_8) + (8 * TABLE3D_SIZE_6) + (1 * TABLE3D_SIZE_4) + 1)

◆ TABLE_IGN1_SIZE

#define TABLE_IGN1_SIZE   16;

◆ TABLE_IGN2_SIZE

#define TABLE_IGN2_SIZE   16;

◆ TABLE_LOAD_MULTIPLIER

#define TABLE_LOAD_MULTIPLIER   2

◆ TABLE_RPM_MULTIPLIER

#define TABLE_RPM_MULTIPLIER   100

◆ TABLE_SHIFT_FACTOR

#define TABLE_SHIFT_FACTOR   8

◆ TABLE_SHIFT_POWER

#define TABLE_SHIFT_POWER   (1UL<<TABLE_SHIFT_FACTOR)

◆ TABLE_STAGING_SIZE

#define TABLE_STAGING_SIZE   8;

◆ TABLE_TRIM1_SIZE

#define TABLE_TRIM1_SIZE   6;

◆ TABLE_TRIM2_SIZE

#define TABLE_TRIM2_SIZE   6;

◆ TABLE_TRIM3_SIZE

#define TABLE_TRIM3_SIZE   6;

◆ TABLE_TRIM4_SIZE

#define TABLE_TRIM4_SIZE   6;

◆ TABLE_TRIM5_SIZE

#define TABLE_TRIM5_SIZE   6;

◆ TABLE_TRIM6_SIZE

#define TABLE_TRIM6_SIZE   6;

◆ TABLE_TRIM7_SIZE

#define TABLE_TRIM7_SIZE   6;

◆ TABLE_TRIM8_SIZE

#define TABLE_TRIM8_SIZE   6;

◆ TABLE_VVT1_SIZE

#define TABLE_VVT1_SIZE   8;

◆ TABLE_VVT2_SIZE

#define TABLE_VVT2_SIZE   8;

◆ TABLE_WMI_SIZE

#define TABLE_WMI_SIZE   8;

Function Documentation

◆ get3DTableValue()

int get3DTableValue ( struct table3D fromTable,
int  Y_in,
int  X_in 
)
Here is the caller graph for this function:

◆ table2D_getAxisValue()

int16_t table2D_getAxisValue ( struct table2D fromTable,
byte  X_index 
)

Returns an axis (bin) value from the 2D table. This works regardless of whether that axis is bytes or int16_ts.

Parameters
fromTable
X_index
Returns
int16_t
Here is the caller graph for this function:

◆ table2D_getRawValue()

int16_t table2D_getRawValue ( struct table2D fromTable,
byte  X_index 
)

Returns an value from the 2D table given an index value. No interpolation is performed.

Parameters
fromTable
X_index
Returns
int16_t
Here is the caller graph for this function:

◆ table2D_getValue()

int table2D_getValue ( struct table2D fromTable,
int  X_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ table2D_setSize()

void table2D_setSize ( struct table2D ,
byte   
)

◆ table3D_setSize()

void table3D_setSize ( struct table3D targetTable,
byte  newSize 
)
Here is the call graph for this function:
Here is the caller graph for this function: