Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Max7300 Class Reference
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or 28-Port I/O Expander More...
#include <max7300.h>
Public Types | |
| enum | max7300_i2c_adrs_t |
Valid 7-bit I2C addresses. More... | |
| enum | max7300_port_type_t |
Valid port configurations. More... | |
| enum | max7300_port_number_t |
Valid port numbers. More... | |
Public Member Functions | |
| Max7300 (I2C *i2c_bus, max7300_i2c_adrs_t i2c_adrs) | |
| Constructor for Max7300 Class. | |
| Max7300 (PinName sda, PinName scl, max7300_i2c_adrs_t i2c_adrs) | |
| Constructor for Max7300 Class. | |
| ~Max7300 () | |
| Default destructor for Max7300 Class. | |
| int16_t | enable_ports (void) |
| Enables MAX7300 GPIO Ports. | |
| int16_t | disable_ports (void) |
| Disables MAX7300 GPIO Ports. | |
| int16_t | enable_transition_detection (void) |
| Enables Transition Detection. | |
| int16_t | disable_transition_detection (void) |
| Disables Transition Detection. | |
| int16_t | config_port (max7300_port_number_t port_num, max7300_port_type_t port_type) |
| Configures a single MAX7300 GPIO port. | |
| int16_t | config_4_ports (max7300_port_number_t low_port, uint8_t data) |
| Configure 4 MAX7300 GPIO ports. | |
| int16_t | config_all_ports (max7300_port_type_t port_type) |
| Configures all MAX7300 GPIO ports. | |
| int16_t | read_port (max7300_port_number_t port_num) |
| Read a single MAX7300 GPIO port. | |
| int16_t | write_port (max7300_port_number_t port_num, uint8_t data) |
| Write a single MAX7300 GPIO port. | |
| int16_t | read_8_ports (max7300_port_number_t low_port) |
| Read 8 MAX7300 GPIO ports. | |
| int16_t | write_8_ports (max7300_port_number_t low_port, uint8_t data) |
| Write 8 MAX7300 GPIO ports. | |
| int16_t | read_mask_register (bool enable_snapshot) |
| Read transition detection mask register. | |
| int16_t | write_mask_register (uint8_t data) |
| Write transition detection mask register. | |
Detailed Description
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or 28-Port I/O Expander
The MAX7300 compact, serial-interfaced, I/O expansion peripheral provides microprocessors with up to 28 ports. Each port is individually user configurable to either a logic input or logic output.
#include "mbed.h" #include "max7300.h" int main (void) { I2C i2c_bus(D14, D15); Max7300 io_expander(&i2c_bus, Max7300::MAX7300_I2C_ADRS0); for(uint8_t idx = 0; idx < 10; idx++) { //configure ports 12 - 21 as outputs io_expander.config_port((Max7300::max7300_port_number_t) (idx+12), Max7300::MAX7300_PORT_OUTPUT); //configure ports 22 - 31 as inputs io_expander.config_port((Max7300::max7300_port_number_t) (idx+22), Max7300::MAX7300_PORT_INPUT); } io_expander.enable_ports(); //rest of application... }
Definition at line 74 of file max7300.h.
Member Enumeration Documentation
| enum max7300_i2c_adrs_t |
| enum max7300_port_type_t |
Constructor & Destructor Documentation
| Max7300 | ( | I2C * | i2c_bus, |
| max7300_i2c_adrs_t | i2c_adrs | ||
| ) |
Constructor for Max7300 Class.
Allows user to use existing I2C object
On Entry:
- Parameters:
-
[in] i2c_bus - pointer to existing I2C object [in] i2c_adrs - 7-bit slave address of MAX7300
On Exit:
- Returns:
- None
Definition at line 53 of file max7300.cpp.
| Max7300 | ( | PinName | sda, |
| PinName | scl, | ||
| max7300_i2c_adrs_t | i2c_adrs | ||
| ) |
Constructor for Max7300 Class.
Allows user to create a new I2C object if not already using one
On Entry:
- Parameters:
-
[in] sda - sda pin of I2C bus [in] scl - scl pin of I2C bus [in] i2c_adrs - 7-bit slave address of MAX7300
On Exit:
- Returns:
- None
Definition at line 63 of file max7300.cpp.
| ~Max7300 | ( | ) |
Default destructor for Max7300 Class.
Destroys I2C object if owner
On Entry:
On Exit:
- Returns:
- None
Definition at line 74 of file max7300.cpp.
Member Function Documentation
| int16_t config_4_ports | ( | max7300_port_number_t | low_port, |
| uint8_t | data | ||
| ) |
Configure 4 MAX7300 GPIO ports.
Allows user to configure 4 ports at a time
On Entry:
- Parameters:
-
[in] low_port - lowest of 4 ports to configure, on 4 port boundaries as in datasheet [in] data - Byte with each ports desired type with the following format - xx|xx|xx|xx
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 164 of file max7300.cpp.
| int16_t config_all_ports | ( | max7300_port_type_t | port_type ) |
Configures all MAX7300 GPIO ports.
Allows user to configure all ports to a single type
On Entry:
- Parameters:
-
[in] port_type - One of the following port types MAX7300_PORT_OUTPUT MAX7300_PORT_INPUT MAX7300_PORT_INPUT_PULLUP
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 187 of file max7300.cpp.
| int16_t config_port | ( | max7300_port_number_t | port_num, |
| max7300_port_type_t | port_type | ||
| ) |
Configures a single MAX7300 GPIO port.
Configures MAX7300 GPIO port as either an output, input, or input with pullup.
On Entry:
- Parameters:
-
[in] port_num - GPIO port to configure [in] port_type - One of the following port types MAX7300_PORT_OUTPUT MAX7300_PORT_INPUT MAX7300_PORT_INPUT_PULLUP
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 128 of file max7300.cpp.
| int16_t disable_ports | ( | void | ) |
Disables MAX7300 GPIO Ports.
Clears 'S' bit of configuration register
On Entry:
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 95 of file max7300.cpp.
| int16_t disable_transition_detection | ( | void | ) |
Disables Transition Detection.
Clears 'M' bit of configuration register
On Entry:
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 117 of file max7300.cpp.
| int16_t enable_ports | ( | void | ) |
Enables MAX7300 GPIO Ports.
Sets 'S' bit of configuration register
On Entry:
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 84 of file max7300.cpp.
| int16_t enable_transition_detection | ( | void | ) |
Enables Transition Detection.
Sets 'M' bit of configuration register
On Entry:
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 106 of file max7300.cpp.
| int16_t read_8_ports | ( | max7300_port_number_t | low_port ) |
Read 8 MAX7300 GPIO ports.
On Entry:
- Parameters:
-
[in] low_port - lowest port of 8 ports to read, on 8 port boundaries as in datasheet. Max is port 24
On Exit:
- Returns:
- State of ports, or -1 on failure
Definition at line 257 of file max7300.cpp.
| int16_t read_mask_register | ( | bool | enable_snapshot ) |
Read transition detection mask register.
See page 11 of DS, right hand side column, paragraph 2 for details on one-shot event.
On Entry:
- Parameters:
-
[in] enable_snapshot - true to re-enable transition detection
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 309 of file max7300.cpp.
| int16_t read_port | ( | max7300_port_number_t | port_num ) |
Read a single MAX7300 GPIO port.
On Entry:
- Parameters:
-
[in] port_num - MAX7300 port number to read
On Exit:
- Returns:
- State of port, or -1 on failure
Definition at line 211 of file max7300.cpp.
| int16_t write_8_ports | ( | max7300_port_number_t | low_port, |
| uint8_t | data | ||
| ) |
Write 8 MAX7300 GPIO ports.
On Entry:
- Parameters:
-
[in] low_port - lowest port of 8 ports to write, on 8 port boundaries as in datasheet. Max is port 24 [in] data - Data is written to ports
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 288 of file max7300.cpp.
| int16_t write_mask_register | ( | uint8_t | data ) |
Write transition detection mask register.
Enables transition detection on Ports 30-24
On Entry:
- Parameters:
-
[in] data - Bits to set
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 352 of file max7300.cpp.
| int16_t write_port | ( | max7300_port_number_t | port_num, |
| uint8_t | data | ||
| ) |
Write a single MAX7300 GPIO port.
On Entry:
- Parameters:
-
[in] port_num - MAX7300 port to write [in] data - lsb of byte is written to port
On Exit:
- Returns:
- 0 on success, non-0 on failure
Definition at line 239 of file max7300.cpp.
Generated on Sat Jul 23 2022 21:51:19 by
1.7.2