mirror of https://github.com/rusefi/ChibiOS.git
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1007 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
080e6abe80
commit
6d9146901c
|
@ -359,7 +359,7 @@
|
||||||
* @brief Abstract digital I/O ports.
|
* @brief Abstract digital I/O ports.
|
||||||
* @details This module defines an abstract interface for digital I/O ports.
|
* @details This module defines an abstract interface for digital I/O ports.
|
||||||
* Note that no code is present, I/O ports are just a set of macros that must
|
* Note that no code is present, I/O ports are just a set of macros that must
|
||||||
* be implemented by a low level I/O port driver.<br>
|
* be implemented by an @ref IOPortsLLD.<br>
|
||||||
* Currently the I/O ports interface does not handle physical port programming
|
* Currently the I/O ports interface does not handle physical port programming
|
||||||
* like direction, pull up/down resistors etc. The interface only allows input
|
* like direction, pull up/down resistors etc. The interface only allows input
|
||||||
* and output operations but this may change in future releases.
|
* and output operations but this may change in future releases.
|
||||||
|
@ -367,10 +367,10 @@
|
||||||
* independent from the implementation logic.
|
* independent from the implementation logic.
|
||||||
*
|
*
|
||||||
* <h2>Implementation Rules</h2>
|
* <h2>Implementation Rules</h2>
|
||||||
* In implementing an I/O port low level driver there are some rules that
|
* In implementing an @ref IOPortsLLD there are some rules/behaviors that
|
||||||
* should be respected.
|
* should be respected.
|
||||||
*
|
*
|
||||||
* <h3>Write on input pads</h3>
|
* <h3>Writing on input pads</h3>
|
||||||
* The behavior is not specified but there are implementations better than
|
* The behavior is not specified but there are implementations better than
|
||||||
* others, this is the list of possible implementations, preferred options
|
* others, this is the list of possible implementations, preferred options
|
||||||
* are on top:
|
* are on top:
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
* pull up/down resistors or changing the pad direction. This scenario is
|
* pull up/down resistors or changing the pad direction. This scenario is
|
||||||
* discouraged, please try to avoid this scenario.
|
* discouraged, please try to avoid this scenario.
|
||||||
* .
|
* .
|
||||||
* <h3>Read from output pads</h3>
|
* <h3>Reading from output pads</h3>
|
||||||
* The behavior is not specified but there are implementations better than
|
* The behavior is not specified but there are implementations better than
|
||||||
* others, this is the list of possible implementations, preferred options
|
* others, this is the list of possible implementations, preferred options
|
||||||
* are on top:
|
* are on top:
|
||||||
|
|
|
@ -60,7 +60,7 @@ typedef struct {
|
||||||
/** Port identifier. */
|
/** Port identifier. */
|
||||||
ioportid_t bus_portid;
|
ioportid_t bus_portid;
|
||||||
/** Mask of the I/O lines that form the bus. The lines must be contiguous.
|
/** Mask of the I/O lines that form the bus. The lines must be contiguous.
|
||||||
* The mask must be pre-shifted and also defines the bus size. */
|
* The mask must be pre-shifted and also defines the bus width. */
|
||||||
ioportmask_t bus_mask;
|
ioportmask_t bus_mask;
|
||||||
/** Offset, within the port, of the least significant bit of the bus. */
|
/** Offset, within the port, of the least significant bit of the bus. */
|
||||||
uint_fast8_t bus_offset;
|
uint_fast8_t bus_offset;
|
||||||
|
@ -121,7 +121,7 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
* @brief Writes a value on an I/O bus.
|
* @brief Writes a value on an I/O bus.
|
||||||
*
|
*
|
||||||
* @param[in] bus the I/O bus
|
* @param[in] bus the I/O bus, pointer to a @p IOBus structure
|
||||||
* @param[in] bits the bits to be written on the I/O bus. Values exceeding
|
* @param[in] bits the bits to be written on the I/O bus. Values exceeding
|
||||||
* the bus width are masked so most significant bits are lost.
|
* the bus width are masked so most significant bits are lost.
|
||||||
*
|
*
|
||||||
|
@ -134,7 +134,7 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
* @brief Reads a value from an I/O bus.
|
* @brief Reads a value from an I/O bus.
|
||||||
*
|
*
|
||||||
* @param[in] bus the I/O bus
|
* @param[in] bus the I/O bus, pointer to a @p IOBus structure
|
||||||
* @return the bus bits
|
* @return the bus bits
|
||||||
*
|
*
|
||||||
* @note The operation is not guaranteed to be atomic on all the architectures,
|
* @note The operation is not guaranteed to be atomic on all the architectures,
|
||||||
|
|
|
@ -123,7 +123,7 @@ typedef uint32_t ioportid_t;
|
||||||
/**
|
/**
|
||||||
* @brief Writes a value on an I/O bus.
|
* @brief Writes a value on an I/O bus.
|
||||||
*
|
*
|
||||||
* @param[in] bus the I/O bus
|
* @param[in] bus the I/O bus, pointer to a @p IOBus structure
|
||||||
* @param[in] bits the bits to be written on the I/O bus. Values exceeding
|
* @param[in] bits the bits to be written on the I/O bus. Values exceeding
|
||||||
* the bus width are masked so most significant bits are lost.
|
* the bus width are masked so most significant bits are lost.
|
||||||
*
|
*
|
||||||
|
@ -135,7 +135,7 @@ typedef uint32_t ioportid_t;
|
||||||
/**
|
/**
|
||||||
* @brief Reads a value from an I/O bus.
|
* @brief Reads a value from an I/O bus.
|
||||||
*
|
*
|
||||||
* @param[in] bus the I/O bus
|
* @param[in] bus the I/O bus, pointer to a @p IOBus structure
|
||||||
* @return the bus bits
|
* @return the bus bits
|
||||||
*
|
*
|
||||||
* @note This function is not meant to be invoked directly by the application
|
* @note This function is not meant to be invoked directly by the application
|
||||||
|
|
Loading…
Reference in New Issue