* contact author for payment details.</b>).
*
* \image html "http://www.pledgie.com/campaigns/6927.png?skin_name=chrome"
- * <a href='http://www.lufa-lib.org/donate'>Donate to this project via PayPal</a> - Thanks in Advance!
+ * <a href="http://www.lufa-lib.org/donate">Donate to this project via PayPal</a> - Thanks in Advance!
*/
{
return (UPCFG0X & (1 << EPDIR)) ? PIPE_DIR_IN : PIPE_DIR_OUT;
}
-
+
/** Returns the pipe address of the currently selected pipe. This is typically used to save the
* currently selected pipe address so that it can be restored after another pipe has been manipulated.
*
static inline uint8_t Pipe_GetBoundEndpointAddress(void)
{
uint8_t UPCFG0X_Temp = UPCFG0X;
-
+
return (((UPCFG0X_Temp >> PEPNUM0) & PIPE_EPNUM_MASK) | ((UPCFG0X_Temp & PEPNUM1) ? ENDPOINT_DIR_OUT : ENDPOINT_DIR_IN));
}
* \param[in] Entries Number of entries in the pipe table to configure.
*
* \return Boolean \c true if all pipes configured successfully, \c false otherwise.
- */
+ */
bool Pipe_ConfigurePipeTable(const USB_Pipe_Table_t* const Table,
const uint8_t Entries);
-
- /** Configures the specified pipe address with the given pipe type, endpoint address within the attached device, bank size
- * and number of hardware banks.
+
+ /** Configures the specified pipe address with the given pipe type, endpoint address within the attached device,
+ * bank size and number of hardware banks.
*
* A newly configured pipe is frozen by default, and must be unfrozen before use via the \ref Pipe_Unfreeze()
* before being used. Pipes should be kept frozen unless waiting for data from a device while in IN mode, or
};
/* Inline Functions: */
- /** Configures the specified endpoint address with the given endpoint type, direction, bank size
- * and banking mode. Once configured, the endpoint may be read from or written to, depending
- * on its direction.
+ /** Configures the specified endpoint address with the given endpoint type, bank size and number of hardware
+ * banks. Once configured, the endpoint may be read from or written to, depending on its direction.
*
* \param[in] Address Endpoint address to configure.
*
const uint8_t Banks)
{
uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
-
+
if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
return false;
static inline void Endpoint_ResetEndpoint(const uint8_t Address)
{
uint32_t EndpointNumber = (Address & ENDPOINT_EPNUM_MASK);
-
+
AVR32_USBB.uerst |= (AVR32_USBB_EPRST0_MASK << EndpointNumber);
AVR32_USBB.uerst &= ~(AVR32_USBB_EPRST0_MASK << EndpointNumber);
USB_Endpoint_FIFOPos[EndpointNumber] = &AVR32_USBB_SLAVE[EndpointNumber * ENDPOINT_HSB_ADDRESS_SPACE_SIZE];
{
return (((&AVR32_USBB.UPCFG0)[USB_Pipe_SelectedPipe].ptoken == PIPE_TOKEN_OUT) ? PIPE_DIR_OUT : PIPE_DIR_IN);
}
-
+
/** Returns the pipe address of the currently selected pipe. This is typically used to save the
* currently selected pipe number so that it can be restored after another pipe has been manipulated.
*
* \param[in] Entries Number of entries in the pipe table to configure.
*
* \return Boolean \c true if all pipes configured successfully, \c false otherwise.
- */
+ */
bool Pipe_ConfigurePipeTable(const USB_Pipe_Table_t* const Table,
const uint8_t Entries);
- /** Configures the specified pipe address with the given pipe type, endpoint address within the attached device, bank size
- * and number of hardware banks.
+ /** Configures the specified pipe address with the given pipe type, endpoint address within the attached device,
+ * bank size and number of hardware banks.
*
* A newly configured pipe is frozen by default, and must be unfrozen before use via the \ref Pipe_Unfreeze()
* before being used. Pipes should be kept frozen unless waiting for data from a device while in IN mode, or
*/
void Endpoint_SelectEndpoint(const uint8_t Address);
- /** Configures the specified endpoint address with the given endpoint type, direction, bank size
- * and banking mode. Once configured, the endpoint may be read from or written to, depending
- * on its direction.
+ /** Configures the specified endpoint address with the given endpoint type, bank size and number of hardware
+ * banks. Once configured, the endpoint may be read from or written to, depending on its direction.
*
* \param[in] Address Endpoint address to configure.
*
</xsl:if>
</xsl:for-each>
- <!-- Add Module chapter -->
+ <!-- Add Modules chapter -->
<chapter>
<title>Modules</title>
<xsl:for-each select="compounddef[@kind = 'group']">
<xsl:for-each select="memberdef">
<row id="{@id}" xreflabel="{name}">
<entry>
- <xsl:apply-templates select="type"/>
+ <xsl:value-of select="type"/>
</entry>
<entry>
<xsl:value-of select="name"/>
</section>
</xsl:template>
- <xsl:template match="linebreak">
+ <xsl:template match="linebreak | simplesectsep">
<literallayout>
</literallayout>
</xsl:template>
<title>
<xsl:value-of select="title"/>
</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</note>
</xsl:when>
<xsl:when test="@kind = 'return'">
<note>
<title>Returns</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</note>
</xsl:when>
<xsl:when test="@kind = 'warning'">
<warning>
<title>Warning</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</warning>
</xsl:when>
<xsl:when test="@kind = 'pre'">
<note>
<title>Precondition</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</note>
</xsl:when>
<xsl:when test="@kind = 'see'">
<note>
<title>See also</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</note>
</xsl:when>
<xsl:when test="@kind = 'note'">
<note>
<title>Note</title>
- <xsl:apply-templates select="para"/>
+ <xsl:apply-templates/>
</note>
</xsl:when>
<title>
<xsl:value-of select="caption"/>
</title>
+
<xsl:call-template name="write.table.content"/>
</table>
</xsl:when>