picolibrary

MCP23008/MCP23S08 Facilities

Microchip MCP23008/MCP23S08 facilities are defined in the include/picolibrary/microchip/mcp23x08.h/source/picolibrary/microchip/mcp23x08.cc header/source file pair.

Table of Contents

  1. Register Information
  2. Driver
  3. Pin
  4. Internally Pulled-Up Input Pin
  5. Open-Drain I/O Pin
  6. Push-Pull I/O Pin

Register Information

Microchip MCP23008/MCP23S08 register information is defined in the following structures:

The following constants are defined in register information structures:

The following register field information structures are defined in register information structures for registers that have fields:

Driver

The ::picolibrary::Microchip::MCP23X08::Driver_Concept concept class defines the expected interface of a Microchip MCP23008/MCP23S08 driver.

The ::picolibrary::Testing::Automated::Microchip::MCP23X08::Mock_Driver mock Microchip MCP23008/MCP23S08 driver class is available if the PICOLIBRARY_ENABLE_AUTOMATED_TESTING project configuration option is ON. The mock is defined in the include/picolibrary/testing/automated/microchip/mcp23x08.h/source/picolibrary/testing/automated/microchip/mcp23x08.cc header/source file pair.

The ::picolibrary::Microchip::MCP23X08::Caching_Driver_Concept concept class defines the expected interface of a Microchip MCP23008/MCP23S08 caching driver.

To add MCP23008/MCP23S08 caching driver functionality to a Microchip MCP23008/MCP23S08 driver implementation, use the ::picolibrary::Microchip::MCP23X08::Caching_Driver template class. ::picolibrary::Microchip::MCP23X08::Caching_Driver automated tests are defined in the test/automated/picolibrary/microchip/mcp23x08/caching_driver/main.cc source file.

The ::picolibrary::Testing::Automated::Microchip::MCP23X08::Mock_Caching_Driver mock Microchip MCP23008/MCP23S08 caching driver class is available if the PICOLIBRARY_ENABLE_AUTOMATED_TESTING project configuration option is ON. The mock is defined in the include/picolibrary/testing/automated/microchip/mcp23x08.h/source/picolibrary/testing/automated/microchip/mcp23x08.cc header/source file pair.

Pin

The ::picolibrary::Microchip::MCP23X08::Pin template class is used to interact with a Microchip MCP23008/MCP23S08 pin.

::picolibrary::Microchip::MCP23X08::Pin automated tests are defined in the test/automated/picolibrary/microchip/mcp23x08/pin/main.cc source file.

The ::picolibrary::Testing::Automated::Microchip::MCP23X08::Mock_Pin mock Microchip MCP23008/MCP23S08 pin class is available if the PICOLIBRARY_ENABLE_AUTOMATED_TESTING project configuration option is ON. The mock is defined in the include/picolibrary/testing/automated/microchip/mcp23x08.h/source/picolibrary/testing/automated/microchip/mcp23x08.cc header/source file pair.

Internally Pulled-Up Input Pin

The ::picolibrary::Microchip::MCP23X08::Internally_Pulled_Up_Input_Pin template class implements a GPIO internally pulled-up input pin interface for interacting with a Microchip MCP23008/MCP23S08 pin. See the ::picolibrary::GPIO::Internally_Pulled_Up_Input_Pin_Concept documentation for more information. ::picolibrary::Microchip::MCP23X08::Internally_Pulled_Up_Input_Pin automated tests are defined in the test/automated/picolibrary/microchip/mcp23x08/internally_pulled_up_input_pin/main.cc source file.

Open-Drain I/O Pin

The ::picolibrary::Microchip::MCP23X08::Open_Drain_IO_Pin template class implements a GPIO open-drain I/O pin interface for interacting with a Microchip MCP23008/MCP23S08 pin. See the ::picolibrary::GPIO::IO_Pin_Concept documentation for more information. ::picolibrary::Microchip::MCP23X08::Open_Drain_IO_Pin automated tests are defined in the test/automated/picolibrary/microchip/mcp23x08/open_drain_io_pin/main.cc source file.

Push-Pull I/O Pin

The ::picolibrary::Microchip::MCP23X08::Push_Pull_IO_Pin template class implements a GPIO push-pull I/O pin interface for interacting with a Microchip MCP23008/MCP23S08 pin. See the ::picolibrary::GPIO::IO_Pin_Concept documentation for more information. ::picolibrary::Microchip::MCP23X08::Push_Pull_IO_Pin automated tests are defined in the test/automated/picolibrary/microchip/mcp23x08/push_pull_io_pin/main.cc source file.