nimphea/dev/mcp23x17

Source   Edit  

MCP23X17 GPIO Expander Module - 16-bit I/O Expansion via I2C/SPI

Barebones driver for MCP23017/MCP23S17 16-bit I/O expanders. Currently supports I2C transport only (polling mode).

Types

Mcp23017 = object
Source   Edit  
Mcp23017Config = object
  transport_config*: Mcp23017TransportConfig
Source   Edit  
Mcp23017TransportConfig = object
  periph*: I2CPeripheral
  speed*: I2CSpeed
  scl*, sda*: Pin
  address*: uint8
Source   Edit  
MCPMode = enum
  MCP_INPUT, MCP_INPUT_PULLUP, MCP_OUTPUT
Source   Edit  
MCPPort = enum
  MCP_PORT_A = 0, MCP_PORT_B = 1
Source   Edit  

Consts

MCP_DEFAULT_ADDR = 0x27'u8
Source   Edit  

Procs

proc defaults(config: var Mcp23017Config) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc defaults(config: var Mcp23017TransportConfig) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc digitalWrite(mcp: var Mcp23017; port: MCPPort; value: uint8) {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc getPin(mcp: Mcp23017; pin: uint8): bool {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc init(mcp: var Mcp23017; config: Mcp23017Config) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc portMode(mcp: var Mcp23017; port: MCPPort;
              directions, pullups, inverted: uint8) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc read(mcp: var Mcp23017): uint16 {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc readPort(mcp: var Mcp23017; port: MCPPort): uint8 {....raises: [], tags: [],
    forbids: [].}
Source   Edit