Myriota Flex SDK 2.5.1
Loading...
Searching...
No Matches
External Digital I/O

Configure and control the FlexSense External Digital I/O interface. More...

Typedefs

typedef void(* FLEX_IOWakeupHandler) (void)
 Wakeup Handler Function Pointer Declaration.
 

Enumerations

enum  FLEX_DigitalIOPin { FLEX_EXT_DIGITAL_IO_1 , FLEX_EXT_DIGITAL_IO_2 }
 Available Digital I/O Pins. More...
 
enum  FLEX_DigitalIOLevel { FLEX_EXT_DIGITAL_IO_LOW = 0 , FLEX_EXT_DIGITAL_IO_HIGH }
 Digital I/O level Options. More...
 
enum  FLEX_ExtDigitalIOWakeupModifyAction { FLEX_EXT_DIGITAL_IO_WAKEUP_ENABLE , FLEX_EXT_DIGITAL_IO_WAKEUP_DISABLE }
 External Digital I/O Wakeup Modify Actions. More...
 

Functions

int FLEX_ExtDigitalIOSet (const FLEX_DigitalIOPin PinNum, const FLEX_DigitalIOLevel Level)
 
int FLEX_ExtDigitalIOGet (const FLEX_DigitalIOPin PinNum)
 
int FLEX_ExtDigitalIOWakeupModify (const FLEX_DigitalIOPin PinNum, const FLEX_ExtDigitalIOWakeupModifyAction Action)
 
int FLEX_ExtDigitalIOWakeupHandlerModify (const FLEX_IOWakeupHandler Handler, const FLEX_HandlerModifyAction Action)
 

Detailed Description

Configure and control the FlexSense External Digital I/O interface.

Enumeration Type Documentation

◆ FLEX_DigitalIOPin

Available Digital I/O Pins.

Enumerator
FLEX_EXT_DIGITAL_IO_1 

Digital I/O Pin 1.

FLEX_EXT_DIGITAL_IO_2 

Digital I/O Pin 2.

◆ FLEX_DigitalIOLevel

Digital I/O level Options.

Enumerator
FLEX_EXT_DIGITAL_IO_LOW 

Digital I/O level Low.

FLEX_EXT_DIGITAL_IO_HIGH 

Digital I/O level High.

◆ FLEX_ExtDigitalIOWakeupModifyAction

External Digital I/O Wakeup Modify Actions.

Enumerator
FLEX_EXT_DIGITAL_IO_WAKEUP_ENABLE 

Action to enable wakeup for an External Digital I/O pin.

FLEX_EXT_DIGITAL_IO_WAKEUP_DISABLE 

Action to disable wakeup for an External Digital I/O pin.

Function Documentation

◆ FLEX_ExtDigitalIOSet()

int FLEX_ExtDigitalIOSet ( const FLEX_DigitalIOPin PinNum,
const FLEX_DigitalIOLevel Level )

Set the level of an external Digital I/O pin to High or Low.

Parameters
[in]PinNumthe external Digital I/O pin number.
[in]Levelthe required Digital I/O level for the selected pin.
Returns
FLEX_SUCCESS (0) if succeeded and < 0 if failed.
Return values
-FLEX_ERROR_IO_EXPANDERfailed to initialise or configure expander device
-FLEX_ERROR_EINVALInvalid level parameter
-FLEX_ERROR_I2CError with i2c device when setting IO

◆ FLEX_ExtDigitalIOGet()

int FLEX_ExtDigitalIOGet ( const FLEX_DigitalIOPin PinNum)

Get the level of an External Digital I/O pin.

Parameters
[in]PinNumthe external Digital I/O pin number.
Returns
FLEX_DigitalIOLevel if succeeded and < 0 if failed.
Return values
-FLEX_ERROR_IO_EXPANDERfailed to initialise or configure expander device
-FLEX_ERROR_GPIOError with GPIO device when setting IO

◆ FLEX_ExtDigitalIOWakeupModify()

int FLEX_ExtDigitalIOWakeupModify ( const FLEX_DigitalIOPin PinNum,
const FLEX_ExtDigitalIOWakeupModifyAction Action )

Enable/Disable an External Digital IO with wakeup capability for the next wakeup. This wakes up on a falling edge of the External Digital IO.

Parameters
[in]PinNumthe external Digital I/O pin number.
[in]ActionEnable/Disable wakeup for the selected Digital I/O pin.
Returns
FLEX_SUCCESS (0) if succeeded and < 0 if failed.
Return values
-FLEX_ERROR_GPIOError with GPIO device when setting IO

◆ FLEX_ExtDigitalIOWakeupHandlerModify()

int FLEX_ExtDigitalIOWakeupHandlerModify ( const FLEX_IOWakeupHandler Handler,
const FLEX_HandlerModifyAction Action )

Add or remove an external Digital I/O wakeup handler that will be called on a falling edge on the external Digital I/O pin.

Parameters
[in]Handlerfunction pointer of the external Digital I/O wakeup handler.
[in]ActionAdd/Remove the input IO wakeup handler.
Returns
FLEX_SUCCESS (0) if succeeded and < 0 if failed.
Return values
-FLEX_ERROR_EALREADYhandler already exists, remove first
-FLEX_ERROR_EINVALattempt to remove non-existent handler