Microchip MCP23008/MCP23S08 facilities are defined in the
include/picolibrary/microchip/mcp23x08.h
/source/picolibrary/microchip/mcp23x08.cc
header/source file pair.
Microchip MCP23008/MCP23S08 register information is defined in the following structures:
::picolibrary::Microchip::MCP23X08::IODIR
::picolibrary::Microchip::MCP23X08::IPOL
::picolibrary::Microchip::MCP23X08::GPINTEN
::picolibrary::Microchip::MCP23X08::DEFVAL
::picolibrary::Microchip::MCP23X08::INTCON
::picolibrary::Microchip::MCP23X08::IOCON
::picolibrary::Microchip::MCP23X08::GPPU
::picolibrary::Microchip::MCP23X08::INTF
::picolibrary::Microchip::MCP23X08::INTCAP
::picolibrary::Microchip::MCP23X08::GPIO
::picolibrary::Microchip::MCP23X08::OLAT
The following constants are defined in register information structures:
ADDRESS
: the register’s addressRESET
(stable registers only): the register’s reset valueThe following register field information structures are defined in register information structures for registers that have fields:
Size
: field sizesBit
: field bit positionsMask
: field bit masksThe ::picolibrary::Microchip::MCP23X08::Driver_Concept
concept class defines the
expected interface of a Microchip MCP23008/MCP23S08 driver.
read_iodir()
member
function.write_iodir()
member
function.read_ipol()
member function.write_ipol()
member
function.read_gpinten()
member
function.write_gpinten()
member
function.read_defval()
member
function.write_defval()
member
function.read_intcon()
member
function.write_intcon()
member
function.read_iocon()
member
function.write_iocon()
member
function.read_gppu()
member function.write_gppu()
member
function.read_intf()
member function.read_intcap()
member
function.read_gpio()
member function.write_gpio()
member
function.read_olat()
member function.write_olat()
member
function.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.
reset_cache()
member function.read_iodir()
member
function.write_iodir()
member function.iodir()
member function.read_ipol()
member
function.write_ipol()
member function.ipol()
member function.read_gpinten()
member function.write_gpinten()
member function.gpinten()
member function.read_defval()
member function.write_defval()
member function.defval()
member function.read_intcon()
member function.write_intcon()
member function.intcon()
member function.read_iocon()
member
function.write_iocon()
member function.iocon()
member function.read_gppu()
member
function.write_gppu()
member function.gppu()
member function.read_intf()
member
function.read_intcap()
member function.read_gpio()
member
function.write_gpio()
member function.read_olat()
member
function.write_olat()
member function.olat()
member function.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.
The ::picolibrary::Microchip::MCP23X08::Pin
template class is used to interact with a
Microchip MCP23008/MCP23S08 pin.
bool
conversion
operator.::picolibrary::Microchip::MCP23X08::Pin::configure_pin_as_internally_pulled_up_input()
member function.::picolibrary::Microchip::MCP23X08::Pin::configure_pin_as_open_drain_io()
member
function.::picolibrary::Microchip::MCP23X08::Pin::configure_pin_as_push_pull_io()
member
function.::picolibrary::Microchip::MCP23X08::Pin::pull_up_is_disabled()
member
function.::picolibrary::Microchip::MCP23X08::Pin::pull_up_is_enabled()
member function.::picolibrary::Microchip::MCP23X08::Pin::disable_pull_up()
member function.::picolibrary::Microchip::MCP23X08::Pin::enable_pull_up()
member function.::picolibrary::Microchip::MCP23X08::Pin::is_low()
member function.::picolibrary::Microchip::MCP23X08::Pin::is_high()
member function.::picolibrary::Microchip::MCP23X08::Pin::transition_open_drain_io_to_low()
member
function.::picolibrary::Microchip::MCP23X08::Pin::transition_push_pull_io_to_low()
member
function.::picolibrary::Microchip::MCP23X08::Pin::transition_open_drain_io_to_high()
member
function.::picolibrary::Microchip::MCP23X08::Pin::transition_push_pull_io_to_high()
member
function.::picolibrary::Microchip::MCP23X08::toggle_open_drain_io()
member function.::picolibrary::Microchip::MCP23X08::toggle_push_pull_io()
member function.::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.
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.
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.
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.