Speeduino
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
programmableIOControl_details::processing_channel_t Struct Reference

A struct that captures enough information to process a channel. Instances of this class are ephemeral and created on the fly as needed. More...

#include <programmableIOControl_details.h>

Collaboration diagram for programmableIOControl_details::processing_channel_t:
Collaboration graph
[legend]

Public Member Functions

 processing_channel_t (const config13 &page13, channel_state_t &channel_state)
 
bool isPhysicalPin (void) const
 
bool hasMaxLimit (void) const
 
bool outputDelayExpired (void) const
 
bool activationDelayExpired (void) const
 
void incrementOutputDelay (void)
 
void incrementActivationDelay (void)
 

Public Attributes

channel_state_t_channel_state
 
uint8_t outputPin = 0
 Disable(0) or enable (set to valid pin number) Programmable Pin (output/target pin to set)
 
bool isPinValid: 1
 
bool isOutputInverted: 1
 Invert (on/off) value before writing to output pin (for all programmable I/O:s).
 
LimitingType limitType
 Select which kind of output limiting are active (0 - minimum | 1 - maximum)
 
uint8_t outputTimeLimit = 0
 Output delay for each programmable I/O, kindOfLimiting bit dependent(Unit: 0.1S)
 
uint8_t activationDelay = 0
 Output write delay for each programmable I/O (Unit: 0.1S)
 

Detailed Description

A struct that captures enough information to process a channel. Instances of this class are ephemeral and created on the fly as needed.

This only exists to lower memory pressure: without that constraint, this would be merged with stateful_channel_t (or access the config13 arrays directly).

Constructor & Destructor Documentation

◆ processing_channel_t()

programmableIOControl_details::processing_channel_t::processing_channel_t ( const config13 page13,
channel_state_t channel_state 
)

Member Function Documentation

◆ activationDelayExpired()

bool programmableIOControl_details::processing_channel_t::activationDelayExpired ( void  ) const
inline
Here is the caller graph for this function:

◆ hasMaxLimit()

bool programmableIOControl_details::processing_channel_t::hasMaxLimit ( void  ) const
inline
Here is the caller graph for this function:

◆ incrementActivationDelay()

void programmableIOControl_details::processing_channel_t::incrementActivationDelay ( void  )
inline
Here is the caller graph for this function:

◆ incrementOutputDelay()

void programmableIOControl_details::processing_channel_t::incrementOutputDelay ( void  )
Here is the caller graph for this function:

◆ isPhysicalPin()

bool programmableIOControl_details::processing_channel_t::isPhysicalPin ( void  ) const
inline
Here is the caller graph for this function:

◆ outputDelayExpired()

bool programmableIOControl_details::processing_channel_t::outputDelayExpired ( void  ) const
inline
Here is the caller graph for this function:

Member Data Documentation

◆ _channel_state

channel_state_t& programmableIOControl_details::processing_channel_t::_channel_state

◆ activationDelay

uint8_t programmableIOControl_details::processing_channel_t::activationDelay = 0

Output write delay for each programmable I/O (Unit: 0.1S)

◆ isOutputInverted

bool programmableIOControl_details::processing_channel_t::isOutputInverted

Invert (on/off) value before writing to output pin (for all programmable I/O:s).

◆ isPinValid

bool programmableIOControl_details::processing_channel_t::isPinValid

◆ limitType

LimitingType programmableIOControl_details::processing_channel_t::limitType

Select which kind of output limiting are active (0 - minimum | 1 - maximum)

◆ outputPin

uint8_t programmableIOControl_details::processing_channel_t::outputPin = 0

Disable(0) or enable (set to valid pin number) Programmable Pin (output/target pin to set)

◆ outputTimeLimit

uint8_t programmableIOControl_details::processing_channel_t::outputTimeLimit = 0

Output delay for each programmable I/O, kindOfLimiting bit dependent(Unit: 0.1S)


The documentation for this struct was generated from the following files: