Nut/OS  4.10.3
API Reference
pca9555.c File Reference
#include <compiler.h>
#include <stdlib.h>
#include <string.h>
#include <memdebug.h>
#include <sys/heap.h>
#include <sys/event.h>
#include <cfg/os.h>
#include <dev/twif.h>
#include <dev/gpio.h>
#include <cfg/pca9555.h>
#include <dev/pca9555.h>
Include dependency graph for pca9555.c:

Go to the source code of this file.

Data Structures

struct  pca_regs_t

Defines

#define I2C_SLA_IOEXP   0x23
#define PCA_PINP   0
#define PCA_POUT   2
#define PCA_PINV   4
#define PCA_CONF   6

Functions

int IOExpInit (void)
int IOExpPinConfigSet (int bank, int bit, uint32_t flags)
int IOExpRawWrite (int bank, int value)
int IOExpRawRead (int bank, int *value)
int IOExpGetBit (int bank, int bit, int *value)
int IOExpSetBitHigh (int bank, int bit)
int IOExpSetBitLow (int bank, int bit)
int IOExpSetBit (int bank, int bit, int value)

Variables

pca_regs_tpca_ctrl = NULL

Define Documentation

#define I2C_SLA_IOEXP   0x23
#define PCA_PINP   0

PCA Input register offset

Definition at line 60 of file pca9555.c.

Referenced by IOExpGetBit(), and IOExpRawRead().

#define PCA_POUT   2

PCA Output register offset

Definition at line 61 of file pca9555.c.

Referenced by IOExpInit(), IOExpPinConfigSet(), IOExpRawWrite(), IOExpSetBitHigh(), and IOExpSetBitLow().

#define PCA_PINV   4

PCA Polarity inversion register offset

Definition at line 62 of file pca9555.c.

Referenced by IOExpInit(), and IOExpPinConfigSet().

#define PCA_CONF   6

PCA Configuration register offset

Definition at line 63 of file pca9555.c.

Referenced by IOExpInit(), and IOExpPinConfigSet().


Function Documentation

int IOExpInit ( void  )

Definition at line 75 of file pca9555.c.

References pca_regs_t::con, I2C_SLA_IOEXP, malloc(), memset(), pca_regs_t::out, PCA_CONF, PCA_PINV, PCA_POUT, pca_regs_t::pol, and TwMasterRegWrite().

Here is the call graph for this function:

int IOExpPinConfigSet ( int  bank,
int  bit,
uint32_t  flags 
)

Definition at line 102 of file pca9555.c.

References pca_regs_t::con, GPIO_CFG_INVERT, GPIO_CFG_NORM, GPIO_CFG_OUTPUT, I2C_SLA_IOEXP, pca_regs_t::out, PCA_CONF, PCA_PINV, PCA_POUT, pca_regs_t::pol, and TwMasterRegWrite().

Referenced by InitKEY(), and InitLED().

Here is the call graph for this function:

int IOExpRawWrite ( int  bank,
int  value 
)

Definition at line 129 of file pca9555.c.

References I2C_SLA_IOEXP, pca_regs_t::out, PCA_POUT, and TwMasterRegWrite().

Here is the call graph for this function:

int IOExpRawRead ( int  bank,
int *  value 
)

Definition at line 143 of file pca9555.c.

References I2C_SLA_IOEXP, PCA_PINP, and TwMasterRegRead().

Referenced by sys_key().

Here is the call graph for this function:

int IOExpGetBit ( int  bank,
int  bit,
int *  value 
)

Definition at line 156 of file pca9555.c.

References I2C_SLA_IOEXP, PCA_PINP, and TwMasterRegRead().

Here is the call graph for this function:

int IOExpSetBitHigh ( int  bank,
int  bit 
)

Definition at line 173 of file pca9555.c.

References I2C_SLA_IOEXP, pca_regs_t::out, PCA_POUT, and TwMasterRegWrite().

Referenced by InitLED(), and IOExpSetBit().

Here is the call graph for this function:

int IOExpSetBitLow ( int  bank,
int  bit 
)

Definition at line 187 of file pca9555.c.

References I2C_SLA_IOEXP, pca_regs_t::out, PCA_POUT, and TwMasterRegWrite().

Referenced by IOExpSetBit().

Here is the call graph for this function:

int IOExpSetBit ( int  bank,
int  bit,
int  value 
)

Definition at line 201 of file pca9555.c.

References IOExpSetBitHigh(), and IOExpSetBitLow().

Referenced by NutSetLed().

Here is the call graph for this function:


Variable Documentation

Definition at line 72 of file pca9555.c.