diff options
Diffstat (limited to 'LUFA/StudioIntegration')
47 files changed, 4807 insertions, 0 deletions
diff --git a/LUFA/StudioIntegration/Docbook/mshelp/README.txt b/LUFA/StudioIntegration/Docbook/mshelp/README.txt new file mode 100644 index 0000000000..4f251cc0b8 --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/mshelp/README.txt @@ -0,0 +1,13 @@ +This is a modified/updated version of the Microsoft HV1 Docbook transform, written by Morten Engelhardt Olsen, + +Originally posted at http://sourceforge.net/p/docbook/feature-requests/461/, this has been further updated by Morten to make it compatible with more recent DocBook versions. + + --------------------------- +/ This documentation system \ +\ is udderly ridiculous! / + --------------------------- + \ ^__^ + \ (oo)\_______ + (__)\ )\/\ + ||----w | + || || diff --git a/LUFA/StudioIntegration/Docbook/mshelp/docbook.xsl b/LUFA/StudioIntegration/Docbook/mshelp/docbook.xsl new file mode 100644 index 0000000000..03b81feafc --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/mshelp/docbook.xsl @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:d="http://docbook.org/ns/docbook" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="xsl d" + version="1.0"> + + <xsl:import href="../xhtml/chunk.xsl"/> + <xsl:import href="../xhtml/highlight.xsl"/> + + <!-- + Based on the normal xhtml templates, all overrides applicable to + xhtml is applicable to HV1. + --> + + <xsl:import href="hv1-common.xsl"/> + + <!-- + Choose if links should be generated using ms-xhelp (default) or + the more verbose ms.help type. The latter requires product.name, + product.version and product.locale to be set + --> + <xsl:param name="use.mshelp.links" select="0"/> + + <!-- + Name of target product. If specified then each page is + marked with this product. This is usualy set during + install time. + --> + <xsl:param name="product.name" select="''" /> + + <!-- + Name of target version. If specified then each page is + marked with this version. This is usualy set during + install time. + --> + <xsl:param name="product.version" select="''" /> + + <!-- + Locale for the help. Should always be set + --> + <xsl:param name="product.locale" select="'en-US'" /> + + <!-- + Self branding. Gives access for chunks to load + it's own branding package during runtime + --> + <xsl:param name="topic.selfbrand" select="1"/> + + + <!-- Use doctitle for olinks --> + <xsl:param name="olink.doctitle" select="'yes'" /> + + <!-- Enable source code highlighting--> + <xsl:param name="highlight.source" select="1"/> + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/Docbook/mshelp/hv1-common.xsl b/LUFA/StudioIntegration/Docbook/mshelp/hv1-common.xsl new file mode 100644 index 0000000000..b6f2610680 --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/mshelp/hv1-common.xsl @@ -0,0 +1,664 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:d="http://docbook.org/ns/docbook" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="d" + version="1.0"> + + + <!-- no separate HTML page with index as this is binary in hv1 --> + <xsl:param name="generate.index" select="0"/> + + + <!-- Generate help tags in header --> + <xsl:template name="user.head.content"> + <xsl:param name="node" select="''" /> + <xsl:variable name="up" select="parent::*"/> + + <!-- Locale should be first Help tag--> + <meta name="Microsoft.Help.Locale"> + <xsl:attribute name="content"> + <xsl:choose> + <xsl:when test="$product.locale and product.locale != ''"> + <xsl:value-of select="$product.locale"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>en-US</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </meta> + + <!-- Specify locale for this chunk. Should probably query xml:lang --> + <meta name="Microsoft.Help.TopicLocale"> + <xsl:attribute name="content"> + <xsl:choose> + <xsl:when test="@xml:lang"> + <xsl:value-of select="@xml:lang"/> + </xsl:when> + <xsl:when test="$product.locale and product.locale != ''"> + <xsl:value-of select="$product.locale"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>en-US</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </meta> + + <!-- This is the unique ID for this page --> + <meta name="Microsoft.Help.Id"> + <xsl:attribute name="content"> + <xsl:call-template name="hv1.toc.id"/> + </xsl:attribute> + </meta> + + <!-- The ID of the parent TOC node (-1 is root) --> + <meta name="Microsoft.Help.TocParent"> + <xsl:attribute name="content"> + <xsl:call-template name="hv1.toc.parent.id"> + <xsl:with-param name="up" select="$up"/> + </xsl:call-template> + </xsl:attribute> + </meta> + + <!-- For all pages with the same parent, the order is set by TocOrder --> + <meta name="Microsoft.Help.TocOrder"> + <xsl:attribute name="content"> + <xsl:value-of select="1+count(preceding-sibling::chapter|preceding-sibling::section)"/> + </xsl:attribute> + </meta> + + <!-- boolean to indicate if this page is allowed to load custom branding --> + <meta name="Microsoft.Help.SelfBranded"> + <xsl:attribute name="content"> + <xsl:choose> + <xsl:when test="$topic.selfbrand"> + <xsl:text>true</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>false</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </meta> + + <!-- + Insert description meta element. This is shown in searches and indexes + --> + + <xsl:variable name="description"> + <xsl:call-template name="hv1.description"/> + </xsl:variable> + <xsl:if test="$description != ''"> + <meta name="Description"> + <xsl:attribute name="content"> + <xsl:call-template name="hv1.description"/> + </xsl:attribute> + </meta> + </xsl:if> + + <!-- Display version of page --> + <xsl:variable name="display.version"> + <xsl:call-template name="hv1.display.version"/> + </xsl:variable> + <xsl:if test="$display.version != ''"> + <meta name="Microsoft.Help.DisplayVersion"> + <xsl:attribute name="content"> + <xsl:value-of select="$display.version"/> + </xsl:attribute> + </meta> + </xsl:if> + + <!-- + Content type is used to distinguish between multiple topics with same id. + Usualy to have multiple versions available + --> + <!-- + <meta name="Microsoft.Help.ContentType"> + <xsl:attribute name="content"> + TODO: implement + </xsl:attribute> + </meta> + --> + + + <!-- If a product name is given, then mark each header with this name--> + <xsl:if test="$product.name and $product.name != ''"> + <meta name="Microsoft.Help.Product"> + <xsl:attribute name="content"> + <xsl:value-of select="$product.name"/> + </xsl:attribute> + </meta> + </xsl:if> + + <!-- If a version is given, then mark each header with version--> + <xsl:if test="$product.version and $product.version != ''"> + <meta name="Microsoft.Help.ProductVersion"> + <xsl:attribute name="content"> + <xsl:value-of select="$product.version"/> + </xsl:attribute> + </meta> + </xsl:if> + + <!-- + Insert all keywords for this chunk. These are used + by the help runtime to generate indexes and refine search + --> + <xsl:call-template name="hv1.keywords" /> + + <!-- + Insert all F1 ids for this chunk. This is used + by the help runtime to resolve F1 queries + --> + <xsl:call-template name="hv1.f1" /> + </xsl:template> + + + <!-- There are links from ToC pane to bibliodivs, so there must be anchor --> + <xsl:template match="bibliodiv/title"> + <h3 class="{name(.)}"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </h3> + </xsl:template> + + <!-- + Template to get a page id. + + Needs to be unique in the target help system; microsoft uses UUIDs for this. + To avoid UUIDs and generate-id (only unique in current xml fragment), + we do + <root.filename> + + <last ancestor title> + + <second last ancestor title> + + .... + <self title>, where different types of sections/fragments + may be prefixed with a type identifier. + + This should generate a fairly specific/unique ID. + --> + <xsl:template name="get.id.from.pagename"> + <xsl:param name="target" /> + <xsl:value-of select="$root.filename"/> + <xsl:variable name="id.of.document"> + <xsl:apply-templates select="$target" mode="recursive-chunk-id"/> + </xsl:variable> + <xsl:variable name="titleWithSpace"> + <xsl:value-of select="key('id',$id.of.document)/title"/> + </xsl:variable> + <xsl:value-of select="translate($id.of.document,' ','')" /> + </xsl:template> + + <!-- template that returns the page id used above --> + <xsl:template match="*" mode="recursive-chunk-id"> + <xsl:param name="recursive" select="false()"/> + + <!-- returns the filename of a chunk --> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="dbhtml-filename"> + <xsl:call-template name="pi.dbhtml_filename"/> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:choose> + <xsl:when test="$dbhtml-filename != ''"> + <xsl:value-of select="$dbhtml-filename"/> + </xsl:when> + <!-- if this is the root element, use the root.filename --> + <xsl:when test="not(parent::*) and $root.filename != ''"> + <xsl:value-of select="$root.filename"/> + <!-- <xsl:value-of select="$html.ext"/> --> + </xsl:when> + <!-- Special case --> + <xsl:when test="self::legalnotice and not($generate.legalnotice.link = 0)"> + <xsl:choose> + <xsl:when test="(@id or @xml:id) and not($use.id.as.filename = 0)"> + <!-- * if this legalnotice has an ID, then go ahead and use --> + <!-- * just the value of that ID as the basename for the file --> + <!-- * (that is, without prepending an "ln-" too it) --> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <!-- <xsl:value-of select="$html.ext"/>--> + </xsl:when> + <xsl:otherwise> + <!-- * otherwise, if this legalnotice does not have an ID, --> + <!-- * then we generate an ID... --> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <!-- * ...and then we take that generated ID, prepend an --> + <!-- * "ln-" to it, and use that as the basename for the file --> + <!-- <xsl:value-of select="concat('ln-',$id,$html.ext)"/>--> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <!-- if there's no dbhtml filename, and if we're to use IDs as --> + <!-- filenames, then use the ID to generate the filename. --> + <xsl:when test="(@id or @xml:id) and $use.id.as.filename != 0"> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <!-- <xsl:value-of select="$html.ext"/>--> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk='0'"> + <!-- if called on something that isn't a chunk, walk up... --> + <xsl:choose> + <xsl:when test="count(parent::*)>0"> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="$recursive"/> + </xsl:apply-templates> + </xsl:when> + <!-- unless there is no up, in which case return "" --> + <xsl:otherwise/> + </xsl:choose> + </xsl:when> + + <xsl:when test="not($recursive) and $filename != ''"> + <!-- if this chunk has an explicit name, use it --> + <xsl:value-of select="$filename"/> + </xsl:when> + + <xsl:when test="self::set"> + <xsl:value-of select="$root.filename"/> + </xsl:when> + + <xsl:when test="self::book"> + <xsl:text>bk</xsl:text> + <xsl:number level="any" format="01"/> + </xsl:when> + + <xsl:when test="self::article"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ar</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::preface"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>pr</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::chapter"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ch</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::appendix"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ap</xsl:text> + <xsl:number level="any" format="a" from="book"/> + </xsl:when> + + <xsl:when test="self::part"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>pt</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::reference"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>rn</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::refentry"> + <xsl:choose> + <xsl:when test="parent::reference"> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>re</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::colophon"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>co</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::sect1 + or self::sect2 + or self::sect3 + or self::sect4 + or self::sect5 + or self::section"> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>s</xsl:text> + <xsl:number format="01"/> + </xsl:when> + + <xsl:when test="self::bibliography"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>bi</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::glossary"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>go</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::index"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-id" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>ix</xsl:text> + <xsl:number level="any" format="01" from="book"/> + </xsl:when> + + <xsl:when test="self::setindex"> + <xsl:text>si</xsl:text> + <xsl:number level="any" format="01" from="set"/> + </xsl:when> + + <xsl:otherwise> + <xsl:text>chunk-filename-error-</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:number level="any" format="01" from="set"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Main template that generates internal links --> + <xsl:template name="href.target"> + <xsl:param name="context" select="."/> + <xsl:param name="object" select="."/> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="id"> + <xsl:call-template name="get.id.from.pagename"> + <xsl:with-param name="target" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href"> + <xsl:choose> + <xsl:when test="$use.mshelp.links"> + <!-- Generate a ms.help type link--> + <xsl:if test="$product.name = ''"> + <xsl:message terminate="yes"> + $product.name needs to be set to generate ms.help style links + </xsl:message> + </xsl:if> + <xsl:if test="$product.version = ''"> + <xsl:message terminate="yes"> + $product.version needs to be set to generate ms.help style links + </xsl:message> + </xsl:if> + <xsl:if test="$product.locale = ''"> + <xsl:message terminate="yes"> + $product.locale needs to be set to generate ms.help style links + </xsl:message> + </xsl:if> + + <xsl:text>ms.help?method=page&id=</xsl:text> + <xsl:value-of select="$id"/> + <xsl:text>&product=</xsl:text> + <xsl:value-of select="$product.name"/> + <xsl:text>&productVersion=</xsl:text> + <xsl:value-of select="$product.version"/> + <xsl:text>&locale=</xsl:text> + <xsl:value-of select="$product.locale"/> + <!-- Append the jump id if the current object has an id--> + <xsl:if test="$object[@id or @xml:id]"> + <xsl:text>#</xsl:text> + <xsl:value-of select="$object/@id|$object/@xml:id"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <!-- Generate ms-xhelp type links. Default--> + <xsl:text>ms-xhelp:///?Id=</xsl:text> + <xsl:value-of select="$id"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:value-of select="$href"/> + </xsl:template> + + <xsl:template match="*" mode="common.html.attributes"> + <xsl:param name="class" select="local-name(.)"/> + <xsl:param name="inherit" select="0"/> + + <!-- + Workaround for known issue with HelpLibAgent + Comment from Bruce Belson: + <pre> tags get their whitespace mangled by the Help Library Agent, + unless the non-standard attribute xml:space="preserve" is added to the pre element. + --> + <xsl:if test="$class = 'programlisting' or $class = 'verbatim' or $class = 'litterallayout' or $class = 'screen'"> + <xsl:attribute name="xml:space">preserve</xsl:attribute> + </xsl:if> + + <xsl:call-template name="generate.html.lang"/> + <xsl:call-template name="dir"> + <xsl:with-param name="inherit" select="$inherit"/> + </xsl:call-template> + <xsl:apply-templates select="." mode="class.attribute"> + <xsl:with-param name="class" select="$class"/> + </xsl:apply-templates> + </xsl:template> + + + <xsl:template name="hv1.display.version"> + <xsl:apply-templates mode="title.markup" select="ancestor-or-self::book"/> + <xsl:if test="ancestor-or-self::chapter"> + <xsl:text> - </xsl:text> + <xsl:apply-templates mode="title.markup" select="ancestor-or-self::chapter"/> + </xsl:if> + </xsl:template> + + + <!-- Generate a meta element for each keyword in chunk --> + <xsl:template name="hv1.keywords"> + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="."/> + </xsl:call-template> + </xsl:variable> + + <xsl:for-each select=".//indexterm[$is.chunk = '0'] | + (./indexterm | *[not(self::section or self::preface or self::book or self::chapter)]//indexterm)[$is.chunk = '1']"> + <xsl:choose> + <xsl:when test="primary != ''"> + <meta name="Microsoft.Help.Keywords"> + <xsl:attribute name="content"> + <xsl:choose> + <!-- This concats the primary and secondary togheter, separated by colon if there exists + a tertiary element --> + <xsl:when test="tertiary"> + <xsl:value-of select="primary/text()" /> + <xsl:text>: </xsl:text> + <xsl:value-of select="secondary/text()" /> + <xsl:text>, </xsl:text> + <xsl:value-of select="tertiary/text()" /> + </xsl:when> + + <xsl:otherwise> + <xsl:for-each select="primary/text() | secondary/text()"> + <xsl:value-of select="." /> + <xsl:if test="not(position() = last())">, </xsl:if> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </meta> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <!-- Generate a F1 meta element for each indexterm with an ID (used as F1 id) --> + <xsl:template name="hv1.f1"> + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="."/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="id"> + <xsl:call-template name="hv1.toc.id"/> + </xsl:variable> + + <xsl:for-each select=".//indexterm[$is.chunk = '0'] | + (./indexterm | *[not(self::section or self::preface or self::book or self::chapter)]//indexterm)[$is.chunk = '1']"> + <xsl:if test="@id|@xml:id"> + <meta name="Microsoft.Help.F1"> + <xsl:attribute name="content"> + <xsl:value-of select="(@id|@xml:id)[1]" /> + </xsl:attribute> + </meta> + </xsl:if> + </xsl:for-each> + </xsl:template> + + <!-- ID used for to resolution. Using default ID --> + <xsl:template name="hv1.toc.id"> + <xsl:variable name="href"> + <xsl:call-template name="get.id.from.pagename"> + <xsl:with-param name="target" select="."/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="$href"/> + </xsl:template> + + <!-- Determine parent id (if top level -> -1) --> + <xsl:template name="hv1.toc.parent.id"> + <xsl:param name="up" select="''"/> + <xsl:variable name="href"> + <xsl:choose> + <xsl:when test="$up"> + <!-- I have a parent --> + <xsl:call-template name="get.id.from.pagename"> + <xsl:with-param name="target" select="$up"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:text>-1</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:value-of select="$href"/> + </xsl:template> + + <xsl:template name="hv1.description"> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="abstract|d:abstract|d:info/d:abstract|bookinfo/abstract|sectioninfo/abstract|articleinfo/abstract|partinfo/abstract"> + <xsl:value-of select="(abstract|d:abstract|d:info/d:abstract|bookinfo/abstract|sectioninfo/abstract|articleinfo/abstract|partinfo/abstract)[1]"/> + </xsl:when> + <xsl:when test="child::para"> + <xsl:value-of select="substring(normalize-space(child::para[1]), 0, 150)"/> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:variable> + <xsl:if test="$content != ''"> + <xsl:value-of select="concat($content, '...')"/> + </xsl:if> + </xsl:template> + + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/Docbook/placeholder.txt b/LUFA/StudioIntegration/Docbook/placeholder.txt new file mode 100644 index 0000000000..c017acfd75 --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/placeholder.txt @@ -0,0 +1 @@ +Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ .
diff --git a/LUFA/StudioIntegration/HV1/helpcontentsetup.msha b/LUFA/StudioIntegration/HV1/helpcontentsetup.msha new file mode 100644 index 0000000000..bd1d7ee219 --- /dev/null +++ b/LUFA/StudioIntegration/HV1/helpcontentsetup.msha @@ -0,0 +1,27 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>LUFA Help</title> + </head> + <body class="vendor-book"> + <div class="details"> + <span class="vendor">FourWalledCubicle</span> + <span class="product">LUFA</span> + <span class="name">LUFA Help</span> + <span class="locale">en-us</span> + </div> + <div class="package-list"> + <div class="package"> + <span class="name">lufa_studio_help.mshc</span> + <a class="current-link" href="lufa_studio_help.mshc">lufa_studio_help.mshc</a> + </div> + </div> + </body> +</html> diff --git a/LUFA/StudioIntegration/HV1/lufa_docbook_transform.xslt b/LUFA/StudioIntegration/HV1/lufa_docbook_transform.xslt new file mode 100644 index 0000000000..26c1d378e2 --- /dev/null +++ b/LUFA/StudioIntegration/HV1/lufa_docbook_transform.xslt @@ -0,0 +1,806 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + + <xsl:output method="xml" indent="no"/> + + <xsl:template name="generate.book.title"> + <xsl:text>LUFA Library</xsl:text> + </xsl:template> + + <xsl:template name="generate.book.id"> + <xsl:param name="book.title"/> + <xsl:choose> + <xsl:when test="@id"> + <xsl:value-of select="@id"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="translate($book.title, ' ','')"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="generate.index.id"> + <xsl:param name="name"/> + <xsl:variable name="book.title"> + <xsl:call-template name="generate.book.title"/> + </xsl:variable> + <xsl:variable name="book.id"> + <xsl:call-template name="generate.book.id"> + <xsl:with-param name="book.title" select="$book.title"/> + </xsl:call-template> + </xsl:variable> + + <indexterm id="{$name}"> + <primary> + <xsl:value-of select="$book.title"/> + </primary> + <secondary> + <xsl:value-of select="$name"/> + </secondary> + </indexterm> + </xsl:template> + + <xsl:template match="doxygen"> + <xsl:variable name="book.title"> + <xsl:call-template name="generate.book.title"/> + </xsl:variable> + + <xsl:variable name="book.id"> + <xsl:call-template name="generate.book.id"> + <xsl:with-param name="book.title" select="$book.title"/> + </xsl:call-template> + </xsl:variable> + + <book id="{$book.id}"> + <title> + <xsl:value-of select="$book.title"/> + </title> + + <!-- Add index chapter --> + <xsl:apply-templates select="compounddef[@kind = 'page' and @id = 'indexpage']"> + <xsl:with-param name="element.type" select="'chapter'"/> + <xsl:with-param name="page.title" select="'Library Information'"/> + </xsl:apply-templates> + + <!-- Add free-floating chapters --> + <xsl:apply-templates select="compounddef[@kind = 'page' and not(@id = 'indexpage') and not(//innerpage/@refid = @id)]"> + <xsl:with-param name="element.type" select="'chapter'"/> + </xsl:apply-templates> + + <!-- Add Modules chapter --> + <chapter> + <title>Modules</title> + <xsl:apply-templates select="compounddef[@kind = 'group' and not(//innergroup/@refid = @id)]"/> + </chapter> + </book> + </xsl:template> + + <xsl:template match="compounddef[@kind = 'page']"> + <xsl:param name="element.type" select="'section'"/> + <xsl:param name="page.title" select="title"/> + + <xsl:element name="{$element.type}"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + + <xsl:variable name="name"> + <xsl:text>LUFA.</xsl:text> + <xsl:value-of select="translate(compoundname, '_', '.')"/> + </xsl:variable> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + + <title> + <xsl:value-of select="$page.title"/> + </title> + + <xsl:apply-templates select="detaileddescription"/> + + <xsl:if test="not(innerpage) and count(detaileddescription//sect1)"> + <para> + <emphasis role="bold">Subsections:</emphasis> + <itemizedlist> + <xsl:for-each select="detaileddescription//sect1"> + <listitem> + <link linkend="{@id}"> + <xsl:value-of select="title"/> + </link> + </listitem> + </xsl:for-each> + </itemizedlist> + </para> + </xsl:if> + + <xsl:for-each select="innerpage"> + <xsl:apply-templates select="ancestor::*/compounddef[@kind = 'page' and @id = current()/@refid]"/> + </xsl:for-each> + </xsl:element> + </xsl:template> + + <xsl:template match="compounddef[@kind = 'group']"> + <section id="{@id}"> + <title> + <xsl:value-of select="title"/> + </title> + + <xsl:variable name="name"> + <xsl:text>LUFA.</xsl:text> + <xsl:value-of select="translate(compoundname, '_', '.')"/> + </xsl:variable> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + + <xsl:apply-templates select="detaileddescription"/> + + <xsl:if test="count(innergroup)"> + <para> + <emphasis role="bold">Subgroups:</emphasis> + <itemizedlist> + <xsl:for-each select="innergroup"> + <listitem> + <link linkend="{@refid}"> + <xsl:value-of select="text()"/> + </link> + </listitem> + </xsl:for-each> + </itemizedlist> + </para> + </xsl:if> + + <xsl:apply-templates select="sectiondef"/> + + <xsl:for-each select="innerclass"> + <xsl:apply-templates select="ancestor::*/compounddef[@id = current()/@refid]"/> + </xsl:for-each> + + <xsl:for-each select="innergroup"> + <xsl:apply-templates select="ancestor::*/compounddef[@kind = 'group' and @id = current()/@refid]"/> + </xsl:for-each> + </section> + </xsl:template> + + <xsl:template match="compounddef[@kind = 'struct' or @kind = 'union']"> + <xsl:variable name="name" select="compoundname"/> + + <section id="{@id}" xreflabel="{$name}"> + <title> + <xsl:choose> + <xsl:when test="@kind = 'struct'"> + <xsl:text>Struct </xsl:text> + </xsl:when> + + <xsl:when test="@kind = 'union'"> + <xsl:text>Union </xsl:text> + </xsl:when> + </xsl:choose> + + <xsl:value-of select="$name"/> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + + <xsl:apply-templates select="detaileddescription"/> + + <xsl:for-each select="sectiondef[@kind = 'public-attrib']"> + <table> + <title> + <xsl:value-of select="$name"/> + </title> + + <tgroup cols="3"> + <thead> + <row> + <entry>Type</entry> + <entry>Name</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <xsl:for-each select="memberdef"> + <row id="{@id}" xreflabel="{name}"> + <entry> + <xsl:value-of select="type"/> + </entry> + <entry> + <xsl:value-of select="name"/> + <xsl:if test="starts-with(argsstring, '[')"> + <xsl:text>[]</xsl:text> + </xsl:if> + + <xsl:variable name="struct.element.name"> + <xsl:value-of select="$name"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="name"/> + </xsl:variable> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="$struct.element.name"/> + </xsl:call-template> + </entry> + <entry> + <xsl:apply-templates select="detaileddescription"/> + </entry> + </row> + </xsl:for-each> + </tbody> + </tgroup> + </table> + </xsl:for-each> + </section> + </xsl:template> + + <xsl:template match="memberdef[@kind = 'function']"> + <section id="{@id}" xreflabel="{name}"> + <title> + <xsl:text>Function </xsl:text> + <xsl:value-of select="name"/> + <xsl:text>()</xsl:text> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + + <para> + <emphasis role="italic"> + <xsl:value-of select="briefdescription"/> + </emphasis> + </para> + + <programlisting language="c"> + <emphasis role="keyword"> + <xsl:value-of select="type"/> + </emphasis> + <xsl:text> </xsl:text> + <xsl:value-of select="name"/> + <xsl:text>(</xsl:text> + + <xsl:choose> + <xsl:when test="not(param[1]/declname)"> + <emphasis role="keyword">void</emphasis> + </xsl:when> + + <xsl:otherwise> + <xsl:for-each select="param"> + <xsl:if test="position() > 1"> + <xsl:text>,</xsl:text> + </xsl:if> + <xsl:text> 	</xsl:text> + <emphasis role="keyword"> + <xsl:value-of select="type"/> + </emphasis> + <xsl:text> </xsl:text> + <xsl:value-of select="declname"/> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>)</xsl:text> + </programlisting> + + <xsl:apply-templates select="detaileddescription"/> + </section> + </xsl:template> + + <xsl:template match="memberdef[@kind = 'enum']"> + <section id="{@id}" xreflabel="{name}"> + <title> + <xsl:text>Enum </xsl:text> + <xsl:value-of select="name"/> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + + <xsl:apply-templates select="detaileddescription"/> + + <table> + <title>Members</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Enum Value</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <xsl:for-each select="enumvalue"> + <row> + <entry> + <para id="{@id}" xreflabel="{name}"> + <xsl:value-of select="name"/> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + </para> + </entry> + <entry> + <xsl:apply-templates select="detaileddescription"/> + </entry> + </row> + </xsl:for-each> + </tbody> + </tgroup> + </table> + </section> + </xsl:template> + + <xsl:template match="memberdef[@kind = 'define']"> + <section id="{@id}" xreflabel="{name}"> + <title> + <xsl:text>Macro </xsl:text> + <xsl:value-of select="name"/> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + + <programlisting language="c"> + <emphasis role="preprocessor"> + <xsl:text>#define </xsl:text> + <xsl:value-of select="name"/> + <xsl:if test="count(param) > 0"> + <xsl:text>(</xsl:text> + <xsl:for-each select="param/defname"> + <xsl:if test="position() > 1"> + <xsl:text>,</xsl:text> + </xsl:if> + <xsl:value-of select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> + </xsl:if> + <xsl:text> </xsl:text> + + <!-- Split long macro definitions across multiple lines --> + <xsl:if test="(string-length(initializer) > 50) or (count(param) > 0)"> + <xsl:text>\ 	</xsl:text> + </xsl:if> + + <xsl:value-of select="initializer"/> + </emphasis> + <xsl:text> </xsl:text> + </programlisting> + + <xsl:apply-templates select="detaileddescription"/> + </section> + </xsl:template> + + <xsl:template match="memberdef[@kind = 'typedef']"> + <section id="{@id}" xreflabel="{name}"> + <title> + <xsl:text>Type </xsl:text> + <xsl:value-of select="name"/> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + + <programlisting language="c"> + <emphasis role="keyword"> + <xsl:text>typedef </xsl:text> + <xsl:value-of select="type"/> + </emphasis> + <xsl:text> </xsl:text> + <xsl:value-of select="name"/> + <xsl:text> </xsl:text> + <xsl:value-of select="argsstring"/> + </programlisting> + + <xsl:apply-templates select="detaileddescription"/> + </section> + </xsl:template> + + + <xsl:template match="memberdef[@kind = 'variable']"> + <section id="{@id}" xreflabel="{name}"> + <title> + <xsl:text>Variable </xsl:text> + <xsl:value-of select="name"/> + </title> + + <xsl:call-template name="generate.index.id"> + <xsl:with-param name="name" select="name"/> + </xsl:call-template> + + <programlisting language="c"> + <emphasis role="keyword"> + <xsl:value-of select="type"/> + </emphasis> + <xsl:text> </xsl:text> + <xsl:value-of select="name"/> + </programlisting> + + <xsl:apply-templates select="detaileddescription"/> + </section> + </xsl:template> + + <xsl:template match="linebreak | simplesectsep"> + <!-- MUST be on two separate lines, as this is a *literal* newline --> + <literallayout> + </literallayout> + </xsl:template> + + <xsl:template match="verbatim"> + <programlisting> + <xsl:apply-templates/> + </programlisting> + </xsl:template> + + <xsl:template match="sectiondef"> + <para> + <xsl:value-of select="description"/> + </para> + + <xsl:apply-templates select="memberdef"/> + </xsl:template> + + <xsl:template match="simplesect" mode="struct"> + <footnote> + <xsl:apply-templates/> + </footnote> + </xsl:template> + + <xsl:template match="simplesect"> + <xsl:choose> + <xsl:when test="@kind = 'par'"> + <note> + <title> + <xsl:value-of select="title"/> + </title> + <xsl:apply-templates/> + </note> + </xsl:when> + + <xsl:when test="@kind = 'return'"> + <note> + <title>Returns</title> + <xsl:apply-templates/> + </note> + </xsl:when> + + <xsl:when test="@kind = 'warning'"> + <warning> + <title>Warning</title> + <xsl:apply-templates/> + </warning> + </xsl:when> + + <xsl:when test="@kind = 'pre'"> + <note> + <title>Precondition</title> + <xsl:apply-templates/> + </note> + </xsl:when> + + <xsl:when test="@kind = 'see'"> + <note> + <title>See also</title> + <xsl:apply-templates/> + </note> + </xsl:when> + + <xsl:when test="@kind = 'note'"> + <note> + <title>Note</title> + <xsl:apply-templates/> + </note> + </xsl:when> + + </xsl:choose> + </xsl:template> + + <xsl:template match="parameterlist[@kind = 'param']"> + <table> + <title>Parameters</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Data Direction</entry> + <entry>Parameter Name</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <xsl:for-each select="parameteritem"> + <row> + <xsl:apply-templates select="."/> + </row> + </xsl:for-each> + </tbody> + </tgroup> + </table> + </xsl:template> + + <xsl:template match="parameterlist[@kind = 'retval']"> + <table> + <title>Return Values</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Return Value</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <xsl:for-each select="parameteritem"> + <row> + <xsl:apply-templates select="."/> + </row> + </xsl:for-each> + </tbody> + </tgroup> + </table> + </xsl:template> + + <xsl:template match="parameteritem"> + <xsl:if test="parent::parameterlist/@kind = 'param'"> + <entry> + <para> + <xsl:choose> + <xsl:when test="not(descendant::parametername/@direction)"> + <emphasis role="italic">?</emphasis> + </xsl:when> + + <xsl:otherwise> + <emphasis role="bold"> + [<xsl:value-of select="descendant::parametername/@direction"/>] + </emphasis> + </xsl:otherwise> + </xsl:choose> + </para> + </entry> + </xsl:if> + + <entry> + <para> + <xsl:value-of select="parameternamelist/parametername"/> + </para> + </entry> + + <entry> + <xsl:apply-templates select="parameterdescription"/> + </entry> + </xsl:template> + + <xsl:template match="parameterdescription"> + <para> + <xsl:apply-templates/> + </para> + </xsl:template> + + <xsl:template match="type"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="bold"> + <emphasis role="bold"> + <xsl:apply-templates/> + </emphasis> + </xsl:template> + + <xsl:template match="emphasis"> + <emphasis role="italic"> + <xsl:apply-templates/> + </emphasis> + </xsl:template> + + <xsl:template match="small"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="mdash | ndash"> + <!-- Doxygen bug; double dashed are replaced with single HTML dash + entities, even in verbatim-like <tt> sections --> + <xsl:text>--</xsl:text> + </xsl:template> + + <xsl:template match="computeroutput | preformatted"> + <computeroutput> + <xsl:apply-templates/> + </computeroutput> + </xsl:template> + + <xsl:template match="codeline"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="ulink"> + <ulink url="{@url}"> + <xsl:value-of select="."/> + </ulink> + </xsl:template> + + <xsl:template match="superscript"> + <superscript> + <xsl:apply-templates/> + </superscript> + </xsl:template> + + <xsl:template match="subscript"> + <subscript> + <xsl:apply-templates/> + </subscript> + </xsl:template> + + <xsl:template match="para"> + <para> + <xsl:apply-templates/> + </para> + </xsl:template> + + <xsl:template match="ref"> + <xsl:choose> + <!-- Don't show links inside program listings --> + <xsl:when test="ancestor::programlisting"> + <xsl:value-of select="."/> + </xsl:when> + + <!-- Don't show links to file compound definitions, as they are discarded --> + <xsl:when test="ancestor::*/compounddef[@kind = 'file' and @id = current()/@refid]"> + <xsl:value-of select="."/> + </xsl:when> + + <!-- Show links outside program listings --> + <xsl:otherwise> + <link linkend="{@refid}"> + <xsl:value-of select="text()"/> + </link> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="entry"> + <entry> + <xsl:apply-templates/> + </entry> + </xsl:template> + + <xsl:template match="table[caption]"> + <table> + <title> + <xsl:value-of select="caption"/> + </title> + + <tgroup cols="{@cols}"> + <thead> + <xsl:apply-templates select="row[entry/@thead = 'yes']"/> + </thead> + + <tbody> + <xsl:apply-templates select="row[entry/@thead != 'yes']"/> + </tbody> + </tgroup> + </table> + </xsl:template> + + <xsl:template match="table[not(caption)]"> + <informaltable> + <tgroup cols="{@cols}"> + <thead> + <xsl:apply-templates select="row[entry/@thead = 'yes']"/> + </thead> + + <tbody> + <xsl:apply-templates select="row[entry/@thead != 'yes']"/> + </tbody> + </tgroup> + </informaltable> + </xsl:template> + + <xsl:template match="row"> + <row> + <xsl:apply-templates/> + </row> + </xsl:template> + + <xsl:template match="itemizedlist"> + <itemizedlist> + <xsl:apply-templates/> + </itemizedlist> + </xsl:template> + + <xsl:template match="orderedlist"> + <orderedlist> + <xsl:apply-templates/> + </orderedlist> + </xsl:template> + + <xsl:template match="listitem"> + <listitem> + <xsl:apply-templates/> + </listitem> + </xsl:template> + + <xsl:template match="programlisting"> + <programlisting language="c"> + <xsl:for-each select="codeline[position() > 1 or highlight]"> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:for-each> + </programlisting> + </xsl:template> + + <xsl:template match="highlight"> + <emphasis role="{@class}"> + <xsl:apply-templates/> + </emphasis> + </xsl:template> + + <xsl:template match="highlight[1]/text()"> + <xsl:choose> + <xsl:when test="substring(., 1, 1) = '*'"> + <xsl:value-of select="substring(., 2)"/> + </xsl:when> + + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="sp[ancestor::codeline]"> + <xsl:text> </xsl:text> + </xsl:template> + + <xsl:template match="image"> + <mediaobject> + <imageobject> + <imagedata align="center"> + <xsl:attribute name="fileref"> + <xsl:text>images/</xsl:text> + <xsl:value-of select="@name"/> + </xsl:attribute> + </imagedata> + </imageobject> + </mediaobject> + </xsl:template> + + <xsl:template match="detaileddescription"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="sect1 | sect2 | sect3 | sect4 | sect5 | sect6 | sect7 | sect8 | sect9"> + <section> + <xsl:if test="@id"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:if> + + <title> + <xsl:value-of select="title"/> + </title> + + <xsl:apply-templates/> + </section> + </xsl:template> + + <xsl:template match="anchor"> + <xsl:if test="@id"> + <indexterm id="{@id}"/> + </xsl:if> + </xsl:template> + + <xsl:template match="title"/> + + <xsl:template match="htmlonly"/> + + <xsl:template match="*"> + <xsl:message>NO XSL TEMPLATE MATCH: <xsl:value-of select="local-name()"/></xsl:message> + </xsl:template> + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt b/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt new file mode 100644 index 0000000000..c9ff58f597 --- /dev/null +++ b/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt @@ -0,0 +1,47 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio HV1 Setup XHTML transform file --> + +<!-- Updates a helpcontentsetup.msha document to add appropriate version + information. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Need to input the LUFA help package filename for later use --> + <xsl:param name="help-package-filename"/> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="node()"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="node()"/> + </xsl:copy> + </xsl:template> + + <!-- Update the LUFA help package file name --> + <xsl:template match="xhtml:div[@class='package']/xhtml:span[@class='name']"> + <xsl:copy> + <xsl:copy-of select="@class"/> + + <xsl:value-of select="$help-package-filename"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="xhtml:div[@class='package']/xhtml:a[@class='current-link']"> + <xsl:copy> + <xsl:copy-of select="@class"/> + + <xsl:attribute name="href"> + <xsl:value-of select="$help-package-filename"/> + </xsl:attribute> + + <xsl:value-of select="$help-package-filename"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt b/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt new file mode 100644 index 0000000000..e7e230166d --- /dev/null +++ b/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt @@ -0,0 +1,45 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:import href="../Docbook/mshelp/docbook.xsl"/>
+
+ <xsl:output method="xml" indent="no"/>
+
+ <xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
+ <span class="hl-keyword" style="color: #0079C1">
+ <xsl:apply-templates/>
+ </span>
+ </xsl:template>
+
+ <xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
+ <span class="hl-string" style="color: #800000">
+ <xsl:apply-templates/>
+ </span>
+ </xsl:template>
+
+ <xsl:template match="emphasis[@role = 'comment']">
+ <em class="hl-comment" style="color: #008000">
+ <xsl:apply-templates/>
+ </em>
+ </xsl:template>
+
+ <xsl:template match="emphasis[@role = 'preprocessor']">
+ <span class="hl-preprocessor" style="color: #A000A0">
+ <xsl:apply-templates/>
+ </span>
+ </xsl:template>
+
+ <xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
+ <xsl:apply-templates />
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css b/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css new file mode 100644 index 0000000000..a4a025cc8b --- /dev/null +++ b/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css @@ -0,0 +1,53 @@ +/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+.programlisting {
+ display: block;
+ margin-left: 15px;
+ padding: 10px;
+ background-color: #f4f4f4;
+ border: 1px solid #aaaaaa;
+ font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+ code {
+ background-color: #f4f4f4;
+ font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+.note, .warning, .tip {
+ display: block;
+ margin-left: 15px;
+ padding-left: 10px;
+ padding-bottom: 5px;
+ background-color: #f4f4f4;
+ border: 1px solid #aaaaaa;
+}
+
+table {
+ border: 1px solid #aaaaaa;
+ border-collapse: collapse;
+ margin-left: 15px;
+ font-size: 10pt;
+}
+
+table thead {
+ background-color: #f4f4f4;
+}
+
+table thead th {
+ padding: 5px;
+}
+
+table tbody td {
+ padding: 5px;
+}
+
+ul {
+ padding-left: 20px;
+}
diff --git a/LUFA/StudioIntegration/VSIX/LUFA.dll b/LUFA/StudioIntegration/VSIX/LUFA.dll Binary files differnew file mode 100644 index 0000000000..369c78178b --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/LUFA.dll diff --git a/LUFA/StudioIntegration/VSIX/LUFA.pkgdef b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef Binary files differnew file mode 100644 index 0000000000..b1b2f943b8 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/LUFA.pkgdef diff --git a/LUFA/StudioIntegration/VSIX/[Content_Types].xml b/LUFA/StudioIntegration/VSIX/[Content_Types].xml new file mode 100644 index 0000000000..05ef8b6ba4 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/[Content_Types].xml @@ -0,0 +1,13 @@ +<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+ <Default Extension="vsixmanifest" ContentType="text/xml"/>
+ <Default Extension="cache" ContentType="text/xml"/>
+ <Default Extension="png" ContentType="application/octet-stream"/>
+ <Default Extension="txt" ContentType="text/plain"/>
+ <Default Extension="xml" ContentType="text/xml"/>
+ <Default Extension="zip" ContentType="application/octet-stream"/>
+ <Default Extension="dll" ContentType="application/octet-stream" />
+ <Default Extension="pkgdef" ContentType="text/plain" />
+ <Default Extension="htm" ContentType="text/html" />
+ <Default Extension="msha" ContentType="text/html" />
+ <Default Extension="mshc" ContentType="application/octet-stream"/>
+</Types>
diff --git a/LUFA/StudioIntegration/VSIX/asf-manifest.xml b/LUFA/StudioIntegration/VSIX/asf-manifest.xml new file mode 100644 index 0000000000..794fd689e1 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/asf-manifest.xml @@ -0,0 +1,18 @@ +<AsfContentProvider Version="1.0.0">
+ <Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b">
+ <Org>FourWalledCubicle</Org>
+ <ShortName>LUFA</ShortName>
+ <Author>Dean Camera</Author>
+ <Description/>
+ <FollowFolderStructure>True</FollowFolderStructure>
+ </Identifier>
+ <AsfContent Type="zip" Path="contents.zip">
+ <Content>
+ <Version>0</Version>
+ <HelpURL/>
+ <Locator/>
+ <DbXMLPath>content.xml.cache</DbXMLPath>
+ <Description/>
+ </Content>
+ </AsfContent>
+</AsfContentProvider>
diff --git a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest new file mode 100644 index 0000000000..f155618b73 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?>
+
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+ <Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
+ <Name>LUFA Library</Name>
+ <Author>Dean Camera</Author>
+ <Version>0</Version>
+ <MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
+ <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
+
+ <License>License.txt</License>
+ <Icon>LUFA_thumb.png</Icon>
+ <PreviewImage>LUFA.png</PreviewImage>
+
+ <SupportedProducts>
+ <IsolatedShell Version="7.0">AtmelStudio</IsolatedShell>
+ </SupportedProducts>
+
+ <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
+ <Locale>1033</Locale>
+
+ <AllUsers>false</AllUsers>
+ </Identifier>
+
+ <References/>
+
+ <Content>
+ <VsPackage>LUFA.pkgdef</VsPackage>
+ <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
+ <CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
+ </Content>
+</Vsix>
diff --git a/LUFA/StudioIntegration/VSIX/generate_caches.py b/LUFA/StudioIntegration/VSIX/generate_caches.py new file mode 100644 index 0000000000..ab787e8ec3 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/generate_caches.py @@ -0,0 +1,38 @@ +"""
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+"""
+
+import sys
+sys.path.append("ProjectGenerator")
+
+
+def show_message(message):
+ print("[Project Generator] %s" % message)
+ sys.stdout.flush()
+
+
+def main(lufa_root_path):
+ try:
+ from asf_avrstudio5_interface import PythonFacade
+ except ImportError:
+ print("Fatal Error: The ASF project generator is missing.")
+ return 1
+
+ p = PythonFacade(lufa_root_path)
+
+ show_message("Checking database sanity...")
+ p.check_extension_database_sanity(lufa_root_path)
+
+ show_message("Building cache files...")
+ p.generate_extension_cache_files(lufa_root_path)
+
+ show_message("Cache files created.")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main(sys.argv[1]))
diff --git a/LUFA/StudioIntegration/VSIX/lufa_asfmanifest_transform.xslt b/LUFA/StudioIntegration/VSIX/lufa_asfmanifest_transform.xslt new file mode 100644 index 0000000000..00f552c9c9 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/lufa_asfmanifest_transform.xslt @@ -0,0 +1,36 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework VSIX XML transform file --> + +<!-- Updates an asf-manifest.xml document to add appropriate version + information. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Need to input the LUFA version for later use --> + <xsl:param name="lufa-version"/> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Update the LUFA version to the version passed as a parameter --> + <xsl:template match="Version"> + <xsl:copy> + <xsl:value-of select="substring($lufa-version, 1, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring($lufa-version, 3, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring($lufa-version, 5, 2)"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/VSIX/lufa_vsmanifest_transform.xslt b/LUFA/StudioIntegration/VSIX/lufa_vsmanifest_transform.xslt new file mode 100644 index 0000000000..1198dd9dd6 --- /dev/null +++ b/LUFA/StudioIntegration/VSIX/lufa_vsmanifest_transform.xslt @@ -0,0 +1,33 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework VSIX XML transform file --> + +<!-- Updates the version element of a Visual Studio VSIX manifest file to the + value passed as a parameter to the stylesheet transform --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vs="http://schemas.microsoft.com/developer/vsx-schema/2010" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Need to input the extension version for later use --> + <xsl:param name="extension-version"/> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Update the extension version to the version passed as a parameter --> + <xsl:template match="vs:Version"> + <xsl:copy> + <xsl:value-of select="$extension-version"/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/XDK/lufa_extension_transform.xslt b/LUFA/StudioIntegration/XDK/lufa_extension_transform.xslt new file mode 100644 index 0000000000..c3fb82294a --- /dev/null +++ b/LUFA/StudioIntegration/XDK/lufa_extension_transform.xslt @@ -0,0 +1,68 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework Extension XML transform file --> + +<!-- Creates an extension.xml document from a given manifest list of XML files, + and adds appropriate documentation base URI entries and version + information. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Store the LUFA version mentioned in the root node for later use --> + <xsl:param name="lufa-version" select="lufa-manifest/@version"/> + + <!-- Read manifest list and then process all FDK nodes in the referenced + document --> + <xsl:template match="lufa-manifest"> + <xsl:comment>This file has been automatically generated from the LUFA Atmel Studio integration XML files.</xsl:comment> + + <extension-container xmlversion="2.0"> + <xsl:for-each select="xml-source"> + <xsl:apply-templates select="document(@filename)/lufa/extension-container/*"/> + </xsl:for-each> + </extension-container> + </xsl:template> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- Update the extension version to the version of LUFA being used --> + <xsl:template match="extension/@version"> + <xsl:attribute name="version"> + <xsl:value-of select="substring($lufa-version, 1, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring($lufa-version, 3, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring($lufa-version, 5, 2)"/> + </xsl:attribute> + </xsl:template> + + <!-- Update the extension online help URLs to the version of LUFA being + used --> + <xsl:template match="online-help/*/@baseurl"> + <xsl:attribute name="baseurl"> + <xsl:value-of select="current()"/> + <xsl:value-of select="$lufa-version"/> + <xsl:text>/html/</xsl:text> + </xsl:attribute> + </xsl:template> + + <xsl:template match="online-help/index-page/@url"> + <xsl:attribute name="url"> + <xsl:value-of select="current()"/> + <xsl:value-of select="$lufa-version"/> + <xsl:text>/html/</xsl:text> + </xsl:attribute> + </xsl:template> + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt b/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt new file mode 100644 index 0000000000..2998b879f0 --- /dev/null +++ b/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt @@ -0,0 +1,35 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework Module XML transform file --> + +<!-- Outputs a flat file list of all source files referenced in all modules of + the input manifest XML file, so that they can be checked for existence. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Read manifest list, add a comment to indicate the source filename + and then process all ASF nodes in the referenced document --> + <xsl:template match="lufa-manifest"> + <xsl:for-each select="xml-source"> + <xsl:comment>Sourced from <xsl:value-of select="@filename"/></xsl:comment> + <xsl:apply-templates select="document(@filename)/lufa/asf/*"/> + </xsl:for-each> + </xsl:template> + + <!-- Recursively match and process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:apply-templates select="@*|node()"/> + </xsl:template> + + <!-- Match source file nodes, output filename --> + <xsl:template match="build[@type='c-source']|build[@type='header-file']|build[@type='distribute']"> + <xsl:value-of select="@value"/> + <xsl:text>
</xsl:text> + </xsl:template> +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/XDK/lufa_indent_transform.xslt b/LUFA/StudioIntegration/XDK/lufa_indent_transform.xslt new file mode 100644 index 0000000000..6c22ff94cc --- /dev/null +++ b/LUFA/StudioIntegration/XDK/lufa_indent_transform.xslt @@ -0,0 +1,23 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework XML transform file --> + +<!-- Indents a given XML document to match the node hierarchy. --> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/> + + <!-- Remove all white-space on all elements so that they can be indented --> + <xsl:strip-space elements="*"/> + + <!-- Match the root node and copy, so that the output will be a correctly + indented version of the input document --> + <xsl:template match="/"> + <xsl:copy-of select="."/> + </xsl:template> +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/XDK/lufa_module_transform.xslt b/LUFA/StudioIntegration/XDK/lufa_module_transform.xslt new file mode 100644 index 0000000000..0ab44e7a18 --- /dev/null +++ b/LUFA/StudioIntegration/XDK/lufa_module_transform.xslt @@ -0,0 +1,66 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework Module XML transform file --> + +<!-- Creates an asf.xml module document from a given manifest list of XML files, + and adds appropriate documentation links by cross-referencing the Doxygen + tag output file to map Doxygen group names to generated filenames. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Store the LUFA Doxygen tag filename mentioned in the root node for later use --> + <xsl:param name="lufa-doxygen-tagfile" select="lufa-manifest/@tagfile"/> + + <!-- Store the LUFA Doxygen documentation filename mentioned in the root node for later use --> + <xsl:param name="lufa-doxygen-docfile" select="lufa-manifest/@docfile"/> + + <!-- Read manifest list, add a comment to indicate the source filename + and then copy/process all ASF nodes in the referenced document --> + <xsl:template match="lufa-manifest"> + <xsl:comment>This file has been automatically generated from the LUFA Atmel Studio integration XML files.</xsl:comment> + + <asf xmlversion="1.0"> + <xsl:for-each select="xml-source"> + <xsl:comment>Sourced from <xsl:value-of select="@filename"/></xsl:comment> + <xsl:apply-templates select="document(@filename)/lufa/asf/*"/> + </xsl:for-each> + </asf> + </xsl:template> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- For Doxygen entry point nodes we need to convert them into help link + nodes instead and add descriptions, so that they show up as links in + Studio correctly --> + <xsl:template match="build[@type='doxygen-entry-point']"> + <!-- select-by-config entries should not have a help link --> + <xsl:if test="not(parent::select-by-config)"> + <build type="online-help" subtype="module-help-page-append"> + <xsl:attribute name="value"> + <!-- Extract filename of the HTML file that contains the documentation for this module from the Doxgen tag file --> + <xsl:value-of select="document($lufa-doxygen-tagfile)/tagfile/compound[name=current()/@value]/filename"/> + </xsl:attribute> + </build> + </xsl:if> + + <!-- Modules inside a select-by-config entries should not have a help link --> + <xsl:if test="not(parent::module and ../parent::select-by-config)"> + <info type="description" value="summary"> + <!-- Extract brief description of the module from the Doxygen combined XML documentation file --> + <xsl:value-of select="document($lufa-doxygen-docfile)/doxygen/compounddef[compoundname=current()/@value]/briefdescription/para"/> + </info> + </xsl:if> + </xsl:template> + +</xsl:stylesheet> diff --git a/LUFA/StudioIntegration/lufa.xml b/LUFA/StudioIntegration/lufa.xml new file mode 100644 index 0000000000..c838949865 --- /dev/null +++ b/LUFA/StudioIntegration/lufa.xml @@ -0,0 +1,96 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <extension-container>
+ <extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)">
+ <author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/>
+ <description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description>
+ <icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/>
+ <preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/>
+ <license caption="LUFA License" path="LUFA/License.txt"/>
+ <release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/>
+ <online-help>
+ <index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/>
+ <module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+ <module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+ </online-help>
+ <dependencies/>
+ </extension>
+ </extension-container>
+
+ <asf>
+ <device-alias-map name="lufa_avr8">
+ <device-support value="at90usb82"/>
+ <device-support value="atmega8u2"/>
+ <device-support value="at90usb162"/>
+ <device-support value="atmega16u2"/>
+ <device-support value="atmega16u4"/>
+ <device-support value="atmega32u2"/>
+ <device-support value="atmega32u4"/>
+ <device-support value="at90usb646"/>
+ <device-support value="at90usb647"/>
+ <device-support value="at90usb1286"/>
+ <device-support value="at90usb1287"/>
+ </device-alias-map>
+
+ <device-alias-map name="lufa_xmega">
+ <device-support value="atxmega16a4u"/>
+ <device-support value="atxmega32a4u"/>
+ <device-support value="atxmega64a4u"/>
+ <device-support value="atxmega128a4u"/>
+ <device-support value="atxmega64a3u"/>
+ <device-support value="atxmega128a3u"/>
+ <device-support value="atxmega192a3u"/>
+ <device-support value="atxmega256a3u"/>
+ <device-support value="atxmega256a3bu"/>
+ <device-support value="atxmega128a1u"/>
+ <device-support value="atxmega64b3"/>
+ <device-support value="atxmega128b3"/>
+ <device-support value="atxmega64b1"/>
+ <device-support value="atxmega128b1"/>
+ <device-support value="atxmega64c3"/>
+ <device-support value="atxmega128c3"/>
+ <device-support value="atxmega192c3"/>
+ <device-support value="atxmega256c3"/>
+ <device-support value="atxmega384c3"/>
+ <device-support value="atxmega16c4"/>
+ </device-alias-map>
+
+ <device-alias-map name="lufa_uc3">
+ <device-support value="at32uc3a364"/>
+ <device-support value="at32uc3a364s"/>
+ <device-support value="at32uc3a464"/>
+ <device-support value="at32uc3a464s"/>
+ <device-support value="at32uc3b064"/>
+ <device-support value="at32uc3b164"/>
+ <device-support value="at32uc3a0128"/>
+ <device-support value="at32uc3a1128"/>
+ <device-support value="at32uc3a3128"/>
+ <device-support value="at32uc3a3128s"/>
+ <device-support value="at32uc3a4128"/>
+ <device-support value="at32uc3a4128s"/>
+ <device-support value="at32uc3b0128"/>
+ <device-support value="at32uc3b1128"/>
+ <device-support value="at32uc3a0256"/>
+ <device-support value="at32uc3a1256"/>
+ <device-support value="at32uc3a3256"/>
+ <device-support value="at32uc3a3256s"/>
+ <device-support value="at32uc3a4256"/>
+ <device-support value="at32uc3a4256s"/>
+ <device-support value="at32uc3b0256"/>
+ <device-support value="at32uc3b1256"/>
+ <device-support value="at32uc3a0512"/>
+ <device-support value="at32uc3a1512"/>
+ <device-support value="at32uc3b0512"/>
+ <device-support value="at32uc3b1512"/>
+ </device-alias-map>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_common.xml b/LUFA/StudioIntegration/lufa_common.xml new file mode 100644 index 0000000000..b72f84cd9d --- /dev/null +++ b/LUFA/StudioIntegration/lufa_common.xml @@ -0,0 +1,34 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="service" id="lufa.common" caption="LUFA Common Infrastructure">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <info type="gui-flag" value="hidden"/>
+ <build type="doxygen-entry-point" value="Group_Common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Version.h"/>
+ <build type="distribute" subtype="license" value="License.txt"/>
+
+ <build type="header-file" subtype="api" value="Common/Common.h"/>
+ <build type="header-file" value="Common/Architectures.h"/>
+ <build type="header-file" value="Common/ArchitectureSpecific.h"/>
+ <build type="header-file" value="Common/Attributes.h"/>
+ <build type="header-file" value="Common/BoardTypes.h"/>
+ <build type="header-file" value="Common/CompilerSpecific.h"/>
+ <build type="header-file" value="Common/Endianness.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_board.xml b/LUFA/StudioIntegration/lufa_drivers_board.xml new file mode 100644 index 0000000000..bd0359f683 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_board.xml @@ -0,0 +1,114 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture">
+ <device-support value="mega"/>
+
+ <require idref="lufa.drivers.board"/>
+ <require idref="lufa.drivers.board.info"/>
+ </board>
+
+ <board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture">
+ <device-support value="xmega"/>
+
+ <require idref="lufa.drivers.board"/>
+ <require idref="lufa.drivers.board.info"/>
+ </board>
+
+ <board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture">
+ <device-support value="uc3"/>
+
+ <require idref="lufa.drivers.board"/>
+ <require idref="lufa.drivers.board.info"/>
+ </board>
+
+ <module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_BoardInfo"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/Board.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_LEDs"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Buttons"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Dataflash"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/Dataflash.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Joystick"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/Joystick.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Temperature"/>
+
+ <require idref="lufa.common"/>
+ <require idref="lufa.drivers.peripheral.adc"/>
+
+ <build type="c-source" value="Drivers/Board/Temperature.c"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Board/Temperature.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_board_names.xml b/LUFA/StudioIntegration/lufa_drivers_board_names.xml new file mode 100644 index 0000000000..69a38c5f70 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_board_names.xml @@ -0,0 +1,853 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <select-by-config id="lufa.drivers.board" name="lufa.drivers.board.name" default="none" caption="LUFA Board Support">
+ <info type="description" value="summary">
+ Board hardware (LEDs, Buttons, etc.) drivers for the preconfigured LUFA boards. Note that only the boards
+ compatible with the currently selected device will be shown.
+
+ To disable all hardware drivers silently, use NONE. To supply customer drivers, use USER (see manual).
+ </info>
+
+ <module type="driver" id="lufa.drivers.board#none" caption="Board Support - None">
+ <device-support value="avr"/>
+ <build type="define" name="BOARD" value="BOARD_NONE"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#user" caption="Board Support - User Supplied">
+ <device-support value="avr"/>
+ <build type="define" name="BOARD" value="BOARD_USER"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#adafruit_u4" caption="Board Support - ADAFRUITU4">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_ADAFRUITU4"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_ADAFRUITU4"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#atavrusbrf01" caption="Board Support - ATAVRUSBRF01">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_ATAVRUSBRF01"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_ATAVRUSBRF01"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#benito" caption="Board Support - BENITO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_BENITO"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_BENITO"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/BENITO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BENITO/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BENITO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#big_multio" caption="Board Support - BIGMULTIO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_BIGMULTIO"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_BIGMULTIO"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#blackcat" caption="Board Support - BLACKCAT">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_BLACKCAT"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_BLACKCAT"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#bui" caption="Board Support - BUI">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_BUI"/>
+
+ <device-support value="at90usb646"/>
+ <build type="define" name="BOARD" value="BOARD_BUI"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/BUI/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BUI/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#bumbleb" caption="Board Support - BUMBLEB">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_BUMBLEB"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_BUMBLEB"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.joystick"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#culv3" caption="Board Support - CULV3">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_CULV3"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_CULV3"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/CULV3/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/CULV3/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/CULV3/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#duce" caption="Board Support - DUCE">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_DUCE"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_DUCE"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/DUCE/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/DUCE/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#evk527" caption="Board Support - EVK527">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_EVK527"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_EVK527"/>
+
+ <require idref="lufa.drivers.misc.at45db321c"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/EVK527/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/EVK527/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/EVK527/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/EVK527/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/EVK527/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#jm_db_u2" caption="Board Support - JMDBU2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_JMDBU2"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_JMDBU2"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#leonardo" caption="Board Support - LEONARDO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_LEONARDO"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_LEONARDO"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#maximus" caption="Board Support - MAXIMUS">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MAXIMUS"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_MAXIMUS"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_32u2" caption="Board Support - MICROPENDOUS_32U2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_32U2"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_32U2"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_a" caption="Board Support - MICROPENDOUS_A">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_A"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_A"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_1" caption="Board Support - MICROPENDOUS_1">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_1"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_1"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_2" caption="Board Support - MICROPENDOUS_2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_2"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_2"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_3" caption="Board Support - MICROPENDOUS_3">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_3"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_3"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_4" caption="Board Support - MICROPENDOUS_4">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_4"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_4"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_dip" caption="Board Support - MICROPENDOUS_DIP">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_DIP"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_DIP"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_rev1" caption="Board Support - MICROPENDOUS_REV1">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV1"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV1"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micropendous_rev2" caption="Board Support - MICROPENDOUS_REV2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV2"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV2"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#microsin_162" caption="Board Support - MICROSIN162">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICROSIN162"/>
+
+ <device-support value="atmega162"/>
+ <build type="define" name="BOARD" value="BOARD_MICROSIN162"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#minimus" caption="Board Support - MINIMUS">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MINIMUS"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_MINIMUS"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#multio" caption="Board Support - MULTIO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MULTIO"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_MULTIO"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MULTIO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MULTIO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#olimex_162" caption="Board Support - OLIMEX162">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX162"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_OLIMEX162"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#olimex_32u4" caption="Board Support - OLIMEX32U4">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX32U4"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_OLIMEX32U4"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#olimex_isp_mkii" caption="Board Support - OLIMEXISPMK2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXISPMK2"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_OLIMEXISPMK2"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#olimex_t32u4" caption="Board Support - OLIMEX_T32U4">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXT32U4"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_OLIMEXT32U4"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+ <require idref="lufa.drivers.board.buttons"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#rzusbstick" caption="Board Support - RZUSBSTICK">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_RZUSBSTICK"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_RZUSBSTICK"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#sparkfun_8u2" caption="Board Support - SPARKFUN8U2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_SPARKFUN8U2"/>
+
+ <device-support value="atmega8u2"/>
+ <build type="define" name="BOARD" value="BOARD_SPARKFUN8U2"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/>
+
+ <device-support value="at90usb1287"/>
+ <device-support value="at90usb1286"/>
+ <device-support value="at90usb647"/>
+ <device-support value="at90usb646"/>
+ <build type="define" name="BOARD" value="BOARD_STK525"/>
+
+ <require idref="lufa.drivers.misc.at45db321c"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/STK525/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK525/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK525/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK525/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK525/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#stk526" caption="Board Support - STK526">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/>
+
+ <device-support value="at90usb162"/>
+ <device-support value="at90usb82"/>
+ <device-support value="atmega32u2"/>
+ <device-support value="atmega16u2"/>
+ <device-support value="atmega8u2"/>
+ <build type="define" name="BOARD" value="BOARD_STK526"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/STK526/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK526/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK526/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK526/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STK526/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#teensy" caption="Board Support - TEENSY">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_TEENSY"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#teensy2" caption="Board Support - TEENSY2">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY2"/>
+
+ <device-support value="at90usb646"/>
+ <build type="define" name="BOARD" value="BOARD_TEENSY2"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#tul" caption="Board Support - TUL">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_TUL"/>
+
+ <device-support value="atmega32u4"/>
+ <build type="define" name="BOARD" value="BOARD_TUL"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/TUL/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/TUL/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/TUL/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#udip" caption="Board Support - UDIP">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_UDIP"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_UDIP"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/UDIP/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/UDIP/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/UDIP/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#uno" caption="Board Support - UNO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_UNO"/>
+
+ <device-support value="atmega8u2"/>
+ <device-support value="atmega16u2"/>
+ <build type="define" name="BOARD" value="BOARD_UNO"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/UNO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/UNO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usb2ax" caption="Board Support - USB2AX">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_USB2AX"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usb2ax_v3" caption="Board Support - USB2AX_V3">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V3"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_USB2AX_V3"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usb2ax_v3_1" caption="Board Support - USB2AX_V31">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V31"/>
+
+ <device-support value="atmega32u2"/>
+ <build type="define" name="BOARD" value="BOARD_USB2AX_V31"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usbfoo" caption="Board Support - USBFOO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USBFOO"/>
+
+ <device-support value="atmega162"/>
+ <build type="define" name="BOARD" value="BOARD_USBFOO"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBFOO/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usbkey" caption="Board Support - USBKEY">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USBKEY"/>
+
+ <device-support value="at90usb1287"/>
+ <build type="define" name="BOARD" value="BOARD_USBKEY"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBKEY/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#usbtiny_mkii" caption="Board Support - USBTINYMKII">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_USBTINYMKII"/>
+
+ <device-support value="at90usb162"/>
+ <build type="define" name="BOARD" value="BOARD_USBTINYMKII"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/LEDs.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#xplain_rev1" caption="Board Support - XPLAIN (HW Rev 1)">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN_REV1"/>
+
+ <device-support value="at90usb1287"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_XPLAIN_REV1"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#xplain" caption="Board Support - XPLAIN (HW Rev 2+)">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN"/>
+
+ <device-support value="at90usb1287"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.spi"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_XPLAIN"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#a3bu_xplained" caption="Board Support - A3BU_XPLAINED">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_A3BU_XPLAINED"/>
+
+ <device-support value="atxmega256a3bu"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.usart_spi"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_A3BU_XPLAINED"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#b1_xplained" caption="Board Support - B1_XPLAINED">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_B1_XPLAINED"/>
+
+ <device-support value="atxmega128b1"/>
+
+ <require idref="lufa.drivers.misc.at45db642d"/>
+ <require idref="lufa.drivers.peripheral.usart_spi"/>
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.dataflash"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Board.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_B1_XPLAINED"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#evk1100" caption="Board Support - EVK1100">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1100"/>
+
+ <device-support value="at32uc3a0512"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/UC3/EVK1100/Board.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1100/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1100/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1100/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_EVK1100"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#evk1101" caption="Board Support - EVK1101">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1101"/>
+
+ <device-support value="at32uc3b0256"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.joystick"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/UC3/EVK1101/Board.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1101/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1101/Joystick.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1101/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_EVK1101"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#evk1104" caption="Board Support - EVK1104">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1104"/>
+
+ <device-support value="at32uc3a3256"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/UC3/EVK1104/Board.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1104/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/EVK1104/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_EVK1104"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#uc3a3_xplained" caption="Board Support - UC3A3_XPLAINED">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_UC3_A3_XPLAINED"/>
+
+ <device-support value="at32uc3a3256"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Board.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_UC3A3_XPLAINED"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#stange_isp" caption="Board Support - STANGE_ISP">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_STANGE_ISP"/>
+
+ <device-support value="at90usb162"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_STANGE_ISP"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#c3_xplained" caption="Board Support - C3_XPLAINED">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_C3_XPLAINED"/>
+
+ <device-support value="atxmega384c3"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Board.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_C3_XPLAINED"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#u2s" caption="Board Support - U2S">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_U2S"/>
+
+ <device-support value="atmega32u2"/>
+
+ <require idref="lufa.drivers.board.buttons"/>
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/U2S/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/U2S/Buttons.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/U2S/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_U2S"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#yun" caption="Board Support - YUN">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_YUN"/>
+
+ <device-support value="atmega32u4"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/YUN/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/YUN/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_YUN"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.board#micro" caption="Board Support - MICRO">
+ <build type="doxygen-entry-point" value="Group_BoardInfo_MICRO"/>
+
+ <device-support value="atmega32u4"/>
+
+ <require idref="lufa.drivers.board.leds"/>
+
+ <build type="header-file" value="Drivers/Board/AVR8/MICRO/Board.h"/>
+ <build type="header-file" value="Drivers/Board/AVR8/MICRO/LEDs.h"/>
+
+ <build type="define" name="BOARD" value="BOARD_MICRO"/>
+ </module>
+ </select-by-config>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_misc.xml b/LUFA/StudioIntegration/lufa_drivers_misc.xml new file mode 100644 index 0000000000..ee72f33db0 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_misc.xml @@ -0,0 +1,57 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/>
+ </module>
+
+ <module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/>
+ </module>
+
+ <module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_RingBuff"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/>
+ </module>
+
+ <module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Terminal"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_peripheral.xml b/LUFA/StudioIntegration/lufa_drivers_peripheral.xml new file mode 100644 index 0000000000..b4eb8747a2 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_peripheral.xml @@ -0,0 +1,198 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver">
+ <module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="doxygen-entry-point" value="Group_Serial"/>
+
+ <require idref="lufa.common"/>
+ <require idref="lufa.drivers.misc.ansi"/>
+
+ <build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/>
+ <build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="doxygen-entry-point" value="Group_Serial"/>
+
+ <require idref="lufa.common"/>
+ <require idref="lufa.drivers.misc.ansi"/>
+
+ <build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/>
+ <build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_Serial"/>
+
+ <require idref="lufa.common"/>
+ <require idref="lufa.drivers.misc.ansi"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+ </select-by-device>
+
+ <select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver">
+ <module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="doxygen-entry-point" value="Group_SPI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="doxygen-entry-point" value="Group_SPI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_SPI"/>
+
+ <require idref="lufa.common"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+ </select-by-device>
+
+ <select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver">
+ <module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+ <require idref="lufa.common"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+ </select-by-device>
+
+ <select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver">
+ <module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="doxygen-entry-point" value="Group_TWI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/>
+ <build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="doxygen-entry-point" value="Group_TWI"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/>
+ <build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_TWI"/>
+
+ <require idref="lufa.common"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+ </select-by-device>
+
+ <select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver">
+ <module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="doxygen-entry-point" value="Group_ADC"/>
+
+ <require idref="lufa.common"/>
+
+ <build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/>
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="doxygen-entry-point" value="Group_ADC"/>
+
+ <require idref="lufa.common"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_ADC"/>
+
+ <require idref="lufa.common"/>
+
+ <info type="gui-flag" value="hidden"/>
+ </module>
+ </select-by-device>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb.xml b/LUFA/StudioIntegration/lufa_drivers_usb.xml new file mode 100644 index 0000000000..f07aad672b --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb.xml @@ -0,0 +1,32 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_USB"/>
+
+ <build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/>
+ <build type="module-config" subtype="path" value="CodeTemplates"/>
+ <build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Drivers/USB/USB.h"/>
+
+ <require idref="lufa.common"/>
+ <require idref="lufa.drivers.usb.class"/>
+ <require idref="lufa.drivers.usb.core"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class.xml new file mode 100644 index 0000000000..123d60643b --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class.xml @@ -0,0 +1,32 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <info type="gui-flag" value="hidden"/>
+ <build type="doxygen-entry-point" value="Group_USBClassDrivers"/>
+
+ <require idref="lufa.drivers.usb.class.android"/>
+ <require idref="lufa.drivers.usb.class.audio"/>
+ <require idref="lufa.drivers.usb.class.cdc"/>
+ <require idref="lufa.drivers.usb.class.hid"/>
+ <require idref="lufa.drivers.usb.class.ms"/>
+ <require idref="lufa.drivers.usb.class.midi"/>
+ <require idref="lufa.drivers.usb.class.printer"/>
+ <require idref="lufa.drivers.usb.class.rndis"/>
+ <require idref="lufa.drivers.usb.class.si"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_android.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_android.xml new file mode 100644 index 0000000000..3ec06ed6cb --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_android.xml @@ -0,0 +1,54 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.android" name="lufa.drivers.usb.class.android.mode" default="host" caption="LUFA USB Class Driver - Android Accessory"> + <build type="doxygen-entry-point" value="Group_USBClassAOA"/> + + <module type="service" id="lufa.drivers.usb.class.android#host" caption="LUFA USB Class Driver - Android Accessory (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the Android Open Accessory USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassAOA"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AndroidAccessoryClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/AndroidAccessoryClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/AndroidAccessoryClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.android#definitions_only" caption="LUFA USB Class Driver - Android Accessory (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the Android Open Accessory USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassAOA"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AndroidAccessoryClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/AndroidAccessoryClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_audio.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_audio.xml new file mode 100644 index 0000000000..d93925dab1 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_audio.xml @@ -0,0 +1,109 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.audio" name="lufa.drivers.usb.class.audio.mode" default="host_device" caption="LUFA USB Class Driver - Audio 1.0"> + <build type="doxygen-entry-point" value="Group_USBClassAudio"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.audio#host_device" caption="LUFA USB Class Driver - Audio 1.0 (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the Audio 1.0 USB class. + </info> + + <info type="gui-flag" value="hidden"/> + + <build type="doxygen-entry-point" value="Group_USBClassAudio"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AudioClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AudioClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/AudioClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/AudioClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/AudioClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/AudioClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.audio#host" caption="LUFA USB Class Driver - Audio 1.0 (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the Audio 1.0 USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassAudio"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AudioClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AudioClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/AudioClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/AudioClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/AudioClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.audio#device" caption="LUFA USB Class Driver - Audio 1.0 (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the Audio 1.0 USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassAudio"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AudioClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AudioClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/AudioClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/AudioClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/AudioClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.audio#definitions_only" caption="LUFA USB Class Driver - Audio 1.0 (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the Audio 1.0 USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassAudio"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/AudioClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/AudioClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/AudioClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/AudioClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_cdc.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_cdc.xml new file mode 100644 index 0000000000..6c4f678d3e --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_cdc.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.cdc" name="lufa.drivers.usb.class.cdc.mode" default="host_device" caption="LUFA USB Class Driver - CDC"> + <build type="doxygen-entry-point" value="Group_USBClassCDC"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.cdc#host_device" caption="LUFA USB Class Driver - CDC (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the CDC USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassCDC"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/CDCClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/CDCClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/CDCClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/CDCClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/CDCClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/CDCClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.cdc#host" caption="LUFA USB Class Driver - CDC (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the CDC USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassCDC"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/CDCClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/CDCClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/CDCClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/CDCClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/CDCClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.cdc#device" caption="LUFA USB Class Driver - CDC (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the CDC USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassCDC"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/CDCClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/CDCClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/CDCClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/CDCClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/CDCClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.cdc#definitions_only" caption="LUFA USB Class Driver - CDC (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the CDC USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassCDC"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/CDCClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/CDCClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/CDCClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/CDCClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_hid.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_hid.xml new file mode 100644 index 0000000000..d9e70a97c4 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_hid.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.hid" name="lufa.drivers.usb.class.hid.mode" default="host_device" caption="LUFA USB Class Driver - HID"> + <build type="doxygen-entry-point" value="Group_USBClassHID"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.hid#host_device" caption="LUFA USB Class Driver - HID (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the HID USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassHID"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/HIDClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/HIDClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/HIDClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/HIDClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/HIDClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/HIDClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.hid#host" caption="LUFA USB Class Driver - HID (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the HID USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassHID"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/HIDClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/HIDClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/HIDClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/HIDClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/HIDClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.hid#device" caption="LUFA USB Class Driver - HID (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the HID USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassHID"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/HIDClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/HIDClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/HIDClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/HIDClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/HIDClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.hid#definitions_only" caption="LUFA USB Class Driver - HID (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the HID USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassHID"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/HIDClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/HIDClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/HIDClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/HIDClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_midi.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_midi.xml new file mode 100644 index 0000000000..c127ae2cea --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_midi.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.midi" name="lufa.drivers.usb.class.midi.mode" default="host_device" caption="LUFA USB Class Driver - MIDI"> + <build type="doxygen-entry-point" value="Group_USBClassMIDI"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.midi#host_device" caption="LUFA USB Class Driver - MIDI (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the MIDI USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMIDI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MIDIClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MIDIClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MIDIClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/MIDIClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/MIDIClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/MIDIClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.midi#host" caption="LUFA USB Class Driver - MIDI (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the MIDI USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMIDI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MIDIClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MIDIClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MIDIClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/MIDIClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/MIDIClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.midi#device" caption="LUFA USB Class Driver - MIDI (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the MIDI USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMIDI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MIDIClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MIDIClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MIDIClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/MIDIClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/MIDIClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.midi#definitions_only" caption="LUFA USB Class Driver - MIDI (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the MIDI USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMIDI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MIDIClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MIDIClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MIDIClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/MIDIClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_ms.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_ms.xml new file mode 100644 index 0000000000..1be340310d --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_ms.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.ms" name="lufa.drivers.usb.class.ms.mode" default="host_device" caption="LUFA USB Class Driver - Mass Storage"> + <build type="doxygen-entry-point" value="Group_USBClassMS"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.ms#host_device" caption="LUFA USB Class Driver - Mass Storage (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the Mass Storage USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MassStorageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MassStorageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MassStorageClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/MassStorageClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/MassStorageClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/MassStorageClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.ms#host" caption="LUFA USB Class Driver - Mass Storage (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the Mass Storage USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MassStorageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MassStorageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MassStorageClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/MassStorageClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/MassStorageClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.ms#device" caption="LUFA USB Class Driver - Mass Storage (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the Mass Storage USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MassStorageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MassStorageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MassStorageClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/MassStorageClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/MassStorageClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.ms#definitions_only" caption="LUFA USB Class Driver - Mass Storage (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the Mass Storage USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassMS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/MassStorageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/MassStorageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/MassStorageClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/MassStorageClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_printer.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_printer.xml new file mode 100644 index 0000000000..3b1fbe60ad --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_printer.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.printer" name="lufa.drivers.usb.class.printer.mode" default="host_device" caption="LUFA USB Class Driver - Printer"> + <build type="doxygen-entry-point" value="Group_USBClassPrinter"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.printer#host_device" caption="LUFA USB Class Driver - Printer (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the Printer USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassPrinter"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/PrinterClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/PrinterClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/PrinterClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/PrinterClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/PrinterClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/PrinterClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.printer#host" caption="LUFA USB Class Driver - Printer (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the Printer USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassPrinter"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/PrinterClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/PrinterClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/PrinterClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/PrinterClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/PrinterClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.printer#device" caption="LUFA USB Class Driver - Printer (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the Printer USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassPrinter"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/PrinterClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/PrinterClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/PrinterClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/PrinterClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/PrinterClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.printer#definitions_only" caption="LUFA USB Class Driver - Printer (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the Printer USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassPrinter"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/PrinterClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/PrinterClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/PrinterClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/PrinterClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_rndis.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_rndis.xml new file mode 100644 index 0000000000..09e86fbf0e --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_rndis.xml @@ -0,0 +1,99 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.rndis" name="lufa.drivers.usb.class.rndis.mode" default="host_device" caption="LUFA USB Class Driver - RNDIS Ethernet"> + <build type="doxygen-entry-point" value="Group_USBClassRNDIS"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.rndis#host_device" caption="LUFA USB Class Driver - RNDIS Ethernet (Host/Device)"> + <info type="description" value="summary"> + Common definitions and Host/Device mode implementations of the RNDIS Ethernet USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassRNDIS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/RNDISClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/RNDISClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/RNDISClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/RNDISClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/RNDISClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/RNDISClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.rndis#host" caption="LUFA USB Class Driver - RNDIS Ethernet (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the RNDIS Ethernet USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassRNDIS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/RNDISClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/RNDISClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/RNDISClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/RNDISClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/RNDISClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.rndis#device" caption="LUFA USB Class Driver - RNDIS Ethernet (Device)"> + <info type="description" value="summary"> + Common definitions and Device mode implementation of the RNDIS Ethernet USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassRNDIS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/RNDISClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/RNDISClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/RNDISClassDevice.h"/> + <build type="c-source" value="Drivers/USB/Class/Device/RNDISClassDevice.c"/> + <build type="header-file" value="Drivers/USB/Class/Host/RNDISClassHost.h"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.rndis#definitions_only" caption="LUFA USB Class Driver - RNDIS Ethernet (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the RNDIS Ethernet USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassRNDIS"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/RNDISClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/RNDISClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Device/RNDISClassDevice.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/RNDISClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_class_si.xml b/LUFA/StudioIntegration/lufa_drivers_usb_class_si.xml new file mode 100644 index 0000000000..eb0786ceae --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_class_si.xml @@ -0,0 +1,56 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework integration file --> + +<lufa> + <asf> + <select-by-config id="lufa.drivers.usb.class.si" name="lufa.drivers.usb.class.si.mode" default="host" caption="LUFA USB Class Driver - Still Image"> + <build type="doxygen-entry-point" value="Group_USBClassSI"/> + + <info type="gui-flag" value="hidden"/> + + <module type="service" id="lufa.drivers.usb.class.si#host" caption="LUFA USB Class Driver - Still Image (Host)"> + <info type="description" value="summary"> + Common definitions and Host mode implementation of the Still Image USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassSI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/StillImageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/StillImageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/StillImageClassHost.h"/> + <build type="c-source" value="Drivers/USB/Class/Host/StillImageClassHost.c"/> + </module> + + <module type="service" id="lufa.drivers.usb.class.si#definitions_only" caption="LUFA USB Class Driver - Still Image (Definitions Only)"> + <info type="description" value="summary"> + Common definitions only (no implementations) of the Still Image USB class. + </info> + + <build type="doxygen-entry-point" value="Group_USBClassSI"/> + + <info type="gui-flag" value="hidden"/> + + <device-support-alias value="lufa_avr8"/> + <device-support-alias value="lufa_xmega"/> + <device-support-alias value="lufa_uc3"/> + + <build type="header-file" value="Drivers/USB/Class/StillImageClass.h"/> + <build type="header-file" value="Drivers/USB/Class/Common/StillImageClassCommon.h"/> + <build type="header-file" value="Drivers/USB/Class/Host/StillImageClassHost.h"/> + </module> + </select-by-config> + </asf> +</lufa> diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_core.xml b/LUFA/StudioIntegration/lufa_drivers_usb_core.xml new file mode 100644 index 0000000000..095bcd2798 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_core.xml @@ -0,0 +1,85 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common">
+ <device-support-alias value="lufa_avr8"/>
+ <device-support-alias value="lufa_xmega"/>
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="header-file" value="Drivers/USB/Core/Device.h"/>
+ <build type="header-file" value="Drivers/USB/Core/Endpoint.h"/>
+ <build type="header-file" value="Drivers/USB/Core/Host.h"/>
+ <build type="header-file" value="Drivers/USB/Core/Pipe.h"/>
+ <build type="header-file" value="Drivers/USB/Core/OTG.h"/>
+ <build type="header-file" value="Drivers/USB/Core/USBController.h"/>
+ <build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/>
+ <build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/>
+ <build type="header-file" value="Drivers/USB/Core/PipeStream.h"/>
+ <build type="c-source" value="Drivers/USB/Core/ConfigDescriptors.c"/>
+ <build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/>
+ <build type="c-source" value="Drivers/USB/Core/DeviceStandardReq.c"/>
+ <build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/>
+ <build type="c-source" value="Drivers/USB/Core/Events.c"/>
+ <build type="header-file" value="Drivers/USB/Core/Events.h"/>
+ <build type="c-source" value="Drivers/USB/Core/HostStandardReq.c"/>
+ <build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/>
+ <build type="c-source" value="Drivers/USB/Core/USBTask.c"/>
+ <build type="header-file" value="Drivers/USB/Core/USBTask.h"/>
+ <build type="header-file" value="Drivers/USB/Core/USBMode.h"/>
+ <build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/>
+ <build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/>
+
+ <build type="c-source" value="Drivers/USB/Class/Common/HIDParser.c"/>
+ <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/>
+ <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/>
+ </module>
+
+ <select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver">
+ <module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+ <require idref="lufa.drivers.usb.core.common"/>
+ <require idref="lufa.drivers.usb.core.avr8"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+ <require idref="lufa.drivers.usb.core.common"/>
+ <require idref="lufa.drivers.usb.core.xmega"/>
+ </module>
+
+ <module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+ <require idref="lufa.drivers.usb.core.common"/>
+ <require idref="lufa.drivers.usb.core.uc3"/>
+ </module>
+ </select-by-device>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml b/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml new file mode 100644 index 0000000000..b2792cb2f7 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml @@ -0,0 +1,43 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Device_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Host_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/>
+ <build type="c-source" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/>
+ <build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml b/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml new file mode 100644 index 0000000000..d815fca449 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml @@ -0,0 +1,42 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+ <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Device_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Host_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/Pipe_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/USBController_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/>
+ <build type="c-source" value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/>
+ <build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml b/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml new file mode 100644 index 0000000000..364a0f3ed5 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml @@ -0,0 +1,36 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/>
+ <build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/>
+ <build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/>
+ <build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/>
+ <build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/>
+ <build type="c-source" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/>
+ <build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_platform.xml b/LUFA/StudioIntegration/lufa_platform.xml new file mode 100644 index 0000000000..e20b718fb0 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_platform.xml @@ -0,0 +1,60 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <select-by-device id="lufa.platform" caption="LUFA Platform Specific Support">
+ <module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8">
+ <device-support-alias value="lufa_avr8"/>
+
+ <build type="define" name="ARCH" value="ARCH_AVR8"/>
+
+ <build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+ <require idref="lufa.common"/>
+ </module>
+
+ <module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA">
+ <device-support-alias value="lufa_xmega"/>
+
+ <build type="define" name="ARCH" value="ARCH_XMEGA"/>
+
+ <build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+ <build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/>
+
+ <require idref="lufa.platform.xmega"/>
+ <require idref="lufa.common"/>
+ </module>
+
+ <module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3">
+ <device-support-alias value="lufa_uc3"/>
+
+ <build type="define" name="ARCH" value="ARCH_UC3"/>
+
+ <build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+ <build type="include-path" value=".."/>
+ <build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+ <build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/>
+
+ <require idref="lufa.platform.uc3"/>
+ <require idref="lufa.common"/>
+ </module>
+ </select-by-device>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_platform_uc3.xml b/LUFA/StudioIntegration/lufa_platform_uc3.xml new file mode 100644 index 0000000000..8c26d2304f --- /dev/null +++ b/LUFA/StudioIntegration/lufa_platform_uc3.xml @@ -0,0 +1,26 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers">
+ <device-support-alias value="lufa_uc3"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/>
+
+ <build type="header-file" value="Platform/UC3/ClockManagement.h"/>
+ <build type="header-file" value="Platform/UC3/InterruptManagement.h"/>
+ <build type="c-source" value="Platform/UC3/InterruptManagement.c"/>
+ <build type="asm-source" value="Platform/UC3/Exception.S"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_platform_xmega.xml b/LUFA/StudioIntegration/lufa_platform_xmega.xml new file mode 100644 index 0000000000..299c859662 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_platform_xmega.xml @@ -0,0 +1,23 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf xmlversion="1.0">
+ <module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers">
+ <device-support-alias value="lufa_xmega"/>
+
+ <info type="gui-flag" value="hidden"/>
+
+ <build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/>
+
+ <build type="header-file" value="Platform/XMEGA/ClockManagement.h"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/lufa_toolchain.xml b/LUFA/StudioIntegration/lufa_toolchain.xml new file mode 100644 index 0000000000..66b416e28b --- /dev/null +++ b/LUFA/StudioIntegration/lufa_toolchain.xml @@ -0,0 +1,45 @@ +<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2017.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+ <asf>
+ <select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults">
+ <module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR">
+ <info type="gui-flag" value="hidden"/>
+ <device-support value="avr"/>
+
+ <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/>
+ <toolchain-config name="avrgcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avrgcc"/>
+ </module>
+ </select-by-device>
+
+ <module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR">
+ <info type="gui-flag" value="hidden"/>
+ <device-support value="uc3"/>
+
+ <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/>
+ <toolchain-config name="avr32gcc.linker.miscellaneous.LinkerFlags" value="-Wl,--relax" toolchain="avr32gcc"/>
+ </module>
+ </asf>
+</lufa>
diff --git a/LUFA/StudioIntegration/makefile b/LUFA/StudioIntegration/makefile new file mode 100644 index 0000000000..30483e9cb5 --- /dev/null +++ b/LUFA/StudioIntegration/makefile @@ -0,0 +1,142 @@ +# +# LUFA Library +# Copyright (C) Dean Camera, 2017. +# +# dean [at] fourwalledcubicle [dot] com +# www.lufa-lib.org +# +# --------------------------------------- +# Makefile for the LUFA Atmel Studio Integration. +# --------------------------------------- + +LUFA_ROOT := .. +LUFA_VERSION_NUM := $(shell grep -e "\#define *LUFA_VERSION_STRING " $(LUFA_ROOT)/Version.h | cut -d'"' -f2) +LUFA_VERSION_TYPE := $(shell grep -e "\#define *LUFA_VERSION_RELEASE_TYPE " $(LUFA_ROOT)/Version.h) + +ifneq ($(findstring LUFA_VERSION_RELEASE_TYPE_DEVELOPMENT, $(LUFA_VERSION_TYPE)),LUFA_VERSION_RELEASE_TYPE_DEVELOPMENT) + EXT_VERSION_NUM := $(shell date +"%y.%m.%d").$(LUFA_VERSION_NUM) + EXT_VSIX_NAME := LUFA-RELEASE-$(LUFA_VERSION_NUM).vsix +else + EXT_VERSION_NUM := 0.$(shell date +"%y%m%d.%H%M%S") + EXT_VSIX_NAME := LUFA-TESTING-$(shell date +"%y.%m.%d-%H.%M.%S").vsix + + $(warning Development mode set - assuming a test version should be created.) +endif + +DOXYGEN_TAG_FILE_XML := $(LUFA_ROOT)/Documentation/lufa_doc_tags.xml +DOXYGEN_COMBINED_XML := $(LUFA_ROOT)/Documentation/xml/lufa_doc.xml +TEMP_MANIFEST_XML := manifest.xml +EXTENSION_OUTPUT_XML := $(LUFA_ROOT)/../extension.xml +MODULE_OUTPUT_XML := $(LUFA_ROOT)/asf.xml +MSHELP_OUTPUT_XML := $(LUFA_ROOT)/../lufa_help_$(subst .,_,$(EXT_VERSION_NUM)).mshc +XML_FILES := $(filter-out $(TEMP_MANIFEST_FILE), $(shell ls *.xml)) +VSIX_ASSETS := $(LUFA_ROOT)/DoxygenPages/Images/LUFA_thumb.png \ + $(LUFA_ROOT)/DoxygenPages/Images/LUFA.png \ + $(LUFA_ROOT)/License.txt \ + VSIX/"[Content_Types].xml" \ + VSIX/LUFA.dll \ + VSIX/LUFA.pkgdef +VSIX_GEN_PARAMS := --stringparam extension-version "$(EXT_VERSION_NUM)" \ + --stringparam lufa-version "$(LUFA_VERSION_NUM)" \ + --stringparam help-package-filename "$(notdir $(MSHELP_OUTPUT_XML))" +MSHELP_GEN_PARAMS := --stringparam generate.toc "book toc" \ + --stringparam chunk.quietly "1" \ + --stringparam chunk.section.depth "3" \ + --stringparam chunk.first.sections "1" \ + --stringparam chapter.autolabel "0" \ + --stringparam root.filename "LUFA" \ + --stringparam html.stylesheet "lufa_studio_help_styling.css" + +all: clear_project_dirs generate_xml check_filenames generate_vsix + +clear_project_dirs: + @make -s -C $(LUFA_ROOT)/.. clean + +clean: + @rm -f $(TEMP_MANIFEST_XML) $(MODULE_OUTPUT_XML) $(EXTENSION_OUTPUT_XML) $(DOXYGEN_TAG_FILE_XML) $(DOXYGEN_COMBINED_XML) $(MSHELP_OUTPUT_XML) + @rm -rf mshelp + @cd $(LUFA_ROOT)/.. && rm -f contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml helpcontentsetup.msha $(notdir $(VSIX_ASSETS)) *.vsix *.mshc + +$(DOXYGEN_TAG_FILE_XML): + @make -C ../ doxygen DOXYGEN_OVERRIDE_PARAMS="GENERATE_TAGFILE=Documentation/lufa_doc_tags.xml GENERATE_HTML=no GENERATE_XML=yes" + +$(DOXYGEN_COMBINED_XML): $(DOXYGEN_TAG_FILE_XML) + @xsltproc $(dir $@)/combine.xslt $(dir $@)/index.xml > $(DOXYGEN_COMBINED_XML) + +$(TEMP_MANIFEST_XML): $(DOXYGEN_TAG_FILE_XML) $(DOXYGEN_COMBINED_XML) + @echo Generating temporary module manifest XML... + + @printf "<lufa-manifest version=\"%s\" tagfile=\"%s\" docfile=\"%s\">\n" $(LUFA_VERSION_NUM) $(DOXYGEN_TAG_FILE_XML) $(DOXYGEN_COMBINED_XML) > $@ + @for i in $(XML_FILES); do \ + printf "\t<xml-source filename=\"%s\"/>\n" $$i >> $@; \ + done; + @echo '</lufa-manifest>' >> $@ + +$(MODULE_OUTPUT_XML): $(TEMP_MANIFEST_XML) + @echo Generating library core XDK module manifest file... + @xsltproc XDK/lufa_module_transform.xslt $< | xsltproc XDK/lufa_indent_transform.xslt - > $(MODULE_OUTPUT_XML) + +$(EXTENSION_OUTPUT_XML): $(TEMP_MANIFEST_XML) + @echo Generating library XDK extension manifest file... + @xsltproc XDK/lufa_extension_transform.xslt $< | xsltproc XDK/lufa_indent_transform.xslt - > $(EXTENSION_OUTPUT_XML) + +$(MSHELP_OUTPUT_XML): $(DOXYGEN_COMBINED_XML) + @echo Converting Doxygen XML to DocBook... + @-mkdir mshelp 2> /dev/null + @xsltproc HV1/lufa_docbook_transform.xslt $(DOXYGEN_COMBINED_XML) > mshelp/lufa_docbook.xml + + @echo Converting DocBook XML to Microsoft Help 1.0... + @cd mshelp && xsltproc $(MSHELP_GEN_PARAMS) ../HV1/lufa_hv1_transform.xslt lufa_docbook.xml + + @echo Copying help assets... + @cp HV1/lufa_studio_help_styling.css mshelp + @-mkdir mshelp/images 2> /dev/null + @cp `find $(LUFA_ROOT)/DoxygenPages/Images -type f` mshelp/images + + @echo Archiving help content... + @cd mshelp && zip ../$(MSHELP_OUTPUT_XML) -q -0 -r *.html *.css images + + @echo Generating HV1 manifest... + @xsltproc $(VSIX_GEN_PARAMS) HV1/lufa_helpcontentsetup_transform.xslt HV1/helpcontentsetup.msha > $(LUFA_ROOT)/../helpcontentsetup.msha + +generate_help: $(MSHELP_OUTPUT_XML) + +generate_xml: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML) + +generate_vsix: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML) $(MSHELP_OUTPUT_XML) + @echo Generating XDK cache files... + @rm -f $(LUFA_ROOT)/../content.xml.cache + @rm -f $(LUFA_ROOT)/../ExampleProjects.xml + @python VSIX/generate_caches.py $(LUFA_ROOT)/../ + + @echo Archiving XDK content... + @rm -f contents.zip + @cd $(LUFA_ROOT)/../ && zip contents.zip -q -0 -r --exclude=*Documentation* --exclude=*StudioIntegration* LUFA Bootloaders Demos Projects README.txt + + @echo Creating VSIX dependencies... + @cp $(VSIX_ASSETS) $(LUFA_ROOT)/.. + @xsltproc $(VSIX_GEN_PARAMS) VSIX/lufa_vsmanifest_transform.xslt VSIX/extension.vsixmanifest > $(LUFA_ROOT)/../extension.vsixmanifest + @xsltproc $(VSIX_GEN_PARAMS) VSIX/lufa_asfmanifest_transform.xslt VSIX/asf-manifest.xml > $(LUFA_ROOT)/../asf-manifest.xml + + @echo Generating Atmel Studio VSIX file... + cd $(LUFA_ROOT)/../ && zip $(EXT_VSIX_NAME) -q -9 contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml helpcontentsetup.msha $(notdir $(MSHELP_OUTPUT_XML)) $(notdir $(VSIX_ASSETS)) + + @echo "Atmel Studio VSIX extension file generated." + +check_filenames: $(MODULE_OUTPUT_XML) + @echo Verifying referenced filenames of XDK modules... + @for f in `find $(LUFA_ROOT)/../ -name "asf.xml"`; do \ + echo "Checking $$f..."; \ + asf_file_dir=`dirname $$f`; \ + xsltproc XDK/lufa_filelist_transform.xslt $$f | sed -e "/^$$/d" | while read -r i; do \ + if ( ( ! test -f "$$asf_file_dir/$$i" ) && ( ! test -d "$$asf_file_dir/$$i" ) ); then \ + echo "Source file \"$$i\" referenced in $$f does not exist!"; \ + exit 1; \ + fi; \ + done || exit 1; \ + done; + +check_database: + python ProjectGenerator/project_generator.py -b $(LUFA_ROOT)/../ --main-ext-uuid=0e160d5c-e331-48d9-850b-e0387912171b CHECK + +.PHONY: all clean generate_help generate_xml generate_vsix check_filenames check_database |