Speeduino
Loading...
Searching...
No Matches
Functions | Variables
programmableIOControl.cpp File Reference
#include "programmableIOControl.h"
#include "logger.h"
#include "units.h"
#include "unit_testing.h"

Functions

void initialiseProgrammableIO (statuses &current, const config13 &page13)
 
TESTABLE_STATIC void checkProgrammableIO (statuses &current, const config13 &page13, int16_t(*getData)(uint16_t index))
 
void checkProgrammableIO (statuses &current, const config13 &page13)
 
TESTABLE_STATIC int16_t ProgrammableIOGetData (uint16_t index, byte(*pGetLogEntry)(uint16_t byteNum))
 
int16_t ProgrammableIOGetData (uint16_t index)
 

Variables

TESTABLE_STATIC uint8_t ioDelay [_countof(config13::outputPin)]
 
TESTABLE_STATIC uint8_t ioOutDelay [_countof(config13::outputPin)]
 
TESTABLE_STATIC uint8_t pinIsValid = 0
 
TESTABLE_STATIC uint8_t currentRuleStatus = 0
 

Detailed Description

Custom Programmable I/O. The config related to Programmable I/O is found on page13 (of type config13).

Function Documentation

◆ checkProgrammableIO() [1/2]

void checkProgrammableIO ( statuses current,
const config13 page13 
)
Here is the call graph for this function:

◆ checkProgrammableIO() [2/2]

TESTABLE_STATIC void checkProgrammableIO ( statuses current,
const config13 page13,
int16_t(*)(uint16_t index)  getData 
)

Check all (8) programmable I/O:s and carry out action on output pin as needed. Compare 2 (16 bit) vars in a way configured by cmpOperation (see also config13::operation). Use ProgrammableIOGetData() to get 2 vars to compare. Skip all programmable I/O:s where output pin is set 0 (meaning: not programmed).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialiseProgrammableIO()

void initialiseProgrammableIO ( statuses current,
const config13 page13 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProgrammableIOGetData() [1/2]

int16_t ProgrammableIOGetData ( uint16_t  index)
Here is the call graph for this function:

◆ ProgrammableIOGetData() [2/2]

TESTABLE_STATIC int16_t ProgrammableIOGetData ( uint16_t  index,
byte(*)(uint16_t byteNum pGetLogEntry 
)

Get single I/O data var (from current) for comparison.

Parameters
index- Field index/number (?)
Returns
16 bit (int) result
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ currentRuleStatus

TESTABLE_STATIC uint8_t currentRuleStatus = 0

◆ ioDelay

◆ ioOutDelay

◆ pinIsValid

TESTABLE_STATIC uint8_t pinIsValid = 0