aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gencfg/lib
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-07-12 14:02:44 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-07-12 14:02:44 +0000
commitab4703c491d8cbc4848d43902857adcfb8768a87 (patch)
tree816018991151954ddc2f25208c9c0650513e3039 /tools/gencfg/lib
parent21b1517adff201b9669518ae30d2cd6cd2a3b75c (diff)
downloadChibiOS-ab4703c491d8cbc4848d43902857adcfb8768a87.tar.gz
ChibiOS-ab4703c491d8cbc4848d43902857adcfb8768a87.tar.bz2
ChibiOS-ab4703c491d8cbc4848d43902857adcfb8768a87.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4463 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'tools/gencfg/lib')
-rw-r--r--tools/gencfg/lib/libcode.ftl67
-rw-r--r--tools/gencfg/lib/libstm32f4xx.ftl50
2 files changed, 83 insertions, 34 deletions
diff --git a/tools/gencfg/lib/libcode.ftl b/tools/gencfg/lib/libcode.ftl
index 8147e02c4..45b94a320 100644
--- a/tools/gencfg/lib/libcode.ftl
+++ b/tools/gencfg/lib/libcode.ftl
@@ -31,11 +31,11 @@
[#--
-- This macro generates a brief description in DoxyGen format.
--]
-[#macro EmitDoxygenBrief brief=[]]
- [#if brief[0]??]
+[#macro EmitDoxygenBrief object=[]]
+ [#if object.brief[0]??]
[@utils.FormatStringAsText " * @brief "
" * "
- utils.WithDot(brief[0]?cap_first)
+ utils.WithDot(object.brief[0]?cap_first)
boundary /]
[/#if]
[/#macro]
@@ -43,16 +43,71 @@
[#--
-- This macro generates a detailed description in DoxyGen format.
--]
-[#macro EmitDoxygenDetails details=[]]
- [#if details[0]??]
+[#macro EmitDoxygenDetails object=[]]
+ [#if object.details[0]??]
[@utils.FormatStringAsText " * @details "
" * "
- utils.WithDot(details[0]?cap_first)
+ utils.WithDot(object.details[0]?cap_first)
boundary /]
[/#if]
[/#macro]
[#--
+ -- This macro generates a notes list in DoxyGen format.
+ --]
+[#macro EmitDoxygenNotes object=[]]
+ [#list object.* as note]
+ [#if note?node_name == "note"]
+ [@utils.FormatStringAsText " * @note "
+ " * "
+ utils.WithDot(note[0]?cap_first)
+ boundary /]
+ [/#if]
+ [/#list]
+[/#macro]
+
+[#--
+ -- This macro generates a pre-requisites list in DoxyGen format.
+ --]
+[#macro EmitDoxygenPrerequisites object=[]]
+ [#list object.* as pre]
+ [#if pre?node_name == "pre"]
+ [@utils.FormatStringAsText " * @pre "
+ " * "
+ utils.WithDot(pre[0]?cap_first)
+ boundary /]
+ [/#if]
+ [/#list]
+[/#macro]
+
+[#--
+ -- This macro generates a post-requisites list in DoxyGen format.
+ --]
+[#macro EmitDoxygenPostrequisites object=[]]
+ [#list object.* as post]
+ [#if post?node_name == "post"]
+ [@utils.FormatStringAsText " * @post "
+ " * "
+ utils.WithDot(post[0]?cap_first)
+ boundary /]
+ [/#if]
+ [/#list]
+[/#macro]
+
+[#--
+ -- This macro generates a complete Doxygen documentation comment.
+ --]
+[#macro EmitDoxygenDocumentationComment object=[]]
+/**
+ [@code.EmitDoxygenBrief object /]
+ [@code.EmitDoxygenDetails object /]
+ [@code.EmitDoxygenPrerequisites object /]
+ [@code.EmitDoxygenPostrequisites object /]
+ [@code.EmitDoxygenNotes object /]
+ */
+[/#macro]
+
+[#--
-- This macro generates the parameters description in DoxyGen format.
--]
[#macro EmitDoxygenParams params=[]]
diff --git a/tools/gencfg/lib/libstm32f4xx.ftl b/tools/gencfg/lib/libstm32f4xx.ftl
index 2a541606d..81b8f987c 100644
--- a/tools/gencfg/lib/libstm32f4xx.ftl
+++ b/tools/gencfg/lib/libstm32f4xx.ftl
@@ -23,51 +23,45 @@
-- Emits the STM32F4xx ADC driver constant configuration structures.
--]
[#macro EmitADCConfig config]
- [#local cfg_name = config.@name[0]?string /]
-/**
- [@code.EmitDoxygenBrief config.@brief /]
- [@code.EmitDoxygenDetails config.details /]
- */
+ [#local cfg_name = config.name[0]?string /]
+ [@code.EmitDoxygenDocumentationComment config /]
const ADCConfig ${cfg_name} = {0};
[#list config.groups.group as group]
- [#local grpcfg_name = group.@name[0]?string /]
-/**
- [@code.EmitDoxygenBrief group.@brief /]
- [@code.EmitDoxygenDetails group.details /]
- */
+ [#local grpcfg_name = group.name[0]?string /]
+ [@code.EmitDoxygenDocumentationComment group /]
const ADCGroupConfig ${grpcfg_name} = {
/* Circular conversion flag.*/
- ${group.@circular[0]?string?upper_case},
+ ${group.circular[0]?string?upper_case},
/* Number of channels sampled in the conversion group.*/
${group.channels_sequence.channel?size},
/* End of conversion callback or NULL.*/
- [#if group.@conversion_callback[0]?string?trim == ""]
+ [#if group.conv_callback[0]?string?trim == ""]
NULL,
[#else]
- ${group.@conversion_callback[0]?string?trim},
+ ${group.conv_callback[0]?string?trim},
[/#if]
/* Error callback or NULL.*/
- [#if group.@error_callback[0]?string?trim == ""]
+ [#if group.error_callback[0]?string?trim == ""]
NULL,
[#else]
- ${group.@error_callback[0]?string?trim},
+ ${group.error_callback[0]?string?trim},
[/#if]
/* CR1 register initialization value.*/
- [#local resolution = group.@resolution[0]?word_list[0]?number /]
+ [#local resolution = group.resolution[0]?word_list[0]?number /]
[#local cr1 = "ADC_CR1_RESOLUTION_N(" + resolution?string + ")" /]
- [#local discnum = group.@discontinuous_number[0]?word_list[0]?number /]
- [#local cr1 = cr1 + " | ADC_CR1_DISCNUM_N(" + (discnum - 1)?string + ")" /]
- [#if group.@discontinuous_mode[0]?string == "true"]
+ [#local disc = group.discontinuous[0]?word_list[0]?number /]
+ [#if disc > 0]
[#local cr1 = cr1 + " | ADC_CR1_DISCEN" /]
+ [#local cr1 = cr1 + " | ADC_CR1_DISCNUM_N(" + (disc - 1)?string + ")" /]
[/#if]
${cr1},
/* CR2 register initialization value.*/
- [#local exten = group.@trigger_mode[0]?word_list[0]?number /]
+ [#local exten = group.trigger_mode[0]?word_list[0]?number /]
[#local cr2 = "ADC_CR1_EXTEN_N(" + exten?string + ")" /]
- [#local extsel = group.@trigger_source[0]?word_list[0]?number /]
+ [#local extsel = group.trigger_source[0]?word_list[0]?number /]
[#local cr2 = cr2 + " | ADC_CR1_EXSEL_N(" + extsel?string + ")" /]
- [#if group.@alignment[0]?word_list[0]?number != 0]
+ [#if group.alignment[0]?word_list[0]?number != 0]
[#local cr2 = cr2 + " | ADC_CR2_ALIGN" /]
[/#if]
${cr2},
@@ -131,19 +125,19 @@ const ADCGroupConfig ${grpcfg_name} = {
-- Emits the STM32F4xx ADC driver configuration external declarations.
--]
[#macro EmitADCConfigExtern config]
- [#local cfg_name = config.@name[0]?string /]
+ [#local cfg_name = config.name[0]?string /]
[#list config.groups.group as group]
- [#local grpcfg_name = group.@name[0]?string /]
+ [#local grpcfg_name = group.name[0]?string /]
[#-- Only emits the comment if there is at least a callback defined.--]
/* ADC configuration "${cfg_name}".*/
extern const ADCConfig ${cfg_name};
/* ADC conversion group "${grpcfg_name}".*/
extern const ADCGroupConfig ${grpcfg_name};
- [#if group.@conversion_callback[0]?string?trim != ""]
- void ${group.@conversion_callback[0]?string?trim}(ADCDriver *, adcsample_t *, size_t);
+ [#if group.conv_callback[0]?string?trim != ""]
+ void ${group.conv_callback[0]?string?trim}(ADCDriver *, adcsample_t *, size_t);
[/#if]
- [#if group.@error_callback[0]?string?trim != ""]
- void ${group.@error_callback[0]?string?trim}(ADCDriver *, adcerror_t);
+ [#if group.error_callback[0]?string?trim != ""]
+ void ${group.error_callback[0]?string?trim}(ADCDriver *, adcerror_t);
[/#if]
[/#list]