57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
/*
|
|
* fuel_map.h
|
|
*
|
|
* Created on: Oct 18, 2024
|
|
* Author: herli
|
|
*/
|
|
|
|
#ifndef FUEL_MAP_H_
|
|
#define FUEL_MAP_H_
|
|
#include <id.h>
|
|
#include <stdint.h>
|
|
|
|
//extern float PHIAD_TEIN;
|
|
// Function declarations
|
|
extern void init_FuelMap(float* PHIAD);
|
|
|
|
float GetAlpha(float RPM, float ME, float Tein, float Temp);
|
|
float GetBeta(float RPM, float Tein);
|
|
|
|
float FM_GET_PHIAD(float RPM, float ME, float Temp);
|
|
|
|
struct AlphaStruct {
|
|
//float ME_RPM_Beta_array[N_ME][N_RPM];
|
|
float ME_RPM_Beta_array[FM_N_RPM][FM_N_ME]; //para la transpuesta
|
|
};
|
|
extern struct AlphaStruct fuelmap_m12;
|
|
extern struct AlphaStruct fuelmap_m5;
|
|
extern struct AlphaStruct fuelmap_10;
|
|
extern struct AlphaStruct fuelmap_25;
|
|
extern struct AlphaStruct fuelmap_60;
|
|
//extern struct AlphaStruct fuelmap_80;
|
|
extern struct fuelMapIndexes fuelMapI;
|
|
|
|
static const struct AlphaStruct* g_FuelMaps[] = {
|
|
&fuelmap_m12,
|
|
&fuelmap_m5,
|
|
&fuelmap_10,
|
|
&fuelmap_25,
|
|
&fuelmap_60,
|
|
//&fuelmap_80
|
|
|
|
// add/remove as needed; order must match fuelMapI.T_Index_array
|
|
};
|
|
|
|
struct fuelMapIndexes {
|
|
float RPM_Index_array[FM_N_RPM];
|
|
float ME_Index_array[FM_N_ME];
|
|
float T_Index_array[FM_N_T];
|
|
};
|
|
|
|
// Declare the lookup table
|
|
//extern struct AlphaStruct fuelmap;
|
|
|
|
extern float BoostMultiplier(uint8_t mode, float RPM, float ME);
|
|
|
|
#endif /* FUEL_MAP2_H_ */
|