7#include "../../../config_pages.h"
8#include "../../../preprocessor.h"
43 bool evaluate(int16_t lhs, int16_t rhs)
const;
Definition programmableIOControl_details.cpp:5
constexpr uint8_t COMPARATOR_LESS_EQUAL
Definition programmableIOControl_details.h:22
constexpr uint8_t REUSE_RULES
Definition programmableIOControl_details.h:31
LimitingType
Definition programmableIOControl_details.h:48
constexpr uint8_t COMPARATOR_LESS
Definition programmableIOControl_details.h:21
constexpr uint8_t COMBINE_DISABLED
Definition programmableIOControl_details.h:26
constexpr uint8_t COMPARATOR_XOR
Definition programmableIOControl_details.h:24
constexpr uint8_t COMPARATOR_GREATER_EQUAL
Definition programmableIOControl_details.h:20
constexpr uint8_t COMBINE_XOR
Definition programmableIOControl_details.h:29
constexpr uint8_t COMBINE_AND
Definition programmableIOControl_details.h:27
constexpr uint8_t COMPARATOR_GREATER
Definition programmableIOControl_details.h:19
constexpr uint8_t COMPARATOR_NOT_EQUAL
Definition programmableIOControl_details.h:18
constexpr uint8_t COMBINE_OR
Definition programmableIOControl_details.h:28
constexpr uint8_t COMPARATOR_AND
Definition programmableIOControl_details.h:23
constexpr uint8_t COMPARATOR_EQUAL
Definition programmableIOControl_details.h:17
int16_t(*)(uint16_t index) getDataFn
Definition programmableIOControl_details.h:33
#define _countof(x)
Compile time calculation of an array size.
Definition preprocessor.h:22
TESTABLE_STATIC state_t state
Definition programmableIOControl.cpp:15
const config4 const config13 & page13
Definition scheduler_ignition_controller.cpp:657
Definition config_pages.h:845
uint8_t outputPin[8]
Disable(0) or enable (set to valid pin number) Programmable Pin (output/target pin to set)
Definition config_pages.h:848
Definition programmableIOControl_details.h:76
uint8_t activationDelayCount
Definition programmableIOControl_details.h:80
uint8_t _index
Definition programmableIOControl_details.h:79
bool isOutputActive
Definition programmableIOControl_details.h:78
bool isRuleActive
Definition programmableIOControl_details.h:77
void initialize(const config13 &page13, uint8_t index)
Definition programmableIOControl_details.cpp:7
uint8_t outputDelayCount
Definition programmableIOControl_details.h:81
channel_state_t()
Definition programmableIOControl_details.h:83
Definition programmableIOControl_details.h:35
bool isVirtualData() const
Definition programmableIOControl_details.h:40
bool evaluate(int16_t lhs, int16_t rhs) const
Definition programmableIOControl_details.cpp:90
int16_t getComparisonData(const state_t &state, getDataFn pGetData) const
Definition programmableIOControl_details.cpp:71
int16_t target
Definition programmableIOControl_details.h:38
uint8_t opType
Definition programmableIOControl_details.h:36
uint8_t dataIndex
Definition programmableIOControl_details.h:37
A struct that captures enough information to process a channel. Instances of this class are ephemeral...
Definition programmableIOControl_details.h:99
bool activationDelayExpired(void) const
Definition programmableIOControl_details.h:122
channel_state_t & _channel_state
Definition programmableIOControl_details.h:100
uint8_t outputTimeLimit
Output delay for each programmable I/O, kindOfLimiting bit dependent(Unit: 0.1S)
Definition programmableIOControl_details.h:105
bool outputDelayExpired(void) const
Definition programmableIOControl_details.h:118
uint8_t outputPin
Disable(0) or enable (set to valid pin number) Programmable Pin (output/target pin to set)
Definition programmableIOControl_details.h:101
uint8_t activationDelay
Output write delay for each programmable I/O (Unit: 0.1S)
Definition programmableIOControl_details.h:106
void incrementOutputDelay(void)
Definition programmableIOControl_details.cpp:41
LimitingType limitType
Select which kind of output limiting are active (0 - minimum | 1 - maximum)
Definition programmableIOControl_details.h:104
bool isPhysicalPin(void) const
Definition programmableIOControl_details.h:110
bool hasMaxLimit(void) const
Definition programmableIOControl_details.h:114
void incrementActivationDelay(void)
Definition programmableIOControl_details.h:128
bool isPinValid
Definition programmableIOControl_details.h:102
bool isOutputInverted
Invert (on/off) value before writing to output pin (for all programmable I/O:s).
Definition programmableIOControl_details.h:103
Definition programmableIOControl_details.h:56
bool evaluate(const state_t &state, getDataFn pGetData) const
Definition programmableIOControl_details.cpp:122
compOperation_t secondOp
Second operand for comparison, used if bitwise operation is enabled.
Definition programmableIOControl_details.h:59
compOperation_t firstOp
First operand for comparison.
Definition programmableIOControl_details.h:58
uint8_t combineOpType
Definition programmableIOControl_details.h:57
bool evaluateCombineOp(bool lhs, bool rhs) const
Definition programmableIOControl_details.cpp:112
rule_t(const config13 &page13, uint8_t index)
Definition programmableIOControl_details.h:62
Definition programmableIOControl_details.h:135
channel_state_t channels[_countof(config13::outputPin)]
Definition programmableIOControl_details.h:136
uint8_t compressedOutputStatus(void) const
Definition programmableIOControl_details.cpp:61