Implemented "verbatim" notes under "configs".

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@16284 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2023-06-15 11:54:50 +00:00
parent 6cd76684df
commit cadf956f85
2 changed files with 28 additions and 20 deletions

View File

@ -365,12 +365,10 @@ ${s}
* @name Configuration options * @name Configuration options
* @{ * @{
*/ */
[#list configs.* as this] [#list configs.config as config]
[#if this?node_name == "config"] [@doxygen.EmitFullCommentFromNode indent="" node=config /]
[@doxygen.EmitFullCommentFromNode "" this /] [@GenerateConfigFromNode node=config /]
[@GenerateConfigFromNode this /] [#if !config?is_last]
[/#if]
[#if !this?is_last]
[/#if] [/#if]
[/#list] [/#list]
@ -385,22 +383,30 @@ ${s}
--] --]
[#macro GenerateConfigAssertsFromNode node=[]] [#macro GenerateConfigAssertsFromNode node=[]]
[#local configs = node] [#local configs = node]
[#list configs.config as config] [#list configs.* as this]
[#local name = (config.@name[0]!"no-name")?trim] [#if this?node_name == "config"]
[#if config.assert[0]??] [#local name = (this.@name[0]!"no-name")?trim]
[#if this.assert[0]??]
/* Checks on ${name} configuration.*/ /* Checks on ${name} configuration.*/
[#list config.assert as assert] [#list this.assert as assert]
[#local invalid = (assert.@invalid[0]!"TRUE")?replace("$N", name) [#local invalid = (assert.@invalid[0]!"TRUE")?replace("$N", name)
message = assert[0]?trim?replace("$N", name) /] message = assert[0]?trim?replace("$N", name) /]
#if ${invalid} #if ${invalid}
[#if message?length > 0] [#if message?length > 0]
#error "${message}" #error "${message}"
[#else] [#else]
#error "invalid ${name} value" #error "invalid ${name} value"
[/#if] [/#if]
#endif #endif
[/#list] [/#list]
[/#if]
[#elseif this?node_name == "verbatim"]
[#local ccode = (this[0]!"")?trim]
[#if ccode?length > 0]
[@GenerateIndentedCCode "" ccode /]
[/#if]
[/#if] [/#if]
[/#list] [/#list]
[/#macro] [/#macro]

View File

@ -105,10 +105,12 @@
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:complexType name="configsType"> <xs:complexType name="configsType">
<xs:sequence> <xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="config" type="configType" <xs:element name="config" type="configType" maxOccurs="1"
maxOccurs="unbounded" minOccurs="0"></xs:element> minOccurs="1">
</xs:sequence> </xs:element>
<xs:element name="verbatim" type="xs:string" maxOccurs="1" minOccurs="1"></xs:element>
</xs:choice>
</xs:complexType> </xs:complexType>
<xs:complexType name="includesType"> <xs:complexType name="includesType">
<xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:choice maxOccurs="unbounded" minOccurs="0">