OS  v7.3.3
Documentation
I/O Groups for edge checking

An interface to manage and simplify the value(with edge-checking) of incoming digital-signal groups. More...

Collaboration diagram for I/O Groups for edge checking:

Data Structures

struct  qEdgeCheck_IONode_t
 An input node object for edge checking. More...
 
struct  qEdgeCheck_t
 An I/O edge check object. More...
 

Macros

#define QREG_8BIT
 To define a register size of 8-bits for an Edge-Check instance.
 
#define QREG_16BIT
 To define a register size of 16-bits for an Edge-Check instance.
 
#define QREG_32BIT
 To define a register size of 32-bits for an Edge-Check instance.
 

Typedefs

typedef qBool_t(* qCoreRegSize_t) (const void *arg1, qBool_t arg2)
 A typedef to specify the I/O register size.
 

Functions

qBool_t qEdgeCheck_Setup (qEdgeCheck_t *const ec, const qCoreRegSize_t rSize, const qClock_t debounceTime)
 Initialize a I/O Edge-Check instance. More...
 
qBool_t qEdgeCheck_Add_Node (qEdgeCheck_t *const ec, qEdgeCheck_IONode_t *const n, void *portAddress, const qBool_t pinNumber)
 Add an input node to the Edge-Check instance. More...
 
qBool_t qEdgeCheck_Update (qEdgeCheck_t *const ec)
 Update the status of all nodes inside the I/O Edge-Check instance (Non-Blocking call). More...
 
qBool_t qEdgeCheck_Get_NodeStatus (const qEdgeCheck_IONode_t *const n)
 Query the status of the specified input-node. More...
 
qBool_t qEdgeCheck_Set_NodePin (qEdgeCheck_IONode_t *const n, const qBool_t pinNumber)
 Set/Change the pin number for the provided node. More...
 

Detailed Description

An interface to manage and simplify the value(with edge-checking) of incoming digital-signal groups.

Function Documentation

◆ qEdgeCheck_Add_Node()

qBool_t qEdgeCheck_Add_Node ( qEdgeCheck_t *const  ec,
qEdgeCheck_IONode_t *const  n,
void *  portAddress,
const qBool_t  pinNumber 
)

Add an input node to the Edge-Check instance.

Parameters
[in]ecA pointer to the I/O Edge-Check object
[in]nA pointer to the Input-Node object
[in]portAddressThe address of the core PORTx-register to read the levels of the specified PinNumber
[in]pinNumberThe specified Pin to read from PortAddress
Returns
qTrue on success. Otherwise qFalse.

◆ qEdgeCheck_Get_NodeStatus()

qBool_t qEdgeCheck_Get_NodeStatus ( const qEdgeCheck_IONode_t *const  n)

Query the status of the specified input-node.

Parameters
[in]nA pointer to the Input-Node object
Returns
The status of the input node : qTrue, qFalse, qRising, qFalling or qUnknown.

◆ qEdgeCheck_Set_NodePin()

qBool_t qEdgeCheck_Set_NodePin ( qEdgeCheck_IONode_t *const  n,
const qBool_t  pinNumber 
)

Set/Change the pin number for the provided node.

Parameters
[in]nA pointer to the Input-Node object.
[in]pinNumberThe specified Pin to read from PortAddress.
Returns
qTrue on success. Otherwise qFalse.

◆ qEdgeCheck_Setup()

qBool_t qEdgeCheck_Setup ( qEdgeCheck_t *const  ec,
const qCoreRegSize_t  rSize,
const qClock_t  debounceTime 
)

Initialize a I/O Edge-Check instance.

Parameters
[in]ecA pointer to the I/O Edge-Check object
[in]rSizeThe specific-core register size: QREG_8BIT, QREG_16BIT or QREG_32BIT(Default)
[in]debounceTimeThe specified time to bypass the bounce of the input nodes
Returns
qTrue on success. Otherwise qFalse.

◆ qEdgeCheck_Update()

qBool_t qEdgeCheck_Update ( qEdgeCheck_t *const  ec)

Update the status of all nodes inside the I/O Edge-Check instance (Non-Blocking call).

Parameters
[in]ecA pointer to the I/O Edge-Check object
Returns
qTrue on success. Otherwise qFalse.