41,15 → 41,58 |
* Public macro definitions. |
******************************************************************************/ |
|
#define MCP23008__GP0 0 |
#define MCP23008__GP1 1 |
#define MCP23008__GP2 2 |
#define MCP23008__GP3 3 |
#define MCP23008__GP4 4 |
#define MCP23008__GP5 5 |
#define MCP23008__GP6 6 |
#define MCP23008__GP7 7 |
/****************************************************************************** |
* MCP23008 GPIOs. |
******************************************************************************/ |
|
/**************************************************************************//** |
* \def MCP23008__GP0 |
* \brief I/O pin 0. |
******************************************************************************/ |
#define MCP23008__GP0 0 |
|
/**************************************************************************//** |
* \def MCP23008__GP1 |
* \brief I/O pin 1. |
******************************************************************************/ |
#define MCP23008__GP1 1 |
|
/**************************************************************************//** |
* \def MCP23008__GP2 |
* \brief I/O iin 2. |
******************************************************************************/ |
#define MCP23008__GP2 2 |
|
/**************************************************************************//** |
* \def MCP23008__GP3 |
* \brief I/O pin 3. |
******************************************************************************/ |
#define MCP23008__GP3 3 |
|
/**************************************************************************//** |
* \def MCP23008__GP4 |
* \brief I/O pin 4. |
******************************************************************************/ |
#define MCP23008__GP4 4 |
|
/**************************************************************************//** |
* \def MCP23008__GP5 |
* \brief I/O pin 5. |
******************************************************************************/ |
#define MCP23008__GP5 5 |
|
/**************************************************************************//** |
* \def MCP23008__GP6 |
* \brief I/O pin 6. |
******************************************************************************/ |
#define MCP23008__GP6 6 |
|
/**************************************************************************//** |
* \def MCP23008__GP7 |
* \brief I/O pin 7. |
******************************************************************************/ |
#define MCP23008__GP7 7 |
|
/****************************************************************************** |
* Public type definitions. |
******************************************************************************/ |
63,8 → 106,8 |
******************************************************************************/ |
typedef enum mcp23008__directions |
{ |
MCP23008__DIRECTION__INPUT, /*!< Input. */ |
MCP23008__DIRECTION__OUTPUT /*!< Output. */ |
MCP23008__DIRECTION__INPUT, /*!< Input. */ |
MCP23008__DIRECTION__OUTPUT /*!< Output. */ |
} mcp23008__direction_t; |
|
/**************************************************************************//** |
76,8 → 119,8 |
******************************************************************************/ |
typedef enum mcp23008__levels |
{ |
MCP23008__LEVEL__LOW, /*!< Low level. */ |
MCP23008__LEVEL__HIGH /*!< High level. */ |
MCP23008__LEVEL__LOW, /*!< Low level. */ |
MCP23008__LEVEL__HIGH /*!< High level. */ |
} mcp23008__level_t; |
|
/**************************************************************************//** |
95,7 → 138,7 |
* |
* \brief Initialize MCP23008. |
* |
* \param hardware_address Hardware address defined by pins A0 to A2. |
* \param hardware_address Hardware address defined by pins A0 to A2. |
******************************************************************************/ |
void |
mcp23008__initialize |
104,7 → 147,14 |
); |
|
/**************************************************************************//** |
* \fn void mcp23008__configure pin( |
* mcp23008__gpio_t pin, |
* mcp23008__direction_t direction) |
* |
* \brief Configure pin direction. |
* |
* \param pin Pin to configure. |
* \param direction Pin direction. |
******************************************************************************/ |
void |
mcp23008__configure_pin |
114,7 → 164,11 |
); |
|
/**************************************************************************//** |
* \fn void mcp23008__configure_port(mcp23008__direction_t direction) |
* |
* \brief Configure port direction. |
* |
* \param direction Port direction. |
******************************************************************************/ |
void |
mcp23008__configure_port |
123,7 → 177,13 |
); |
|
/**************************************************************************//** |
* \fn mcp23008__level_t mcp23008__get_pin_level(mcp23008__gpio_t pin) |
* |
* \brief Get pin level. |
* |
* \param pin Pin to get level. |
* |
* \return Pin level. |
******************************************************************************/ |
mcp23008__level_t |
mcp23008__get_pin_level |
132,17 → 192,28 |
); |
|
/**************************************************************************//** |
* \fn void mcp23008__set_pin_level( |
* mcp23008__gpio_t pin, |
* mcp23008__level_t level) |
* |
* \brief Set pin level. |
* |
* \param pin Pin to set level. |
* \param level Level to set. |
******************************************************************************/ |
void |
mcp23008__set_pin_level |
( |
mcp23008__gpio_t pin, |
mcp23008__level_t level |
mcp23008__gpio_t pin, |
mcp23008__level_t level |
); |
|
/**************************************************************************//** |
* \fn uin8_t mcp23008__get_port_value(void) |
* |
* \brief Get port value. |
* |
* \return Port value. |
******************************************************************************/ |
uint8_t |
mcp23008__get_port_value |
151,7 → 222,11 |
); |
|
/**************************************************************************//** |
* \fn void mcp23008__set_port_value(uint8_t value) |
* |
* \brief Set port value. |
* |
* \param value Value to set. |
******************************************************************************/ |
void |
mcp23008__set_port_value |