From ab4703c491d8cbc4848d43902857adcfb8768a87 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 12 Jul 2012 14:02:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4463 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- tools/gencfg/lib/libcode.ftl | 67 +++++++++++++++++++++++++++++++++++---- tools/gencfg/lib/libstm32f4xx.ftl | 50 +++++++++++++---------------- 2 files changed, 83 insertions(+), 34 deletions(-) (limited to 'tools/gencfg/lib') 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,15 +43,70 @@ [#-- -- 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. --] 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] -- cgit v1.2.3