git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1239 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2009-10-18 17:56:20 +00:00
parent 6dfbaa34d9
commit cd66f64dc6
3 changed files with 12 additions and 7 deletions

View File

@ -141,12 +141,12 @@
* not belonging to the bus. * not belonging to the bus.
*/ */
typedef struct { typedef struct {
/** Port identifier. */ /** Port identifier.*/
ioportid_t bus_portid; ioportid_t bus_portid;
/** Bus mask aligned to port bit 0. The bus mask implicitly define the bus /** Bus mask aligned to port bit 0. The bus mask implicitly define the bus
* width. */ width. A logical AND is performed on the bus data.*/
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;
} IOBus; } IOBus;
@ -273,7 +273,8 @@ typedef struct {
* @brief Reads a group of bits. * @brief Reads a group of bits.
* *
* @param[in] port the port identifier * @param[in] port the port identifier
* @param[in] mask the group mask * @param[in] mask the group mask, a logical AND is performed on the input
* data
* @param[in] offset the group bit offset within the port * @param[in] offset the group bit offset within the port
* @return The group logical states. * @return The group logical states.
*/ */
@ -288,7 +289,8 @@ typedef struct {
* @brief Writes a group of bits. * @brief Writes a group of bits.
* *
* @param[in] port the port identifier * @param[in] port the port identifier
* @param[in] mask the group mask * @param[in] mask the group mask, a logical AND is performed on the output
* data
* @param[in] offset the group bit offset within the port * @param[in] offset the group bit offset within the port
* @param[in] bits the bits to be written. Values exceeding the group width * @param[in] bits the bits to be written. Values exceeding the group width
* are masked. * are masked.

View File

@ -183,7 +183,8 @@ typedef FIO * ioportid_t;
* accesses. * accesses.
* *
* @param[in] port the port identifier * @param[in] port the port identifier
* @param[in] mask the group mask * @param[in] mask the group mask, a logical AND is performed on the output
* data
* @param[in] offset the group bit offset within the port * @param[in] offset the group bit offset within the port
* @param[in] bits the bits to be written. Values exceeding the group width * @param[in] bits the bits to be written. Values exceeding the group width
* are masked. * are masked.
@ -192,7 +193,7 @@ typedef FIO * ioportid_t;
* code. * code.
*/ */
#define pal_lld_writegroup(port, mask, offset, bits) { \ #define pal_lld_writegroup(port, mask, offset, bits) { \
(port)->FIO_MASK = (mask) << (offset); \ (port)->FIO_MASK = ~((mask) << (offset)); \
(port)->FIO_PIN = (bits) << (offset); \ (port)->FIO_PIN = (bits) << (offset); \
(port)->FIO_MASK = 0; \ (port)->FIO_MASK = 0; \
} }

View File

@ -3,6 +3,8 @@
***************************************************************************** *****************************************************************************
*** 1.3.3 *** *** 1.3.3 ***
- FIX: Fixed bug in the LPC2148 PAL driver (bug 2881380).
- FIX: Fixed bug in the AT91SAM7X PAL driver (bug 2879933).
- NEW: New MAC and MII driver models and implementations for the AT91SAM7X. - NEW: New MAC and MII driver models and implementations for the AT91SAM7X.
Removed the old EMAC driver, updated the uIP WEB demo to use the new Removed the old EMAC driver, updated the uIP WEB demo to use the new
driver model. driver model.