| 
    openMMC
    
   Open Source Modular MMC for AMCs 
   | 
 
MCP23016 module interface functions declarations. More...


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) | 
MCP23016 module interface functions declarations.
| mmc_err mcp23016_get_port_dir | ( | uint8_t | port_num, | 
| uint8_t * | dir ) | 
Read port pins direction.
| [in] | port_num | Port number (0, 1) | 
| [out] | dir | Pin direction ( 0-Output 1-Input ) | 
| mmc_err mcp23016_get_port_pol | ( | uint8_t | port_num, | 
| uint8_t * | pol ) | 
Read port pins polarity.
| [in] | port_num | Port number (0, 1) | 
| [out] | pol | Pins polarity (active-high/low) | 
| mmc_err mcp23016_read_pin | ( | uint8_t | port_num, | 
| uint8_t | pin, | ||
| uint8_t * | status ) | 
Read a pin status.
| [in] | port_num | Port number (0, 1) | 
| [in] | pin | Selected pin to read | 
| [out] | status | Pin logical status | 
| mmc_err mcp23016_read_port | ( | uint8_t | port_num, | 
| uint8_t * | readout ) | 
Read port pins status.
| [in] | port_num | Port number (0, 1) | 
| [out] | readout | 8-bit value with the status of port pins | 
| mmc_err mcp23016_read_reg_pair | ( | uint8_t | reg, | 
| uint16_t * | readout ) | 
| mmc_err mcp23016_set_port_dir | ( | uint8_t | port_num, | 
| uint8_t | dir ) | 
Set port pins direction.
| [in] | port_num | Port number (0, 1) | 
| [in] | dir | Pin direction ( 0-Output 1-Input ) | 
| mmc_err mcp23016_set_port_pol | ( | uint8_t | port_num, | 
| uint8_t | pol ) | 
Set port pins polarity.
| [in] | port_num | Port number (0, 1) | 
| [in] | pol | Polarity (active-high/low) | 
| mmc_err mcp23016_write_pin | ( | uint8_t | port_num, | 
| uint8_t | pin, | ||
| bool | data ) | 
Write a output pin.
| [in] | port_num | Port number (0, 1) | 
| [in] | pin | Selected pin to write | 
| [in] | data | Logical status to be set | 
| mmc_err mcp23016_write_port | ( | uint8_t | port_num, | 
| uint8_t | data ) | 
Write port output pins.
| [in] | port_num | Port number (0, 1) | 
| [in] | data | 8-bit value with the pins status | 
| mmc_err mcp23016_write_reg_pair | ( | uint8_t | reg, | 
| uint16_t | data ) |