Speeduino
|
#include <avr/pgmspace.h>
#include "globals.h"
#include "utilities.h"
#include "decoders.h"
#include "comms.h"
#include "logger.h"
#include "scheduler.h"
#include "scheduledIO.h"
#include "speeduino.h"
Variables | |
uint8_t | ioDelay [sizeof(configPage13.outputPin)] |
uint8_t | ioOutDelay [sizeof(configPage13.outputPin)] |
uint8_t | pinIsValid = 0 |
uint8_t | currentRuleStatus = 0 |
Custom Programmable I/O. The config related to Programmable I/O is found on configPage13 (of type config13).
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).
Translate between the pin list that appears in TS and the actual pin numbers. For the digital IO, this will simply return the same number as the rawPin value as those are mapped directly. For analog pins, it will translate them into the correct internal pin number.
rawPin | - High level pin number |
Translate a pin number (0 - 22) to the relevant Ax (analog) pin reference. This is required as some ARM chips do not have all analog pins in order (EG pin A15 != A14 + 1).
Get single I/O data var (from currentStatus) for comparison.
index | - Field index/number (?) |
uint8_t currentRuleStatus = 0 |
uint8_t pinIsValid = 0 |