openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches

MCP23016 module interface functions declarations. More...

#include "mmc_error.h"
#include "port.h"
Include dependency graph for mcp23016.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MCP23016_GP_REG   0x0
 MCP23016 General purpose I/O port register (Read/write)
 
#define MCP23016_OLAT_REG   0x2
 MCP23016 Output latch register (Read/write)
 
#define MCP23016_IPOL_REG   0x4
 MCP23016 Input polarity port register (Read/write)
 
#define MCP23016_IODIR_REG   0x6
 MCP23016 I/O direction register (Read/write)
 
#define MCP23016_INTCAP_REG   0x8
 MCP23016 Interrupt captured value register (Read only)
 
#define MCP23016_IOCON_REG   0xA
 MCP23016 I/0 control register (Read/write)
 

Functions

mmc_err mcp23016_read_port (uint8_t port_num, uint8_t *readout)
 Read port pins status.
 
mmc_err mcp23016_read_pin (uint8_t port_num, uint8_t pin, uint8_t *status)
 Read a pin status.
 
mmc_err mcp23016_write_port (uint8_t port_num, uint8_t data)
 Write port output pins.
 
mmc_err mcp23016_write_pin (uint8_t port_num, uint8_t pin, bool data)
 Write a output pin.
 
mmc_err mcp23016_set_port_pol (uint8_t port_num, uint8_t pol)
 Set port pins polarity.
 
mmc_err mcp23016_get_port_pol (uint8_t port_num, uint8_t *pol)
 Read port pins polarity.
 
mmc_err mcp23016_set_port_dir (uint8_t port_num, uint8_t dir)
 Set port pins direction.
 
mmc_err mcp23016_get_port_dir (uint8_t port_num, uint8_t *dir)
 Read port pins direction.
 
mmc_err mcp23016_read_reg_pair (uint8_t reg, uint16_t *readout)
 
mmc_err mcp23016_write_reg_pair (uint8_t reg, uint16_t data)
 

Detailed Description

MCP23016 module interface functions declarations.

Function Documentation

◆ mcp23016_get_port_dir()

mmc_err mcp23016_get_port_dir ( uint8_t port_num,
uint8_t * dir )

Read port pins direction.

Parameters
[in]port_numPort number (0, 1)
[out]dirPin direction ( 0-Output 1-Input )
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_get_port_pol()

mmc_err mcp23016_get_port_pol ( uint8_t port_num,
uint8_t * pol )

Read port pins polarity.

Parameters
[in]port_numPort number (0, 1)
[out]polPins polarity (active-high/low)
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_read_pin()

mmc_err mcp23016_read_pin ( uint8_t port_num,
uint8_t pin,
uint8_t * status )

Read a pin status.

Parameters
[in]port_numPort number (0, 1)
[in]pinSelected pin to read
[out]statusPin logical status
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_read_port()

mmc_err mcp23016_read_port ( uint8_t port_num,
uint8_t * readout )

Read port pins status.

Parameters
[in]port_numPort number (0, 1)
[out]readout8-bit value with the status of port pins
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_read_reg_pair()

mmc_err mcp23016_read_reg_pair ( uint8_t reg,
uint16_t * readout )

◆ mcp23016_set_port_dir()

mmc_err mcp23016_set_port_dir ( uint8_t port_num,
uint8_t dir )

Set port pins direction.

Parameters
[in]port_numPort number (0, 1)
[in]dirPin direction ( 0-Output 1-Input )
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_set_port_pol()

mmc_err mcp23016_set_port_pol ( uint8_t port_num,
uint8_t pol )

Set port pins polarity.

Parameters
[in]port_numPort number (0, 1)
[in]polPolarity (active-high/low)
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_write_pin()

mmc_err mcp23016_write_pin ( uint8_t port_num,
uint8_t pin,
bool data )

Write a output pin.

Parameters
[in]port_numPort number (0, 1)
[in]pinSelected pin to write
[in]dataLogical status to be set
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_write_port()

mmc_err mcp23016_write_port ( uint8_t port_num,
uint8_t data )

Write port output pins.

Parameters
[in]port_numPort number (0, 1)
[in]data8-bit value with the pins status
Returns
MMC_OK if success, an error code otherwise

◆ mcp23016_write_reg_pair()

mmc_err mcp23016_write_reg_pair ( uint8_t reg,
uint16_t data )