rusefi-1/firmware/controllers/core/fsio_impl.h

37 lines
995 B
C
Raw Normal View History

2015-07-10 06:01:56 -07:00
/**
* @file fsio_impl.h
* @brief FSIO as it's used for GPIO
*
* @date Oct 5, 2014
2020-01-07 21:02:40 -08:00
* @author Andrey Belomutskiy, (c) 2012-2020
2015-07-10 06:01:56 -07:00
*/
2019-12-15 20:33:15 -08:00
#pragma once
2015-07-10 06:01:56 -07:00
#include "fsio_core.h"
#include "expected.h"
2017-01-19 14:04:15 -08:00
#include "system_fsio.h"
2016-04-04 07:01:43 -07:00
// see useFSIO4ForSeriousEngineWarning
#define MAGIC_OFFSET_FOR_ENGINE_WARNING 4
// see useFSIO5ForCriticalIssueEngineStop
#define MAGIC_OFFSET_FOR_CRITICAL_ENGINE 5
typedef Map3D<SCRIPT_TABLE_8, SCRIPT_TABLE_8, float, uint16_t, uint16_t> fsio8_Map3D_f32t;
typedef Map3D<SCRIPT_TABLE_8, SCRIPT_TABLE_8, uint8_t, uint16_t, uint16_t> fsio8_Map3D_u8t;
2015-07-10 06:01:56 -07:00
expected<float> getEngineValue(le_action_e action);
2015-07-10 06:01:56 -07:00
void initFsioImpl();
void runFsio();
2021-11-14 05:33:19 -08:00
void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration);
void runHardcodedFsio();
2015-07-10 06:01:56 -07:00
float getCurveValue(int index, float key);
int getCurveIndexByName(const char *name);
int getTableIndexByName(const char *name);
int getSettingIndexByName(const char *name);
2021-11-14 07:39:47 -08:00
ValueProvider3D *getscriptTable(int index);
2019-07-12 05:31:38 -07:00