Subversion Repositories idreammicro-avr

Compare Revisions

Ignore whitespace Rev 31 → Rev 30

/trunk/libraries/mcp23008/mcp23008.h
41,58 → 41,15
* Public macro definitions.
******************************************************************************/
 
/******************************************************************************
* MCP23008 GPIOs.
******************************************************************************/
#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
 
/**************************************************************************//**
* \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.
******************************************************************************/
106,8 → 63,8
******************************************************************************/
typedef enum mcp23008__directions
{
MCP23008__DIRECTION__INPUT, /*!< Input. */
MCP23008__DIRECTION__OUTPUT /*!< Output. */
MCP23008__DIRECTION__INPUT, /*!< Input. */
MCP23008__DIRECTION__OUTPUT /*!< Output. */
} mcp23008__direction_t;
 
/**************************************************************************//**
119,8 → 76,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;
 
/**************************************************************************//**
138,7 → 95,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
147,14 → 104,7
);
 
/**************************************************************************//**
* \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
164,11 → 114,7
);
 
/**************************************************************************//**
* \fn void mcp23008__configure_port(mcp23008__direction_t direction)
*
* \brief Configure port direction.
*
* \param direction Port direction.
******************************************************************************/
void
mcp23008__configure_port
177,13 → 123,7
);
 
/**************************************************************************//**
* \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
192,28 → 132,17
);
 
/**************************************************************************//**
* \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
222,11 → 151,7
);
 
/**************************************************************************//**
* \fn void mcp23008__set_port_value(uint8_t value)
*
* \brief Set port value.
*
* \param value Value to set.
******************************************************************************/
void
mcp23008__set_port_value