13#define INITIAL_PIN_STATE -1
16#define assertOMode(mode) { \
17 efiAssertVoid(ObdCode::CUSTOM_INVALID_MODE_SETTING, mode <= OM_OPENDRAIN_INVERTED, "invalid pin_output_mode_e"); \
20#define efiSetPadModeIfConfigurationChanged(msg, pin, mode) \
21 if (isConfigurationChanged(pin)) { \
22 efiSetPadMode(msg, engineConfiguration->pin, mode); \
25#define efiSetPadUnusedIfConfigurationChanged(pin) \
26 if (isConfigurationChanged(pin)) { \
27 efiSetPadUnused(activeConfiguration.pin); \
46#define BRAIN_PIN_COUNT (1 << 8 * sizeof(brain_pin_e))
uint32_t iomode_t
Digital I/O modes.
void efiSetPadMode(const char *msg, brain_pin_e pin, iomode_t mode)
iomode_t getInputMode(pin_input_mode_e mode)
bool efiIsInputPinInverted(pin_input_mode_e mode)
bool efiReadPin(brain_pin_e pin)
bool mockPinStates[BRAIN_PIN_COUNT]
void efiSetPadUnused(brain_pin_e brainPin)
void setMockState(brain_pin_e pin, bool state)
void efiSetPadModeWithoutOwnershipAcquisition(const char *msg, brain_pin_e brainPin, iomode_t mode)
void writePad(const char *msg, brain_pin_e pin, int bit)
state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1871, 1.0, -1.0, -1.0, "")