picolibrary

MCP23S08 Facilities

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

Table of Contents

  1. Register Information
  2. Device Addressing
  3. Communication Controller
  4. Driver
  5. Pin
  6. Internally Pulled-Up Input Pin
  7. Open-Drain I/O Pin
  8. Push-Pull I/O Pin

Register Information

Microchip MCP23S08 register information is defined in the following type aliases:

See the Microchip MCP23008/MCP23S08 register information documentation for more information.

Device Addressing

The ::picolibrary::Microchip::MCP23S08::Address_Numeric class is used to store a Microchip MCP23S08 address is numeric (right justified) format.

::picolibrary::Microchip::MCP23S08::Address_Numeric automated tests are defined in the test/automated/picolibrary/microchip/mcp23s08/address_numeric/main.cc source file.

A std::ostream insertion operator is defined for ::picolibrary::Microchip::MCP23S08::Address_Numeric if the PICOLIBRARY_ENABLE_AUTOMATED_TESTING project configuration option is ON. The insertion operator is defined in the include/picolibrary/testing/automated/microchip/mcp23s08.h/source/picolibrary/testing/automated/microchip/mcp23s08.cc header/source file pair.

The ::picolibrary::Microchip::MCP23S08::Address_Transmitted class is used to store a Microchip MCP23S08 address is transmitted (left shifted) format.

::picolibrary::Microchip::MCP23S08::Address_Transmitted automated tests are defined in the test/automated/picolibrary/microchip/mcp23s08/address_transmitted/main.cc source file.

A std::ostream insertion operator is defined for ::picolibrary::Microchip::MCP23S08::Address_Transmitted if the PICOLIBRARY_ENABLE_AUTOMATED_TESTING project configuration option is ON. The insertion operator is defined in the include/picolibrary/testing/automated/microchip/mcp23s08.h/source/picolibrary/testing/automated/microchip/mcp23s08.cc header/source file pair.

Communication Controller

The ::picolibrary::Microchip::MCP23S08::Communication_Controller template class implements low level functionality for interacting with a Microchip MCP23S08.

::picolibrary::Microchip::MCP23S08::Communication_Controller automated tests are defined in the test/automated/picolibrary/microchip/mcp23s08/communication_controller/main.cc source file.

The ::picolibrary::Testing::Automated::Microchip::MCP23S08::Mock_Communication_Controller mock Microchip MCP23S08 communication controller 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/mcp23s08.h/source/picolibrary/testing/automated/microchip/mcp23s08.cc header/source file pair.

Driver

The ::picolibrary::Microchip::MCP23S08::Driver template class implements a Microchip MCP23008/MCP23S08 driver interface for interacting with a Microchip MCP23S08. See the ::picolibrary::Microchip::MCP23X08::Driver_Concept documentation for more information. ::picolibrary::Microchip::MCP23S08::Driver automated tests are defined in the test/automated/picolibrary/microchip/mcp23s08/driver/main.cc source file.

The ::picolibrary::Microchip::MCP23S08::Mock_Driver mock Microchip 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/mcp23s08.h/source/picolibrary/testing/automated/microchip/mcp23s08.cc header/source file pair.

The ::picolibrary::Microchip::MCP23S08::Caching_Driver alias template adds Microchip MCP23008/MCP23S08 caching driver functionality to ::picolibrary::Microchip::MCP23S08::Driver. See the ::picolibrary::Microchip::MCP23X08::Caching_Driver_Concept documentation for more information.

Pin

The ::picolibrary::Microchip::MCP23S08::Pin type alias is used to interact with a Microchip MCP23S08 pin. See the ::picolibrary::Microchip::MCP23X08::Pin documentation for more information.

Internally Pulled-Up Input Pin

The ::picolibrary::Microchip::MCP23S08::Internally_Pulled_Up_Input_Pin type alias implements a GPIO internally pulled-up input pin interface for interacting with a Microchip MCP23S08 pin. See the ::picolibrary::Microchip::MCP23X08::Internally_Pulled_Up_Input_Pin documentation for more information.

The picolibrary::Testing::Interactive::Microchip::MCP23S08::state() interactive test helper is available if the PICOLIBRARY_ENABLE_INTERACTIVE_TESTING project configuration option is ON. The interactive test helper is defined in the include/picolibrary/testing/interactive/microchip/mcp23s08.h/source/picolibrary/testing/interactive/microchip/mcp23s08.cc header/source file pair.

Open-Drain I/O Pin

The ::picolibrary::Microchip::MCP23S08::Open_Drain_IO_Pin type alias implements a GPIO open-drain I/O pin interface for interacting with a Microchip MCP23S08 pin. See the ::picolibrary::Microchip::MCP23X08::Open_Drain_IO_Pin documentation for more information.

The picolibrary::Testing::Interactive::Microchip::MCP23S08::toggle() interactive test helper is available if the PICOLIBRARY_ENABLE_INTERACTIVE_TESTING project configuration option is ON. The interactive test helper is defined in the include/picolibrary/testing/interactive/microchip/mcp23s08.h/source/picolibrary/testing/interactive/microchip/mcp23s08.cc header/source file pair.

Push-Pull I/O Pin

The ::picolibrary::Microchip::MCP23S08::Push_Pull_IO_Pin type alias implements a GPIO push-pull I/O pin interface for interacting with a Microchip MCP23S08 pin. See the ::picolibrary::Microchip::MCP23X08::Push_Pull_IO_Pin documentation for more information.

The picolibrary::Testing::Interactive::Microchip::MCP23S08::toggle() interactive test helper is available if the PICOLIBRARY_ENABLE_INTERACTIVE_TESTING project configuration option is ON. The interactive test helper is defined in the include/picolibrary/testing/interactive/microchip/mcp23s08.h/source/picolibrary/testing/interactive/microchip/mcp23s08.cc header/source file pair.