Merge branch 'generalizations' into efm32
Conflicts: Makefile
This commit is contained in:
commit
47c69695ce
|
@ -6,10 +6,14 @@
|
||||||
*.srec
|
*.srec
|
||||||
*.a
|
*.a
|
||||||
*.elf
|
*.elf
|
||||||
|
lib/*.ld
|
||||||
*.swp
|
*.swp
|
||||||
\#*
|
\#*
|
||||||
.\#*
|
.\#*
|
||||||
*~
|
*~
|
||||||
*.map
|
*.map
|
||||||
*.log
|
*.log
|
||||||
doxygen/
|
html/
|
||||||
|
latex/
|
||||||
|
*.pdf
|
||||||
|
|
||||||
|
|
16
Makefile
16
Makefile
|
@ -39,7 +39,13 @@ all: build
|
||||||
|
|
||||||
build: lib examples
|
build: lib examples
|
||||||
|
|
||||||
lib:
|
generatedheaders:
|
||||||
|
@printf " UPDATING HEADERS\n"
|
||||||
|
$(Q)for yamlfile in `find -name 'irq.yaml'`; do \
|
||||||
|
./scripts/irq2nvic_h $$yamlfile ; \
|
||||||
|
done
|
||||||
|
|
||||||
|
lib: generatedheaders
|
||||||
$(Q)for i in $(addprefix $@/,$(TARGETS)); do \
|
$(Q)for i in $(addprefix $@/,$(TARGETS)); do \
|
||||||
if [ -d $$i ]; then \
|
if [ -d $$i ]; then \
|
||||||
printf " BUILD $$i\n"; \
|
printf " BUILD $$i\n"; \
|
||||||
|
@ -68,8 +74,8 @@ install: lib
|
||||||
@printf " INSTALL scripts\n"
|
@printf " INSTALL scripts\n"
|
||||||
$(Q)$(INSTALL) -m 0644 scripts/* $(SHAREDIR)
|
$(Q)$(INSTALL) -m 0644 scripts/* $(SHAREDIR)
|
||||||
|
|
||||||
doxy:
|
doc:
|
||||||
doxygen Doxyfile
|
$(Q)$(MAKE) -C doc doc
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(Q)for i in $(addprefix lib/,$(TARGETS)) \
|
$(Q)for i in $(addprefix lib/,$(TARGETS)) \
|
||||||
|
@ -80,7 +86,7 @@ clean:
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
@printf " CLEAN doxygen\n"
|
@printf " CLEAN doxygen\n"
|
||||||
$(Q)rm -rf doxygen
|
$(Q)$(MAKE) -C doc clean
|
||||||
|
|
||||||
.PHONY: build lib examples install doxy clean
|
.PHONY: build lib examples install doc clean
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Doxygen include file to generate top level entry document
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ./Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
INPUT = ../include/libopencm3/docmain.dox
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout.xml
|
||||||
|
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
|
||||||
|
TAGFILES = ./cm3/cm3.tag=../cm3/html \
|
||||||
|
./stm32/stm32.tag=../stm32/html \
|
||||||
|
./stm32f1/stm32f1.tag=../stm32f1/html \
|
||||||
|
./stm32f4/stm32f4.tag=../stm32f4/html \
|
||||||
|
./lm3s/lm3s.tag=../lm3s/html \
|
||||||
|
./lpc13xx/lpc13xx.tag=../lpc13xx/html \
|
||||||
|
./lpc17xx/lpc17xx.tag=../lpc17xx/html \
|
||||||
|
./lpc43xx/lpc43xx.tag=../lpc43xx/html
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Doxyfile 1.7.4
|
# Doxyfile 1.8.2
|
||||||
|
|
||||||
# This file describes the settings to be used by the documentation system
|
# This file describes the settings to be used by the documentation system
|
||||||
# doxygen (www.doxygen.org) for a project.
|
# doxygen (www.doxygen.org) for a project.
|
||||||
|
@ -22,8 +22,9 @@
|
||||||
|
|
||||||
DOXYFILE_ENCODING = UTF-8
|
DOXYFILE_ENCODING = UTF-8
|
||||||
|
|
||||||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
# The PROJECT_NAME tag is a single word (or sequence of words) that should
|
||||||
# by quotes) that should identify the project.
|
# identify the project. Note that if you do not use Doxywizard you need
|
||||||
|
# to put quotes around the project name if it contains spaces.
|
||||||
|
|
||||||
PROJECT_NAME = libopencm3
|
PROJECT_NAME = libopencm3
|
||||||
|
|
||||||
|
@ -51,7 +52,7 @@ PROJECT_LOGO =
|
||||||
# If a relative path is entered, it will be relative to the location
|
# If a relative path is entered, it will be relative to the location
|
||||||
# where doxygen was started. If left blank the current directory will be used.
|
# where doxygen was started. If left blank the current directory will be used.
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = doxygen
|
OUTPUT_DIRECTORY =
|
||||||
|
|
||||||
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
|
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
|
||||||
# 4096 sub-directories (in 2 levels) under the output directory of each output
|
# 4096 sub-directories (in 2 levels) under the output directory of each output
|
||||||
|
@ -118,14 +119,16 @@ INLINE_INHERITED_MEMB = NO
|
||||||
# path before files name in the file list and in the header files. If set
|
# path before files name in the file list and in the header files. If set
|
||||||
# to NO the shortest path that makes the file name unique will be used.
|
# to NO the shortest path that makes the file name unique will be used.
|
||||||
|
|
||||||
FULL_PATH_NAMES = YES
|
FULL_PATH_NAMES = NO
|
||||||
|
|
||||||
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
||||||
# can be used to strip a user-defined part of the path. Stripping is
|
# can be used to strip a user-defined part of the path. Stripping is
|
||||||
# only done if one of the specified strings matches the left-hand part of
|
# only done if one of the specified strings matches the left-hand part of
|
||||||
# the path. The tag can be used to show relative paths in the file list.
|
# the path. The tag can be used to show relative paths in the file list.
|
||||||
# If left blank the directory from which doxygen is run is used as the
|
# If left blank the directory from which doxygen is run is used as the
|
||||||
# path to strip.
|
# path to strip. Note that you specify absolute paths here, but also
|
||||||
|
# relative paths, which will be relative from the directory where doxygen is
|
||||||
|
# started.
|
||||||
|
|
||||||
STRIP_FROM_PATH =
|
STRIP_FROM_PATH =
|
||||||
|
|
||||||
|
@ -194,6 +197,13 @@ TAB_SIZE = 8
|
||||||
|
|
||||||
ALIASES =
|
ALIASES =
|
||||||
|
|
||||||
|
# This tag can be used to specify a number of word-keyword mappings (TCL only).
|
||||||
|
# A mapping has the form "name=value". For example adding
|
||||||
|
# "class=itcl::class" will allow you to use the command class in the
|
||||||
|
# itcl::class meaning.
|
||||||
|
|
||||||
|
TCL_SUBST =
|
||||||
|
|
||||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
|
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
|
||||||
# sources only. Doxygen will then generate output that is more tailored for C.
|
# sources only. Doxygen will then generate output that is more tailored for C.
|
||||||
# For instance, some of the names that are used will be different. The list
|
# For instance, some of the names that are used will be different. The list
|
||||||
|
@ -221,17 +231,34 @@ OPTIMIZE_FOR_FORTRAN = NO
|
||||||
OPTIMIZE_OUTPUT_VHDL = NO
|
OPTIMIZE_OUTPUT_VHDL = NO
|
||||||
|
|
||||||
# Doxygen selects the parser to use depending on the extension of the files it
|
# Doxygen selects the parser to use depending on the extension of the files it
|
||||||
# parses. With this tag you can assign which parser to use for a given extension.
|
# parses. With this tag you can assign which parser to use for a given
|
||||||
# Doxygen has a built-in mapping, but you can override or extend it using this
|
# extension. Doxygen has a built-in mapping, but you can override or extend it
|
||||||
# tag. The format is ext=language, where ext is a file extension, and language
|
# using this tag. The format is ext=language, where ext is a file extension,
|
||||||
# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
|
# and language is one of the parsers supported by doxygen: IDL, Java,
|
||||||
# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
|
# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
|
||||||
# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
|
# C++. For instance to make doxygen treat .inc files as Fortran files (default
|
||||||
# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
|
# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
|
||||||
# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
|
# that for custom extensions you also need to set FILE_PATTERNS otherwise the
|
||||||
|
# files are not read by doxygen.
|
||||||
|
|
||||||
EXTENSION_MAPPING =
|
EXTENSION_MAPPING =
|
||||||
|
|
||||||
|
# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
|
||||||
|
# comments according to the Markdown format, which allows for more readable
|
||||||
|
# documentation. See http://daringfireball.net/projects/markdown/ for details.
|
||||||
|
# The output of markdown processing is further processed by doxygen, so you
|
||||||
|
# can mix doxygen, HTML, and XML commands with Markdown formatting.
|
||||||
|
# Disable only in case of backward compatibilities issues.
|
||||||
|
|
||||||
|
MARKDOWN_SUPPORT = YES
|
||||||
|
|
||||||
|
# When enabled doxygen tries to link words that correspond to documented classes,
|
||||||
|
# or namespaces to their corresponding documentation. Such a link can be
|
||||||
|
# prevented in individual cases by by putting a % sign in front of the word or
|
||||||
|
# globally by setting AUTOLINK_SUPPORT to NO.
|
||||||
|
|
||||||
|
AUTOLINK_SUPPORT = YES
|
||||||
|
|
||||||
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
|
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
|
||||||
# to include (a tag file for) the STL sources as input, then you should
|
# to include (a tag file for) the STL sources as input, then you should
|
||||||
# set this tag to YES in order to let doxygen match functions declarations and
|
# set this tag to YES in order to let doxygen match functions declarations and
|
||||||
|
@ -252,12 +279,7 @@ CPP_CLI_SUPPORT = NO
|
||||||
|
|
||||||
SIP_SUPPORT = NO
|
SIP_SUPPORT = NO
|
||||||
|
|
||||||
# For Microsoft's IDL there are propget and propput attributes to indicate getter
|
# For Microsoft's IDL there are propget and propput attributes to indicate getter and setter methods for a property. Setting this option to YES (the default) will make doxygen replace the get and set methods by a property in the documentation. This will only work if the methods are indeed getting or setting a simple type. If this is not the case, or you want to show the methods anyway, you should set this option to NO.
|
||||||
# and setter methods for a property. Setting this option to YES (the default)
|
|
||||||
# will make doxygen replace the get and set methods by a property in the
|
|
||||||
# documentation. This will only work if the methods are indeed getting or
|
|
||||||
# setting a simple type. If this is not the case, or you want to show the
|
|
||||||
# methods anyway, you should set this option to NO.
|
|
||||||
|
|
||||||
IDL_PROPERTY_SUPPORT = YES
|
IDL_PROPERTY_SUPPORT = YES
|
||||||
|
|
||||||
|
@ -283,6 +305,15 @@ SUBGROUPING = YES
|
||||||
|
|
||||||
INLINE_GROUPED_CLASSES = NO
|
INLINE_GROUPED_CLASSES = NO
|
||||||
|
|
||||||
|
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
|
||||||
|
# unions with only public data fields will be shown inline in the documentation
|
||||||
|
# of the scope in which they are defined (i.e. file, namespace, or group
|
||||||
|
# documentation), provided this scope is documented. If set to NO (the default),
|
||||||
|
# structs, classes, and unions are shown on a separate page (for HTML and Man
|
||||||
|
# pages) or section (for LaTeX and RTF).
|
||||||
|
|
||||||
|
INLINE_SIMPLE_STRUCTS = NO
|
||||||
|
|
||||||
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
|
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
|
||||||
# is documented as struct, union, or enum with the name of the typedef. So
|
# is documented as struct, union, or enum with the name of the typedef. So
|
||||||
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
|
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
|
||||||
|
@ -305,10 +336,21 @@ TYPEDEF_HIDES_STRUCT = NO
|
||||||
# a logarithmic scale so increasing the size by one will roughly double the
|
# a logarithmic scale so increasing the size by one will roughly double the
|
||||||
# memory usage. The cache size is given by this formula:
|
# memory usage. The cache size is given by this formula:
|
||||||
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
||||||
# corresponding to a cache size of 2^16 = 65536 symbols
|
# corresponding to a cache size of 2^16 = 65536 symbols.
|
||||||
|
|
||||||
SYMBOL_CACHE_SIZE = 0
|
SYMBOL_CACHE_SIZE = 0
|
||||||
|
|
||||||
|
# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
|
||||||
|
# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
|
||||||
|
# their name and scope. Since this can be an expensive process and often the
|
||||||
|
# same symbol appear multiple times in the code, doxygen keeps a cache of
|
||||||
|
# pre-resolved symbols. If the cache is too small doxygen will become slower.
|
||||||
|
# If the cache is too large, memory is wasted. The cache size is given by this
|
||||||
|
# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
||||||
|
# corresponding to a cache size of 2^16 = 65536 symbols.
|
||||||
|
|
||||||
|
LOOKUP_CACHE_SIZE = 0
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Build related configuration options
|
# Build related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -325,6 +367,11 @@ EXTRACT_ALL = YES
|
||||||
|
|
||||||
EXTRACT_PRIVATE = YES
|
EXTRACT_PRIVATE = YES
|
||||||
|
|
||||||
|
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
|
||||||
|
# scope will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_PACKAGE = NO
|
||||||
|
|
||||||
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
# will be included in the documentation.
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
@ -471,7 +518,7 @@ STRICT_PROTO_MATCHING = NO
|
||||||
# disable (NO) the todo list. This list is created by putting \todo
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
# commands in the documentation.
|
# commands in the documentation.
|
||||||
|
|
||||||
GENERATE_TODOLIST = YES
|
GENERATE_TODOLIST = NO
|
||||||
|
|
||||||
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||||
# disable (NO) the test list. This list is created by putting \test
|
# disable (NO) the test list. This list is created by putting \test
|
||||||
|
@ -512,12 +559,6 @@ MAX_INITIALIZER_LINES = 30
|
||||||
|
|
||||||
SHOW_USED_FILES = YES
|
SHOW_USED_FILES = YES
|
||||||
|
|
||||||
# If the sources in your project are distributed over multiple directories
|
|
||||||
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
|
|
||||||
# in the documentation. The default is NO.
|
|
||||||
|
|
||||||
SHOW_DIRECTORIES = YES
|
|
||||||
|
|
||||||
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
||||||
# This will remove the Files entry from the Quick Index and from the
|
# This will remove the Files entry from the Quick Index and from the
|
||||||
# Folder Tree View (if specified). The default is YES.
|
# Folder Tree View (if specified). The default is YES.
|
||||||
|
@ -543,12 +584,22 @@ FILE_VERSION_FILTER =
|
||||||
|
|
||||||
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
||||||
# by doxygen. The layout file controls the global structure of the generated
|
# by doxygen. The layout file controls the global structure of the generated
|
||||||
# output files in an output format independent way. The create the layout file
|
# output files in an output format independent way. To create the layout file
|
||||||
# that represents doxygen's defaults, run doxygen with the -l option.
|
# that represents doxygen's defaults, run doxygen with the -l option.
|
||||||
# You can optionally specify a file name after the option, if omitted
|
# You can optionally specify a file name after the option, if omitted
|
||||||
# DoxygenLayout.xml will be used as the name of the layout file.
|
# DoxygenLayout.xml will be used as the name of the layout file.
|
||||||
|
|
||||||
LAYOUT_FILE =
|
LAYOUT_FILE = DoxygenLayout.xml
|
||||||
|
|
||||||
|
# The CITE_BIB_FILES tag can be used to specify one or more bib files
|
||||||
|
# containing the references data. This must be a list of .bib files. The
|
||||||
|
# .bib extension is automatically appended if omitted. Using this command
|
||||||
|
# requires the bibtex tool to be installed. See also
|
||||||
|
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
|
||||||
|
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
|
||||||
|
# feature you need bibtex and perl available in the search path.
|
||||||
|
|
||||||
|
CITE_BIB_FILES =
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to warning and progress messages
|
# configuration options related to warning and progress messages
|
||||||
|
@ -599,7 +650,7 @@ WARN_FORMAT = "$file:$line: $text"
|
||||||
# and error messages should be written. If left blank the output is written
|
# and error messages should be written. If left blank the output is written
|
||||||
# to stderr.
|
# to stderr.
|
||||||
|
|
||||||
WARN_LOGFILE =
|
WARN_LOGFILE = doxygen.log
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the input files
|
# configuration options related to the input files
|
||||||
|
@ -610,7 +661,7 @@ WARN_LOGFILE =
|
||||||
# directories like "/usr/src/myproject". Separate the files or directories
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
# with spaces.
|
# with spaces.
|
||||||
|
|
||||||
INPUT = include lib
|
INPUT =
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
|
@ -634,15 +685,17 @@ FILE_PATTERNS =
|
||||||
# should be searched for input files as well. Possible values are YES and NO.
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
# If left blank NO is used.
|
# If left blank NO is used.
|
||||||
|
|
||||||
RECURSIVE = YES
|
RECURSIVE = NO
|
||||||
|
|
||||||
# The EXCLUDE tag can be used to specify files and/or directories that should
|
# The EXCLUDE tag can be used to specify files and/or directories that should be
|
||||||
# excluded from the INPUT source files. This way you can easily exclude a
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
# Note that relative paths are relative to the directory from which doxygen is
|
||||||
|
# run.
|
||||||
|
|
||||||
EXCLUDE =
|
EXCLUDE =
|
||||||
|
|
||||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||||||
# directories that are symbolic links (a Unix file system feature) are excluded
|
# directories that are symbolic links (a Unix file system feature) are excluded
|
||||||
# from the input.
|
# from the input.
|
||||||
|
|
||||||
|
@ -744,7 +797,7 @@ INLINE_SOURCES = NO
|
||||||
|
|
||||||
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
# doxygen to hide any special comment blocks from generated source code
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
# fragments. Normal C and C++ comments will always remain visible.
|
# fragments. Normal C, C++ and Fortran comments will always remain visible.
|
||||||
|
|
||||||
STRIP_CODE_COMMENTS = NO
|
STRIP_CODE_COMMENTS = NO
|
||||||
|
|
||||||
|
@ -829,12 +882,13 @@ HTML_FILE_EXTENSION = .html
|
||||||
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
# each generated HTML page. If it is left blank doxygen will generate a
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
# standard header. Note that when using a custom header you are responsible
|
# standard header. Note that when using a custom header you are responsible
|
||||||
# for the proper inclusion of any scripts and style sheets that doxygen
|
# for the proper inclusion of any scripts and style sheets that doxygen
|
||||||
# needs, which is dependent on the configuration options used.
|
# needs, which is dependent on the configuration options used.
|
||||||
# It is adviced to generate a default header using "doxygen -w html
|
# It is advised to generate a default header using "doxygen -w html
|
||||||
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
||||||
# that header. Note that the header is subject to change so you typically
|
# that header. Note that the header is subject to change so you typically
|
||||||
# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW!
|
# have to redo this when upgrading to a newer version of doxygen or when
|
||||||
|
# changing the value of configuration settings such as GENERATE_TREEVIEW!
|
||||||
|
|
||||||
HTML_HEADER =
|
HTML_HEADER =
|
||||||
|
|
||||||
|
@ -846,13 +900,23 @@ HTML_FOOTER =
|
||||||
|
|
||||||
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
|
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
|
||||||
# style sheet that is used by each HTML page. It can be used to
|
# style sheet that is used by each HTML page. It can be used to
|
||||||
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
# fine-tune the look of the HTML output. If left blank doxygen will
|
||||||
# will generate a default style sheet. Note that doxygen will try to copy
|
# generate a default style sheet. Note that it is recommended to use
|
||||||
# the style sheet file to the HTML output directory, so don't put your own
|
# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this
|
||||||
# stylesheet in the HTML output directory as well, or it will be erased!
|
# tag will in the future become obsolete.
|
||||||
|
|
||||||
HTML_STYLESHEET =
|
HTML_STYLESHEET =
|
||||||
|
|
||||||
|
# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional
|
||||||
|
# user-defined cascading style sheet that is included after the standard
|
||||||
|
# style sheets created by doxygen. Using this option one can overrule
|
||||||
|
# certain style aspects. This is preferred over using HTML_STYLESHEET
|
||||||
|
# since it does not replace the standard style sheet and is therefor more
|
||||||
|
# robust against future updates. Doxygen will copy the style sheet file to
|
||||||
|
# the output directory.
|
||||||
|
|
||||||
|
HTML_EXTRA_STYLESHEET =
|
||||||
|
|
||||||
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
||||||
# other source files which should be copied to the HTML output directory. Note
|
# other source files which should be copied to the HTML output directory. Note
|
||||||
# that these files will be copied to the base HTML output directory. Use the
|
# that these files will be copied to the base HTML output directory. Use the
|
||||||
|
@ -863,7 +927,7 @@ HTML_STYLESHEET =
|
||||||
HTML_EXTRA_FILES =
|
HTML_EXTRA_FILES =
|
||||||
|
|
||||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
|
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
|
||||||
# Doxygen will adjust the colors in the stylesheet and background images
|
# Doxygen will adjust the colors in the style sheet and background images
|
||||||
# according to this color. Hue is specified as an angle on a colorwheel,
|
# according to this color. Hue is specified as an angle on a colorwheel,
|
||||||
# see http://en.wikipedia.org/wiki/Hue for more information.
|
# see http://en.wikipedia.org/wiki/Hue for more information.
|
||||||
# For instance the value 0 represents red, 60 is yellow, 120 is green,
|
# For instance the value 0 represents red, 60 is yellow, 120 is green,
|
||||||
|
@ -893,20 +957,23 @@ HTML_COLORSTYLE_GAMMA = 80
|
||||||
|
|
||||||
HTML_TIMESTAMP = YES
|
HTML_TIMESTAMP = YES
|
||||||
|
|
||||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
|
||||||
# files or namespaces will be aligned in HTML using tables. If set to
|
|
||||||
# NO a bullet list will be used.
|
|
||||||
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
|
|
||||||
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
||||||
# documentation will contain sections that can be hidden and shown after the
|
# documentation will contain sections that can be hidden and shown after the
|
||||||
# page has loaded. For this to work a browser that supports
|
# page has loaded.
|
||||||
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
|
|
||||||
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
|
|
||||||
|
|
||||||
HTML_DYNAMIC_SECTIONS = NO
|
HTML_DYNAMIC_SECTIONS = NO
|
||||||
|
|
||||||
|
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
|
||||||
|
# entries shown in the various tree structured indices initially; the user
|
||||||
|
# can expand and collapse entries dynamically later on. Doxygen will expand
|
||||||
|
# the tree to such a level that at most the specified number of entries are
|
||||||
|
# visible (unless a fully collapsed tree already exceeds this amount).
|
||||||
|
# So setting the number of entries 1 will produce a full collapsed tree by
|
||||||
|
# default. 0 is a special value representing an infinite number of entries
|
||||||
|
# and will result in a full expanded tree by default.
|
||||||
|
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
|
|
||||||
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
||||||
# will be generated that can be used as input for Apple's Xcode 3
|
# will be generated that can be used as input for Apple's Xcode 3
|
||||||
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
||||||
|
@ -934,9 +1001,9 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
|
||||||
|
|
||||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||||
|
|
||||||
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
|
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely
|
||||||
# the documentation publisher. This should be a reverse domain-name style
|
# identify the documentation publisher. This should be a reverse domain-name
|
||||||
# string, e.g. com.mycompany.MyDocSet.documentation.
|
# style string, e.g. com.mycompany.MyDocSet.documentation.
|
||||||
|
|
||||||
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
||||||
|
|
||||||
|
@ -1058,19 +1125,14 @@ GENERATE_ECLIPSEHELP = NO
|
||||||
|
|
||||||
ECLIPSE_DOC_ID = org.doxygen.Project
|
ECLIPSE_DOC_ID = org.doxygen.Project
|
||||||
|
|
||||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
|
||||||
# top of each HTML page. The value NO (the default) enables the index and
|
# at top of each HTML page. The value NO (the default) enables the index and
|
||||||
# the value YES disables it.
|
# the value YES disables it. Since the tabs have the same information as the
|
||||||
|
# navigation tree you can set this option to NO if you already set
|
||||||
|
# GENERATE_TREEVIEW to YES.
|
||||||
|
|
||||||
DISABLE_INDEX = NO
|
DISABLE_INDEX = NO
|
||||||
|
|
||||||
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
|
|
||||||
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
|
|
||||||
# documentation. Note that a value of 0 will completely suppress the enum
|
|
||||||
# values from appearing in the overview section.
|
|
||||||
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
|
|
||||||
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
||||||
# structure should be generated to display hierarchical information.
|
# structure should be generated to display hierarchical information.
|
||||||
# If the tag value is set to YES, a side panel will be generated
|
# If the tag value is set to YES, a side panel will be generated
|
||||||
|
@ -1078,13 +1140,17 @@ ENUM_VALUES_PER_LINE = 4
|
||||||
# is generated for HTML Help). For this to work a browser that supports
|
# is generated for HTML Help). For this to work a browser that supports
|
||||||
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
||||||
# Windows users are probably better off using the HTML help feature.
|
# Windows users are probably better off using the HTML help feature.
|
||||||
|
# Since the tree basically has the same information as the tab index you
|
||||||
|
# could consider to set DISABLE_INDEX to NO when enabling this option.
|
||||||
|
|
||||||
GENERATE_TREEVIEW = YES
|
GENERATE_TREEVIEW = YES
|
||||||
|
|
||||||
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
|
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
|
||||||
# and Class Hierarchy pages using a tree view instead of an ordered list.
|
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
|
||||||
|
# documentation. Note that a value of 0 will completely suppress the enum
|
||||||
|
# values from appearing in the overview section.
|
||||||
|
|
||||||
USE_INLINE_TREES = YES
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
|
||||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||||
# used to set the initial width (in pixels) of the frame in which the tree
|
# used to set the initial width (in pixels) of the frame in which the tree
|
||||||
|
@ -1117,7 +1183,7 @@ FORMULA_TRANSPARENT = YES
|
||||||
# (see http://www.mathjax.org) which uses client side Javascript for the
|
# (see http://www.mathjax.org) which uses client side Javascript for the
|
||||||
# rendering instead of using prerendered bitmaps. Use this if you do not
|
# rendering instead of using prerendered bitmaps. Use this if you do not
|
||||||
# have LaTeX installed or if you want to formulas look prettier in the HTML
|
# have LaTeX installed or if you want to formulas look prettier in the HTML
|
||||||
# output. When enabled you also need to install MathJax separately and
|
# output. When enabled you may also need to install MathJax separately and
|
||||||
# configure the path to it using the MATHJAX_RELPATH option.
|
# configure the path to it using the MATHJAX_RELPATH option.
|
||||||
|
|
||||||
USE_MATHJAX = NO
|
USE_MATHJAX = NO
|
||||||
|
@ -1126,13 +1192,19 @@ USE_MATHJAX = NO
|
||||||
# HTML output directory using the MATHJAX_RELPATH option. The destination
|
# HTML output directory using the MATHJAX_RELPATH option. The destination
|
||||||
# directory should contain the MathJax.js script. For instance, if the mathjax
|
# directory should contain the MathJax.js script. For instance, if the mathjax
|
||||||
# directory is located at the same level as the HTML output directory, then
|
# directory is located at the same level as the HTML output directory, then
|
||||||
# MATHJAX_RELPATH should be ../mathjax. The default value points to the
|
# MATHJAX_RELPATH should be ../mathjax. The default value points to
|
||||||
# mathjax.org site, so you can quickly see the result without installing
|
# the MathJax Content Delivery Network so you can quickly see the result without
|
||||||
# MathJax, but it is strongly recommended to install a local copy of MathJax
|
# installing MathJax.
|
||||||
# before deployment.
|
# However, it is strongly recommended to install a local
|
||||||
|
# copy of MathJax from http://www.mathjax.org before deployment.
|
||||||
|
|
||||||
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
|
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
|
||||||
|
|
||||||
|
# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
|
||||||
|
# names that should be enabled during MathJax rendering.
|
||||||
|
|
||||||
|
MATHJAX_EXTENSIONS =
|
||||||
|
|
||||||
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
|
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
|
||||||
# for the HTML output. The underlying search engine uses javascript
|
# for the HTML output. The underlying search engine uses javascript
|
||||||
# and DHTML and should work on any modern browser. Note that when using
|
# and DHTML and should work on any modern browser. Note that when using
|
||||||
|
@ -1246,6 +1318,12 @@ LATEX_HIDE_INDICES = NO
|
||||||
|
|
||||||
LATEX_SOURCE_CODE = NO
|
LATEX_SOURCE_CODE = NO
|
||||||
|
|
||||||
|
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
|
||||||
|
# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
|
||||||
|
# http://en.wikipedia.org/wiki/BibTeX for more info.
|
||||||
|
|
||||||
|
LATEX_BIB_STYLE = plain
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the RTF output
|
# configuration options related to the RTF output
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -1277,7 +1355,7 @@ COMPACT_RTF = NO
|
||||||
|
|
||||||
RTF_HYPERLINKS = NO
|
RTF_HYPERLINKS = NO
|
||||||
|
|
||||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
# Load style sheet definitions from file. Syntax is similar to doxygen's
|
||||||
# config file, i.e. a series of assignments. You only have to provide
|
# config file, i.e. a series of assignments. You only have to provide
|
||||||
# replacements, missing definitions are set to their default value.
|
# replacements, missing definitions are set to their default value.
|
||||||
|
|
||||||
|
@ -1468,24 +1546,20 @@ SKIP_FUNCTION_MACROS = YES
|
||||||
# Configuration::additions related to external references
|
# Configuration::additions related to external references
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
# The TAGFILES option can be used to specify one or more tagfiles.
|
# The TAGFILES option can be used to specify one or more tagfiles. For each
|
||||||
# Optionally an initial location of the external documentation
|
# tag file the location of the external documentation should be added. The
|
||||||
# can be added for each tagfile. The format of a tag file without
|
# format of a tag file without this location is as follows:
|
||||||
# this location is as follows:
|
|
||||||
#
|
#
|
||||||
# TAGFILES = file1 file2 ...
|
# TAGFILES = file1 file2 ...
|
||||||
# Adding location for the tag files is done as follows:
|
# Adding location for the tag files is done as follows:
|
||||||
#
|
#
|
||||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||||
# where "loc1" and "loc2" can be relative or absolute paths or
|
# where "loc1" and "loc2" can be relative or absolute paths
|
||||||
# URLs. If a location is present for each tag, the installdox tool
|
# or URLs. Note that each tag file must have a unique name (where the name does
|
||||||
# does not have to be run to correct the links.
|
# NOT include the path). If a tag file is not located in the directory in which
|
||||||
# Note that each tag file must have a unique name
|
# doxygen is run, you must also specify the path to the tagfile here.
|
||||||
# (where the name does NOT include the path)
|
|
||||||
# If a tag file is not located in the directory in which doxygen
|
|
||||||
# is run, you must also specify the path to the tagfile here.
|
|
||||||
|
|
||||||
TAGFILES =
|
TAGFILES =
|
||||||
|
|
||||||
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
||||||
# a tag file that is based on the input files it reads.
|
# a tag file that is based on the input files it reads.
|
||||||
|
@ -1502,7 +1576,7 @@ ALLEXTERNALS = NO
|
||||||
# in the modules index. If set to NO, only the current project's groups will
|
# in the modules index. If set to NO, only the current project's groups will
|
||||||
# be listed.
|
# be listed.
|
||||||
|
|
||||||
EXTERNAL_GROUPS = YES
|
EXTERNAL_GROUPS = NO
|
||||||
|
|
||||||
# The PERL_PATH should be the absolute path and name of the perl script
|
# The PERL_PATH should be the absolute path and name of the perl script
|
||||||
# interpreter (i.e. the result of `which perl').
|
# interpreter (i.e. the result of `which perl').
|
||||||
|
@ -1551,13 +1625,12 @@ HAVE_DOT = YES
|
||||||
|
|
||||||
DOT_NUM_THREADS = 0
|
DOT_NUM_THREADS = 0
|
||||||
|
|
||||||
# By default doxygen will write a font called Helvetica to the output
|
# By default doxygen will use the Helvetica font for all dot files that
|
||||||
# directory and reference it in all dot files that doxygen generates.
|
# doxygen generates. When you want a differently looking font you can specify
|
||||||
# When you want a differently looking font you can specify the font name
|
# the font name using DOT_FONTNAME. You need to make sure dot is able to find
|
||||||
# using DOT_FONTNAME. You need to make sure dot is able to find the font,
|
# the font, which can be done by putting it in a standard location or by setting
|
||||||
# which can be done by putting it in a standard location or by setting the
|
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
|
||||||
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
|
# directory containing the font.
|
||||||
# containing the font.
|
|
||||||
|
|
||||||
DOT_FONTNAME = Helvetica
|
DOT_FONTNAME = Helvetica
|
||||||
|
|
||||||
|
@ -1566,17 +1639,16 @@ DOT_FONTNAME = Helvetica
|
||||||
|
|
||||||
DOT_FONTSIZE = 10
|
DOT_FONTSIZE = 10
|
||||||
|
|
||||||
# By default doxygen will tell dot to use the output directory to look for the
|
# By default doxygen will tell dot to use the Helvetica font.
|
||||||
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
|
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
|
||||||
# different font using DOT_FONTNAME you can set the path where dot
|
# set the path where dot can find it.
|
||||||
# can find it using this tag.
|
|
||||||
|
|
||||||
DOT_FONTPATH =
|
DOT_FONTPATH =
|
||||||
|
|
||||||
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
# will generate a graph for each documented class showing the direct and
|
# will generate a graph for each documented class showing the direct and
|
||||||
# indirect inheritance relations. Setting this tag to YES will force the
|
# indirect inheritance relations. Setting this tag to YES will force the
|
||||||
# the CLASS_DIAGRAMS tag to NO.
|
# CLASS_DIAGRAMS tag to NO.
|
||||||
|
|
||||||
CLASS_GRAPH = YES
|
CLASS_GRAPH = YES
|
||||||
|
|
||||||
|
@ -1598,6 +1670,15 @@ GROUP_GRAPHS = YES
|
||||||
|
|
||||||
UML_LOOK = NO
|
UML_LOOK = NO
|
||||||
|
|
||||||
|
# If the UML_LOOK tag is enabled, the fields and methods are shown inside
|
||||||
|
# the class node. If there are many fields or methods and many nodes the
|
||||||
|
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
|
||||||
|
# threshold limits the number of items for each type to make the size more
|
||||||
|
# managable. Set this to 0 for no limit. Note that the threshold may be
|
||||||
|
# exceeded by 50% before the limit is enforced.
|
||||||
|
|
||||||
|
UML_LIMIT_NUM_FIELDS = 10
|
||||||
|
|
||||||
# If set to YES, the inheritance and collaboration graphs will show the
|
# If set to YES, the inheritance and collaboration graphs will show the
|
||||||
# relations between templates and their instances.
|
# relations between templates and their instances.
|
||||||
|
|
||||||
|
@ -1638,7 +1719,7 @@ CALLER_GRAPH = YES
|
||||||
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
|
# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
|
||||||
# then doxygen will show the dependencies a directory has on other directories
|
# then doxygen will show the dependencies a directory has on other directories
|
||||||
# in a graphical way. The dependency relations are determined by the #include
|
# in a graphical way. The dependency relations are determined by the #include
|
||||||
# relations between the files in the directories.
|
# relations between the files in the directories.
|
||||||
|
@ -1647,10 +1728,21 @@ DIRECTORY_GRAPH = YES
|
||||||
|
|
||||||
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
||||||
# generated by dot. Possible values are svg, png, jpg, or gif.
|
# generated by dot. Possible values are svg, png, jpg, or gif.
|
||||||
# If left blank png will be used.
|
# If left blank png will be used. If you choose svg you need to set
|
||||||
|
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
|
||||||
|
# visible in IE 9+ (other browsers do not have this requirement).
|
||||||
|
|
||||||
DOT_IMAGE_FORMAT = png
|
DOT_IMAGE_FORMAT = png
|
||||||
|
|
||||||
|
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
|
||||||
|
# enable generation of interactive SVG images that allow zooming and panning.
|
||||||
|
# Note that this requires a modern browser other than Internet Explorer.
|
||||||
|
# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
|
||||||
|
# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
|
||||||
|
# visible. Older versions of IE do not have SVG support.
|
||||||
|
|
||||||
|
INTERACTIVE_SVG = NO
|
||||||
|
|
||||||
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||||
# found. If left blank, it is assumed the dot tool can be found in the path.
|
# found. If left blank, it is assumed the dot tool can be found in the path.
|
||||||
|
|
||||||
|
@ -1714,3 +1806,4 @@ GENERATE_LEGEND = YES
|
||||||
# the various graphs.
|
# the various graphs.
|
||||||
|
|
||||||
DOT_CLEANUP = YES
|
DOT_CLEANUP = YES
|
||||||
|
|
|
@ -3,23 +3,20 @@
|
||||||
<navindex>
|
<navindex>
|
||||||
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
<tab type="modules" visible="yes" title="Cortex-M3 Series" intro=""/>
|
<tab type="user" visible="yes" url="../html/index.html" title="Top Level" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../stm32/html/modules.html" title="STM32 Common" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
<tab type="namespaces" visible="yes" title="">
|
<tab type="namespaces" visible="yes" title="">
|
||||||
<tab type="namespaces" visible="yes" title="" intro=""/>
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
</tab>
|
</tab>
|
||||||
<tab type="classes" visible="yes" title="">
|
|
||||||
<tab type="classes" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
|
||||||
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="classmembers" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="files" visible="yes" title="">
|
|
||||||
<tab type="files" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="globals" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="dirs" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="examples" visible="yes" title="" intro=""/>
|
|
||||||
</navindex>
|
</navindex>
|
||||||
|
|
||||||
<!-- Layout definition for a class page -->
|
<!-- Layout definition for a class page -->
|
|
@ -0,0 +1,67 @@
|
||||||
|
# Makefile to build libopencm3 documentation
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
doc: html latex
|
||||||
|
|
||||||
|
html: cm3 stm32 stm32f1 stm32f2 stm32f4 lm3s lpc13 lpc17 lpc43 top
|
||||||
|
|
||||||
|
cm3:
|
||||||
|
cd cm3/; doxygen
|
||||||
|
|
||||||
|
lm3s:
|
||||||
|
cd lm3s/; doxygen
|
||||||
|
|
||||||
|
lpc13:
|
||||||
|
cd lpc13xx/; doxygen
|
||||||
|
|
||||||
|
lpc17:
|
||||||
|
cd lpc17xx/; doxygen
|
||||||
|
|
||||||
|
lpc43:
|
||||||
|
cd lpc43xx/; doxygen
|
||||||
|
|
||||||
|
stm32:
|
||||||
|
cd stm32/; doxygen
|
||||||
|
|
||||||
|
stm32f1:
|
||||||
|
cd stm32f1/; doxygen
|
||||||
|
|
||||||
|
stm32f2:
|
||||||
|
cd stm32f2/; doxygen
|
||||||
|
|
||||||
|
stm32f4:
|
||||||
|
cd stm32f4/; doxygen
|
||||||
|
|
||||||
|
top:
|
||||||
|
doxygen
|
||||||
|
|
||||||
|
latex: stm32f1.pdf stm32f2.pdf stm32f4.pdf lm3s.pdf lpc13.pdf lpc17.pdf lpc43.pdf
|
||||||
|
|
||||||
|
stm32f1.pdf:
|
||||||
|
cd stm32f1/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../stm32f1.pdf
|
||||||
|
|
||||||
|
stm32f2.pdf:
|
||||||
|
cd stm32f2/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../stm32f2.pdf
|
||||||
|
|
||||||
|
stm32f4.pdf:
|
||||||
|
cd stm32f4/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../stm32f4.pdf
|
||||||
|
|
||||||
|
lm3s.pdf:
|
||||||
|
cd lm3s/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../lm3s.pdf
|
||||||
|
|
||||||
|
lpc13.pdf:
|
||||||
|
cd lpc13xx/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../lpc13.pdf
|
||||||
|
|
||||||
|
lpc17.pdf:
|
||||||
|
cd lpc17xx/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../lpc17.pdf
|
||||||
|
|
||||||
|
lpc43.pdf:
|
||||||
|
cd lpc43xx/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../lpc43.pdf
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -rf html/ */html/ */latex/ *.pdf */*.tag
|
||||||
|
|
||||||
|
.PHONY: doc html cm3 lm3s lpc13 lpc17 lpc43 stm32 stm32f1 stm32f2 stm32f4 top latex
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
libopencm3 Documentation
|
||||||
|
14 September 2012 (C) K Sarkies
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
To generate documentation run 'make doc' in the doc directory. This
|
||||||
|
runs doxygen for each of the processor families then integrates the whole.
|
||||||
|
|
||||||
|
This requires doxygen v 1.8.2 or later.
|
||||||
|
|
||||||
|
HTML, LaTeX, and pdf output is produced.
|
||||||
|
|
||||||
|
Generation of HTML
|
||||||
|
------------------
|
||||||
|
|
||||||
|
To view HTML, point a browser to doc/html/index.html.
|
||||||
|
|
||||||
|
The directory structure is important and should be maintained.
|
||||||
|
Each of the subdirectories has a configuration file, a layout file and
|
||||||
|
subdirectories for the documentation. Doxygen is intended to be run inside
|
||||||
|
these subdirectories. The Makefile will handle this in the appropriate
|
||||||
|
order. Tag files are generated and used by other doxygen runs to resolve links.
|
||||||
|
|
||||||
|
Tagfiles contain all information about the document, and are used to resolve
|
||||||
|
references in other documents. The groups defined in these external documents
|
||||||
|
are not shown when EXTERNAL_GROUPS = NO. The high level tagfiles must be generated
|
||||||
|
before any others.
|
||||||
|
|
||||||
|
As well as the processor families, a "cm3" subdirectory is used to generate
|
||||||
|
a tagfile to integrate the CM3 common core defines.
|
||||||
|
|
||||||
|
Doxyfile_common holds global settings.
|
||||||
|
|
||||||
|
OUTPUT_DIRECTORY blank so that the output is placed in the current directory.
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXTERNAL_GROUPS = NO
|
||||||
|
|
||||||
|
Each Doxyfile_include for a processor family has:
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
INPUT = specific directories needed, including /include/libopencm3/cm3
|
||||||
|
in top directory to set the top level page and GNU license.
|
||||||
|
LAYOUT_FILE = DoxygenLayout_$processor.xml
|
||||||
|
WARN_LOGFILE = doxygen_$processor.log
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
GENERATE_TAGFILE = $processor.tag
|
||||||
|
|
||||||
|
For the STM32 subfamilies, to include the common files references, add
|
||||||
|
TAGFILES += ../stm32/stm32.tag=../../stm32/html
|
||||||
|
|
||||||
|
For the top level Doxyfile
|
||||||
|
|
||||||
|
INPUT = ../include/libopencm3/docmain.dox to add in the main page text
|
||||||
|
LAYOUT_FILE = DoxygenLayout.xml
|
||||||
|
WARN_LOGFILE = doxygen.log
|
||||||
|
TAGFILES = cm3/cm3.tag=../cm3/html plus all families to be included.
|
||||||
|
|
||||||
|
Generation of PDF
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
The pdf is generated via LaTeX. The needs for the documents differ from HTML
|
||||||
|
so separate Doxyfile_latex are provided. The pdf files are placed in the
|
||||||
|
doc directory. Each file contains all documentation for the core and common
|
||||||
|
features.
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
# HTML Documentation for CM3 Core features.
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_cm3.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_cm3.xml
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = cm3.tag
|
||||||
|
|
|
@ -0,0 +1,192 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,27 @@
|
||||||
|
# HTML Documentation for LM3S code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lm3s.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/lm3s \
|
||||||
|
../../lib/lm3s
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lm3s.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = lm3s.tag
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# LaTeX Documentation for LM3S code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lm3s_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/lm3s \
|
||||||
|
../../lib/lm3s
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/lm3s/doc-lm3s.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lm3s.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_lm3s.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ TI LM3S ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,27 @@
|
||||||
|
# HTML Documentation for LPC13xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc13xx.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/lpc13xx \
|
||||||
|
../../lib/lpc13xx
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc13xx.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = lpc13xx.tag
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# LaTeX Documentation for LPC13xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc13xx_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/lpc13xx/ \
|
||||||
|
../../lib/lpc13xx
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/lpc13xx/doc-lpc13xx.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc13xx.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_lpc13xx.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ NXP LPC13xx ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,27 @@
|
||||||
|
# HTML Documentation for LPC17xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc17xx.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/lpc17xx \
|
||||||
|
../../lib/lpc17xx
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc17xx.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = lpc17xx.tag
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# LaTeX Documentation for LPC17xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc17xx_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/lpc17xx/ \
|
||||||
|
../../lib/lpc17xx
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/lpc17xx/doc-lpc17xx.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc17xx.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_lpc17xx.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ NXP LPC17xx ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,27 @@
|
||||||
|
# HTML Documentation for LPC43xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc43xx.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/lpc43xx \
|
||||||
|
../../lib/lpc43xx
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc43xx.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = lpc43xx.tag
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# LaTeX Documentation for LPC43xx code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_lpc43xx_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/lpc43xx/ \
|
||||||
|
../../lib/lpc43xx
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/lpc43xx/doc-lpc43xx.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_lpc43xx.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_lpc43xx.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ NXP LPC43xx ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# HTML Documentation for STM32 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/stm32/ \
|
||||||
|
../../include/libopencm3/stm32/f1/nvic_f1.h \
|
||||||
|
../../include/libopencm3/stm32/f2/nvic_f2.h \
|
||||||
|
../../include/libopencm3/stm32/f4/nvic_f4.h \
|
||||||
|
../../lib/stm32/
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = stm32.tag
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="STM32 Common" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,32 @@
|
||||||
|
# HTML Documentation for STM32F1 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f1.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/stm32/f1 \
|
||||||
|
../../lib/stm32/f1
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f1/usb.h \
|
||||||
|
../../include/libopencm3/stm32/f1/usb_desc.h \
|
||||||
|
../../include/libopencm3/stm32/f1/nvic_f1.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f1.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
|
||||||
|
../stm32/stm32.tag=../../stm32/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = stm32f1.tag
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
# LaTeX Documentation for STM32F1 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f1_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/stm32/ \
|
||||||
|
../../include/libopencm3/stm32/f1 \
|
||||||
|
../../lib/stm32/ \
|
||||||
|
../../lib/stm32/f1
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f1/doc-stm32f1.h \
|
||||||
|
../../include/libopencm3/stm32/doc-stm32f.h \
|
||||||
|
../../include/libopencm3/stm32/f1/usb.h \
|
||||||
|
../../include/libopencm3/stm32/f1/usb_desc.h \
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f1.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_stm32f1.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ STM STM32F1 ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# HTML Documentation for STM32F2 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f2.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/stm32/f2 \
|
||||||
|
../../lib/stm32/f2
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f2/nvic_f2.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f2.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
|
||||||
|
../stm32/stm32.tag=../../stm32/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = stm32f2.tag
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# LaTeX Documentation for STM32F2 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f2_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/stm32/ \
|
||||||
|
../../include/libopencm3/stm32/f2 \
|
||||||
|
../../lib/stm32/ \
|
||||||
|
../../lib/stm32/f2
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f2/doc-stm32f2.h \
|
||||||
|
../../include/libopencm3/stm32/doc-stm32f.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f2.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_stm32f2.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="STM32F2" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f4/html/modules.html" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ STM STM32F2 ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# HTML Documentation for STM32F4 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f4.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/stm32/f4 \
|
||||||
|
../../lib/stm32/f4
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f4/nvic_f4.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f4.xml
|
||||||
|
|
||||||
|
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
|
||||||
|
../stm32/stm32.tag=../../stm32/html
|
||||||
|
|
||||||
|
GENERATE_TAGFILE = stm32f4.tag
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# LaTeX Documentation for STM32F4 code level
|
||||||
|
|
||||||
|
# 14 September 2012
|
||||||
|
# (C) Ken Sarkies <ksarkies@internode.on.net>
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Common Include File
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@INCLUDE = ../Doxyfile_common
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Local settings
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WARN_LOGFILE = doxygen_stm32f4_latex.log
|
||||||
|
|
||||||
|
INPUT = ../../include/libopencm3/docmain.dox \
|
||||||
|
../../include/libopencm3/license.dox \
|
||||||
|
../../include/libopencm3/cm3/ \
|
||||||
|
../../include/libopencm3/stm32/ \
|
||||||
|
../../include/libopencm3/stm32/f4 \
|
||||||
|
../../lib/stm32/ \
|
||||||
|
../../lib/stm32/f4
|
||||||
|
|
||||||
|
EXCLUDE = ../../include/libopencm3/stm32/f4/doc-stm32f4.h \
|
||||||
|
../../include/libopencm3/stm32/doc-stm32f.h
|
||||||
|
|
||||||
|
LAYOUT_FILE = DoxygenLayout_stm32f4.xml
|
||||||
|
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
|
||||||
|
LATEX_HEADER = header_stm32f4.tex
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||||
|
<tab type="pages" visible="yes" title="General Information" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../html/index.html" title="Back to Top" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../cm3/html/modules.html" title="CM3 Core" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32/html/modules.html" title="STM32" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f1/html/modules.html" title="STM32F1" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../stm32f2/html/modules.html" title="STM32F2" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="STM32F4" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lm3s/html/modules.html" title="LM3S" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc13xx/html/modules.html" title="LPC13" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc17xx/html/modules.html" title="LPC17" intro=""/>
|
||||||
|
<tab type="user" visible="yes" url="../../lpc43xx/html/modules.html" title="LPC43" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespaces" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classes" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="files" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass{book}
|
||||||
|
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
|
||||||
|
\usepackage{makeidx}
|
||||||
|
\usepackage{natbib}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[table]{xcolor}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{ifpdf}
|
||||||
|
\ifpdf
|
||||||
|
\usepackage[pdftex,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\else
|
||||||
|
\usepackage[ps2pdf,
|
||||||
|
pagebackref=true,
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
unicode
|
||||||
|
]{hyperref}
|
||||||
|
\usepackage{pspicture}
|
||||||
|
\fi
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{mathptmx}
|
||||||
|
\usepackage[scaled=.90]{helvet}
|
||||||
|
\usepackage{courier}
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\usepackage{doxygen}
|
||||||
|
\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
|
||||||
|
\makeindex
|
||||||
|
\setcounter{tocdepth}{3}
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\hfuzz=15pt
|
||||||
|
\setlength{\emergencystretch}{15pt}
|
||||||
|
\hbadness=750
|
||||||
|
\tolerance=750
|
||||||
|
\begin{document}
|
||||||
|
\hypersetup{pageanchor=false,citecolor=blue}
|
||||||
|
\begin{titlepage}
|
||||||
|
\vspace*{7cm}
|
||||||
|
\begin{center}
|
||||||
|
{\Huge libopencm3: API Reference\\ STM STM32F4 ARM Cortex M3 Series}\\
|
||||||
|
\vspace*{1cm}
|
||||||
|
{\large Generated by Doxygen 1.8.2}\\
|
||||||
|
\vspace*{0.5cm}
|
||||||
|
{\small Thu Sep 13 2012 23:26:45}\\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\hypersetup{pageanchor=true,citecolor=blue}
|
|
@ -24,14 +24,18 @@ CC = $(PREFIX)-gcc
|
||||||
LD = $(PREFIX)-gcc
|
LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../..
|
||||||
ifeq ($(wildcard ../../../../lib/libopencm3_lm3s.a),)
|
ifeq ($(wildcard ../../../../lib/libopencm3_lm3s.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||||
-mcpu=cortex-m3 -mthumb -MD
|
-mcpu=cortex-m3 -mthumb -MD
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
|
|
|
@ -24,14 +24,18 @@ CC = $(PREFIX)-gcc
|
||||||
LD = $(PREFIX)-gcc
|
LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../..
|
||||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc13xx.a),)
|
ifeq ($(wildcard ../../../../lib/libopencm3_lpc13xx.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||||
-mcpu=cortex-m3 -mthumb -MD
|
-mcpu=cortex-m3 -mthumb -MD
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
|
|
|
@ -24,14 +24,18 @@ CC = $(PREFIX)-gcc
|
||||||
LD = $(PREFIX)-gcc
|
LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../..
|
||||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc17xx.a),)
|
ifeq ($(wildcard ../../../../lib/libopencm3_lpc17xx.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -O0 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
CFLAGS += -O0 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||||
-mcpu=cortex-m3 -mthumb -MD
|
-mcpu=cortex-m3 -mthumb -MD
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
|
|
|
@ -27,14 +27,18 @@ LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
GDB = $(PREFIX)-gdb
|
GDB = $(PREFIX)-gdb
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../..
|
||||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc43xx.a),)
|
ifeq ($(wildcard ../../../../lib/libopencm3_lpc43xx.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -O2 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
CFLAGS += -O2 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||||
-mcpu=cortex-m4 -mthumb -MD \
|
-mcpu=cortex-m4 -mthumb -MD \
|
||||||
-mfloat-abi=hard -mfpu=fpv4-sp-d16
|
-mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||||
|
|
|
@ -25,19 +25,23 @@ LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
GDB = $(PREFIX)-gdb
|
GDB = $(PREFIX)-gdb
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../../..
|
||||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f1.a),)
|
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f1.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARCH_FLAGS = -mthumb -mcpu=cortex-m3 -msoft-float
|
ARCH_FLAGS = -mthumb -mcpu=cortex-m3 -msoft-float
|
||||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
||||||
-fno-common $(ARCH_FLAGS) -MD -DSTM32F1
|
-fno-common $(ARCH_FLAGS) -MD -DSTM32F1
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
LDFLAGS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group \
|
LDFLAGS += --static -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group \
|
||||||
-L$(TOOLCHAIN_DIR)/lib \
|
-L$(TOOLCHAIN_DIR)/lib \
|
||||||
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
||||||
$(ARCH_FLAGS) -mfix-cortex-m3-ldrd
|
$(ARCH_FLAGS) -mfix-cortex-m3-ldrd
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/flash.h>
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
#include <libopencm3/stm32/can.h>
|
#include <libopencm3/stm32/can.h>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = adc_injec
|
||||||
|
# Comment the following line if you _don't_ have luftboot flashed!
|
||||||
|
LDFLAGS += -Wl,-Ttext=0x8002000
|
||||||
|
CFLAGS += -std=c99
|
||||||
|
LDSCRIPT = ../lisa-m.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is a simple polling example that sends the value read out from the
|
||||||
|
temperature sensor ADC channel of the STM32 to the USART2.
|
||||||
|
|
||||||
|
This example polls injected channels.
|
||||||
|
|
||||||
|
The terminal settings for the receiving device/PC are 115200 8n1.
|
||||||
|
|
|
@ -0,0 +1,174 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
||||||
|
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Stephen Dwyer <dwyer.sc@gmail.com>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
|
#include <libopencm3/stm32/f1/adc.h>
|
||||||
|
#include <libopencm3/stm32/usart.h>
|
||||||
|
|
||||||
|
void usart_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
|
||||||
|
|
||||||
|
/* Setup GPIO pin GPIO_USART1_TX/GPIO9 on GPIO port A for transmit. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_USART2_TX);
|
||||||
|
|
||||||
|
/* Setup UART parameters. */
|
||||||
|
usart_set_baudrate(USART2, 115200);
|
||||||
|
usart_set_databits(USART2, 8);
|
||||||
|
usart_set_stopbits(USART2, USART_STOPBITS_1);
|
||||||
|
usart_set_mode(USART2, USART_MODE_TX_RX);
|
||||||
|
usart_set_parity(USART2, USART_PARITY_NONE);
|
||||||
|
usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
|
||||||
|
|
||||||
|
/* Finally enable the USART. */
|
||||||
|
usart_enable(USART2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable GPIO clocks. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
|
||||||
|
|
||||||
|
/* Setup the LEDs. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO8);
|
||||||
|
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO15);
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc_setup(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN);
|
||||||
|
|
||||||
|
/* Make sure the ADC doesn't run during config. */
|
||||||
|
adc_off(ADC1);
|
||||||
|
|
||||||
|
/* We configure everything for one single injected conversion. */
|
||||||
|
adc_disable_scan_mode(ADC1);
|
||||||
|
adc_set_single_conversion_mode(ADC1);
|
||||||
|
/* We can only use discontinuous mode on either the regular OR injected channels, not both */
|
||||||
|
adc_disable_discontinuous_mode_regular(ADC1);
|
||||||
|
adc_enable_discontinuous_mode_injected(ADC1);
|
||||||
|
/* We want to start the injected conversion in software */
|
||||||
|
adc_enable_external_trigger_injected(ADC1,ADC_CR2_JEXTSEL_JSWSTART);
|
||||||
|
adc_set_right_aligned(ADC1);
|
||||||
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
|
adc_enable_temperature_sensor(ADC1);
|
||||||
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
|
/* Wait for ADC starting up. */
|
||||||
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
__asm__("nop");
|
||||||
|
|
||||||
|
adc_reset_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_RSTCAL) != 0); //added this check
|
||||||
|
adc_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_CAL) != 0); //added this check
|
||||||
|
}
|
||||||
|
|
||||||
|
void my_usart_print_int(u32 usart, int value)
|
||||||
|
{
|
||||||
|
s8 i;
|
||||||
|
u8 nr_digits = 0;
|
||||||
|
char buffer[25];
|
||||||
|
|
||||||
|
if (value < 0) {
|
||||||
|
usart_send_blocking(usart, '-');
|
||||||
|
value = value * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (value > 0) {
|
||||||
|
buffer[nr_digits++] = "0123456789"[value % 10];
|
||||||
|
value /= 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = (nr_digits - 1); i >= 0; i--) {
|
||||||
|
usart_send_blocking(usart, buffer[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
usart_send_blocking(usart, '\r');
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
u8 channel_array[16];
|
||||||
|
u16 temperature = 0;
|
||||||
|
|
||||||
|
rcc_clock_setup_in_hse_12mhz_out_72mhz();
|
||||||
|
gpio_setup();
|
||||||
|
usart_setup();
|
||||||
|
adc_setup();
|
||||||
|
|
||||||
|
gpio_set(GPIOA, GPIO8); /* LED1 on */
|
||||||
|
gpio_set(GPIOC, GPIO15); /* LED2 on */
|
||||||
|
|
||||||
|
/* Send a message on USART1. */
|
||||||
|
usart_send_blocking(USART2, 's');
|
||||||
|
usart_send_blocking(USART2, 't');
|
||||||
|
usart_send_blocking(USART2, 'm');
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
|
||||||
|
/* Select the channel we want to convert. 16=temperature_sensor. */
|
||||||
|
channel_array[0] = 16;
|
||||||
|
/* Set the injected sequence here, with number of channels */
|
||||||
|
adc_set_injected_sequence(ADC1, 1, channel_array);
|
||||||
|
|
||||||
|
/* Continously convert and poll the temperature ADC. */
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* If the ADC_CR2_ON bit is already set -> setting it another time
|
||||||
|
* starts a regular conversion. Injected conversion is started
|
||||||
|
* explicitly with the JSWSTART bit as an external trigger. It may
|
||||||
|
* also work by setting no regular channels and setting JAUTO to
|
||||||
|
* automatically convert the injected channels after the regular
|
||||||
|
* channels (of which there would be none). (Not tested.)
|
||||||
|
*/
|
||||||
|
adc_start_conversion_injected(ADC1);
|
||||||
|
|
||||||
|
/* Wait for end of conversion. */
|
||||||
|
while (!(adc_eoc_injected(ADC1)));
|
||||||
|
ADC_SR(ADC2) &= ~ADC_SR_JEOC; //clear injected end of conversion
|
||||||
|
|
||||||
|
temperature = adc_read_injected(ADC1,1); //get the result from ADC_JDR1 on ADC1 (only bottom 16bits)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* That's actually not the real temperature - you have to compute it
|
||||||
|
* as described in the datasheet.
|
||||||
|
*/
|
||||||
|
my_usart_print_int(USART2, temperature);
|
||||||
|
|
||||||
|
gpio_toggle(GPIOA, GPIO8); /* LED2 on */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = adc_injec_timtrig
|
||||||
|
# Comment the following line if you _don't_ have luftboot flashed!
|
||||||
|
LDFLAGS += -Wl,-Ttext=0x8002000
|
||||||
|
CFLAGS += -std=c99
|
||||||
|
LDSCRIPT = ../lisa-m.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is a simple example that sends the value read out from the
|
||||||
|
temperature sensor ADC channel of the STM32 to the USART2.
|
||||||
|
|
||||||
|
This example uses a timer trigger to automatically sample the adc channel.
|
||||||
|
|
||||||
|
The terminal settings for the receiving device/PC are 115200 8n1.
|
||||||
|
|
|
@ -0,0 +1,195 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
||||||
|
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Stephen Dwyer <dwyer.sc@gmail.com>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
|
#include <libopencm3/stm32/f1/adc.h>
|
||||||
|
#include <libopencm3/stm32/usart.h>
|
||||||
|
#include <libopencm3/stm32/timer.h>
|
||||||
|
|
||||||
|
void usart_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
|
||||||
|
|
||||||
|
/* Setup GPIO pin GPIO_USART1_TX/GPIO9 on GPIO port A for transmit. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_USART2_TX);
|
||||||
|
|
||||||
|
/* Setup UART parameters. */
|
||||||
|
usart_set_baudrate(USART2, 115200);
|
||||||
|
usart_set_databits(USART2, 8);
|
||||||
|
usart_set_stopbits(USART2, USART_STOPBITS_1);
|
||||||
|
usart_set_mode(USART2, USART_MODE_TX_RX);
|
||||||
|
usart_set_parity(USART2, USART_PARITY_NONE);
|
||||||
|
usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
|
||||||
|
|
||||||
|
/* Finally enable the USART. */
|
||||||
|
usart_enable(USART2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable GPIO clocks. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
|
||||||
|
|
||||||
|
/* Setup the LEDs. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO8);
|
||||||
|
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO15);
|
||||||
|
}
|
||||||
|
|
||||||
|
void timer_setup(void)
|
||||||
|
{
|
||||||
|
/* Set up the timer TIM2 for injected sampling */
|
||||||
|
uint32_t timer;
|
||||||
|
volatile uint32_t *rcc_apbenr;
|
||||||
|
uint32_t rcc_apb;
|
||||||
|
|
||||||
|
timer = TIM2;
|
||||||
|
rcc_apbenr = &RCC_APB1ENR;
|
||||||
|
rcc_apb = RCC_APB1ENR_TIM2EN;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(rcc_apbenr, rcc_apb);
|
||||||
|
|
||||||
|
/* Time Base configuration */
|
||||||
|
timer_reset(timer);
|
||||||
|
timer_set_mode(timer, TIM_CR1_CKD_CK_INT,
|
||||||
|
TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
|
||||||
|
timer_set_period(timer, 0xFF);
|
||||||
|
timer_set_prescaler(timer, 0x8);
|
||||||
|
timer_set_clock_division(timer, 0x0);
|
||||||
|
/* Generate TRGO on every update. */
|
||||||
|
timer_set_master_mode(timer, TIM_CR2_MMS_UPDATE);
|
||||||
|
timer_enable_counter(timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc_setup(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN);
|
||||||
|
|
||||||
|
/* Make sure the ADC doesn't run during config. */
|
||||||
|
adc_off(ADC1);
|
||||||
|
|
||||||
|
/* We configure everything for one single timer triggered injected conversion. */
|
||||||
|
adc_disable_scan_mode(ADC1);
|
||||||
|
adc_set_single_conversion_mode(ADC1);
|
||||||
|
/* We can only use discontinuous mode on either the regular OR injected channels, not both */
|
||||||
|
adc_disable_discontinuous_mode_regular(ADC1);
|
||||||
|
adc_enable_discontinuous_mode_injected(ADC1);
|
||||||
|
/* We want to start the injected conversion with the TIM2 TRGO */
|
||||||
|
adc_enable_external_trigger_injected(ADC1,ADC_CR2_JEXTSEL_TIM2_TRGO);
|
||||||
|
adc_set_right_aligned(ADC1);
|
||||||
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
|
adc_enable_temperature_sensor(ADC1);
|
||||||
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
|
/* Wait for ADC starting up. */
|
||||||
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
__asm__("nop");
|
||||||
|
|
||||||
|
adc_reset_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_RSTCAL) != 0);
|
||||||
|
adc_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_CAL) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void my_usart_print_int(u32 usart, int value)
|
||||||
|
{
|
||||||
|
s8 i;
|
||||||
|
u8 nr_digits = 0;
|
||||||
|
char buffer[25];
|
||||||
|
|
||||||
|
if (value < 0) {
|
||||||
|
usart_send_blocking(usart, '-');
|
||||||
|
value = value * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (value > 0) {
|
||||||
|
buffer[nr_digits++] = "0123456789"[value % 10];
|
||||||
|
value /= 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = (nr_digits - 1); i >= 0; i--) {
|
||||||
|
usart_send_blocking(usart, buffer[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
usart_send_blocking(usart, '\r');
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
u8 channel_array[16];
|
||||||
|
u16 temperature = 0;
|
||||||
|
|
||||||
|
rcc_clock_setup_in_hse_12mhz_out_72mhz();
|
||||||
|
gpio_setup();
|
||||||
|
usart_setup();
|
||||||
|
timer_setup();
|
||||||
|
adc_setup();
|
||||||
|
|
||||||
|
gpio_set(GPIOA, GPIO8); /* LED1 on */
|
||||||
|
gpio_set(GPIOC, GPIO15); /* LED2 on */
|
||||||
|
|
||||||
|
/* Send a message on USART1. */
|
||||||
|
usart_send_blocking(USART2, 's');
|
||||||
|
usart_send_blocking(USART2, 't');
|
||||||
|
usart_send_blocking(USART2, 'm');
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
|
||||||
|
/* Select the channel we want to convert. 16=temperature_sensor. */
|
||||||
|
channel_array[0] = 16;
|
||||||
|
/* Set the injected sequence here, with number of channels */
|
||||||
|
adc_set_injected_sequence(ADC1, 1, channel_array);
|
||||||
|
|
||||||
|
/* Continously convert and poll the temperature ADC. */
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* Since the injected sampling is triggered by the timer, it gets
|
||||||
|
* updated automatically, we just need to periodically read out the value.
|
||||||
|
* It would be better to check if the JEOC bit is set, and clear it following
|
||||||
|
* so that you do not read the same value twice, especially for a slower
|
||||||
|
* sampling rate.
|
||||||
|
*/
|
||||||
|
|
||||||
|
temperature = adc_read_injected(ADC1,1); //get the result from ADC_JDR1 on ADC1 (only bottom 16bits)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* That's actually not the real temperature - you have to compute it
|
||||||
|
* as described in the datasheet.
|
||||||
|
*/
|
||||||
|
my_usart_print_int(USART2, temperature);
|
||||||
|
|
||||||
|
gpio_toggle(GPIOA, GPIO8); /* LED2 on */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = adc_injec_timtrig_irq
|
||||||
|
# Comment the following line if you _don't_ have luftboot flashed!
|
||||||
|
LDFLAGS += -Wl,-Ttext=0x8002000
|
||||||
|
CFLAGS += -std=c99
|
||||||
|
LDSCRIPT = ../lisa-m.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is a simple example that sends the value read out from the
|
||||||
|
temperature sensor ADC channel of the STM32 to the USART2.
|
||||||
|
|
||||||
|
This example uses a timer trigger to sample an injected adc channel and
|
||||||
|
then uses an interrupt routine to retrieve the sample from the data register.
|
||||||
|
|
||||||
|
The terminal settings for the receiving device/PC are 115200 8n1.
|
||||||
|
|
|
@ -0,0 +1,211 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
||||||
|
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Stephen Dwyer <dwyer.sc@gmail.com>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
|
#include <libopencm3/stm32/f1/adc.h>
|
||||||
|
#include <libopencm3/stm32/usart.h>
|
||||||
|
#include <libopencm3/stm32/timer.h>
|
||||||
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
|
volatile u16 temperature = 0;
|
||||||
|
|
||||||
|
void usart_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
|
||||||
|
|
||||||
|
/* Setup GPIO pin GPIO_USART1_TX/GPIO9 on GPIO port A for transmit. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_USART2_TX);
|
||||||
|
|
||||||
|
/* Setup UART parameters. */
|
||||||
|
usart_set_baudrate(USART2, 115200);
|
||||||
|
usart_set_databits(USART2, 8);
|
||||||
|
usart_set_stopbits(USART2, USART_STOPBITS_1);
|
||||||
|
usart_set_mode(USART2, USART_MODE_TX_RX);
|
||||||
|
usart_set_parity(USART2, USART_PARITY_NONE);
|
||||||
|
usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
|
||||||
|
|
||||||
|
/* Finally enable the USART. */
|
||||||
|
usart_enable(USART2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable GPIO clocks. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
|
||||||
|
|
||||||
|
/* Setup the LEDs. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO8);
|
||||||
|
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO15);
|
||||||
|
}
|
||||||
|
|
||||||
|
void timer_setup(void)
|
||||||
|
{
|
||||||
|
/* Set up the timer TIM2 for injected sampling */
|
||||||
|
uint32_t timer;
|
||||||
|
volatile uint32_t *rcc_apbenr;
|
||||||
|
uint32_t rcc_apb;
|
||||||
|
|
||||||
|
timer = TIM2;
|
||||||
|
rcc_apbenr = &RCC_APB1ENR;
|
||||||
|
rcc_apb = RCC_APB1ENR_TIM2EN;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(rcc_apbenr, rcc_apb);
|
||||||
|
|
||||||
|
/* Time Base configuration */
|
||||||
|
timer_reset(timer);
|
||||||
|
timer_set_mode(timer, TIM_CR1_CKD_CK_INT,
|
||||||
|
TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
|
||||||
|
timer_set_period(timer, 0xFF);
|
||||||
|
timer_set_prescaler(timer, 0x8);
|
||||||
|
timer_set_clock_division(timer, 0x0);
|
||||||
|
/* Generate TRGO on every update. */
|
||||||
|
timer_set_master_mode(timer, TIM_CR2_MMS_UPDATE);
|
||||||
|
timer_enable_counter(timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void irq_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable the adc1_2_isr() routine */
|
||||||
|
nvic_set_priority(NVIC_ADC1_2_IRQ, 0);
|
||||||
|
nvic_enable_irq(NVIC_ADC1_2_IRQ);
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc_setup(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN);
|
||||||
|
|
||||||
|
/* Make sure the ADC doesn't run during config. */
|
||||||
|
adc_off(ADC1);
|
||||||
|
|
||||||
|
/* We configure everything for one single timer triggered injected conversion with interrupt generation. */
|
||||||
|
/* While not needed for a single channel, try out scan mode which does all channels in one sweep and
|
||||||
|
* generates the interrupt/EOC/JEOC flags set at the end of all channels, not each one.
|
||||||
|
*/
|
||||||
|
adc_enable_scan_mode(ADC1);
|
||||||
|
adc_set_single_conversion_mode(ADC1);
|
||||||
|
/* We want to start the injected conversion with the TIM2 TRGO */
|
||||||
|
adc_enable_external_trigger_injected(ADC1,ADC_CR2_JEXTSEL_TIM2_TRGO);
|
||||||
|
/* Generate the ADC1_2_IRQ */
|
||||||
|
adc_enable_eoc_interrupt_injected(ADC1);
|
||||||
|
adc_set_right_aligned(ADC1);
|
||||||
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
|
adc_enable_temperature_sensor(ADC1);
|
||||||
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
|
/* Wait for ADC starting up. */
|
||||||
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
__asm__("nop");
|
||||||
|
|
||||||
|
adc_reset_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_RSTCAL) != 0);
|
||||||
|
adc_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_CAL) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void my_usart_print_int(u32 usart, int value)
|
||||||
|
{
|
||||||
|
s8 i;
|
||||||
|
u8 nr_digits = 0;
|
||||||
|
char buffer[25];
|
||||||
|
|
||||||
|
if (value < 0) {
|
||||||
|
usart_send_blocking(usart, '-');
|
||||||
|
value = value * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (value > 0) {
|
||||||
|
buffer[nr_digits++] = "0123456789"[value % 10];
|
||||||
|
value /= 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = (nr_digits - 1); i >= 0; i--) {
|
||||||
|
usart_send_blocking(usart, buffer[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
usart_send_blocking(usart, '\r');
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
u8 channel_array[16];
|
||||||
|
|
||||||
|
rcc_clock_setup_in_hse_12mhz_out_72mhz();
|
||||||
|
gpio_setup();
|
||||||
|
usart_setup();
|
||||||
|
timer_setup();
|
||||||
|
irq_setup();
|
||||||
|
adc_setup();
|
||||||
|
|
||||||
|
gpio_set(GPIOA, GPIO8); /* LED1 on */
|
||||||
|
gpio_set(GPIOC, GPIO15); /* LED2 on */
|
||||||
|
|
||||||
|
/* Send a message on USART1. */
|
||||||
|
usart_send_blocking(USART2, 's');
|
||||||
|
usart_send_blocking(USART2, 't');
|
||||||
|
usart_send_blocking(USART2, 'm');
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
|
||||||
|
/* Select the channel we want to convert. 16=temperature_sensor. */
|
||||||
|
channel_array[0] = 16;
|
||||||
|
/* Set the injected sequence here, with number of channels */
|
||||||
|
adc_set_injected_sequence(ADC1, 1, channel_array);
|
||||||
|
|
||||||
|
/* Continously convert and poll the temperature ADC. */
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* Since sampling is triggered by the timer and copying the value
|
||||||
|
* out of the data register is handled by the interrupt routine,
|
||||||
|
* we just need to print the value and toggle the LED. It may be useful
|
||||||
|
* to buffer the adc values in some cases.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* That's actually not the real temperature - you have to compute it
|
||||||
|
* as described in the datasheet.
|
||||||
|
*/
|
||||||
|
my_usart_print_int(USART2, temperature);
|
||||||
|
|
||||||
|
gpio_toggle(GPIOA, GPIO8); /* LED2 on */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc1_2_isr(void)
|
||||||
|
{
|
||||||
|
/* Clear Injected End Of Conversion (JEOC) */
|
||||||
|
ADC_SR(ADC1) &= ~ADC_SR_JEOC;
|
||||||
|
temperature = adc_read_injected(ADC1,1);
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = adc_injec_timtrig_irq_4ch
|
||||||
|
# Comment the following line if you _don't_ have luftboot flashed!
|
||||||
|
LDFLAGS += -Wl,-Ttext=0x8002000
|
||||||
|
CFLAGS += -std=c99
|
||||||
|
LDSCRIPT = ../lisa-m.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is a simple example that sends the values read out from four ADC
|
||||||
|
channels of the STM32 to the USART2.
|
||||||
|
|
||||||
|
This example uses a timer trigger to sample the injected adc channels and
|
||||||
|
then uses an interrupt routine to retrieve the samples from the data registers.
|
||||||
|
|
||||||
|
The terminal settings for the receiving device/PC are 115200 8n1.
|
||||||
|
|
|
@ -0,0 +1,230 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
||||||
|
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Stephen Dwyer <dwyer.sc@gmail.com>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
|
#include <libopencm3/stm32/f1/adc.h>
|
||||||
|
#include <libopencm3/stm32/usart.h>
|
||||||
|
#include <libopencm3/stm32/timer.h>
|
||||||
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
|
volatile u16 temperature = 0;
|
||||||
|
volatile u16 v_refint = 0;
|
||||||
|
volatile u16 lisam_adc1 = 0;
|
||||||
|
volatile u16 lisam_adc2 = 0;
|
||||||
|
u8 channel_array[4]; /* for injected sampling, 4 channels max, for regular, 16 max */
|
||||||
|
|
||||||
|
void usart_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
|
||||||
|
|
||||||
|
/* Setup GPIO pin GPIO_USART1_TX/GPIO9 on GPIO port A for transmit. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_USART2_TX);
|
||||||
|
|
||||||
|
/* Setup UART parameters. */
|
||||||
|
usart_set_baudrate(USART2, 115200);
|
||||||
|
usart_set_databits(USART2, 8);
|
||||||
|
usart_set_stopbits(USART2, USART_STOPBITS_1);
|
||||||
|
usart_set_mode(USART2, USART_MODE_TX_RX);
|
||||||
|
usart_set_parity(USART2, USART_PARITY_NONE);
|
||||||
|
usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
|
||||||
|
|
||||||
|
/* Finally enable the USART. */
|
||||||
|
usart_enable(USART2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable GPIO clocks. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
|
||||||
|
|
||||||
|
/* Setup the LEDs. */
|
||||||
|
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO8);
|
||||||
|
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_2_MHZ,
|
||||||
|
GPIO_CNF_OUTPUT_PUSHPULL, GPIO15);
|
||||||
|
|
||||||
|
/* Setup Lisa/M v2 ADC1,2 on ANALOG1 connector */
|
||||||
|
gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, \
|
||||||
|
GPIO3 | GPIO0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void timer_setup(void)
|
||||||
|
{
|
||||||
|
/* Set up the timer TIM2 for injected sampling */
|
||||||
|
uint32_t timer;
|
||||||
|
volatile uint32_t *rcc_apbenr;
|
||||||
|
uint32_t rcc_apb;
|
||||||
|
|
||||||
|
timer = TIM2;
|
||||||
|
rcc_apbenr = &RCC_APB1ENR;
|
||||||
|
rcc_apb = RCC_APB1ENR_TIM2EN;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(rcc_apbenr, rcc_apb);
|
||||||
|
|
||||||
|
/* Time Base configuration */
|
||||||
|
timer_reset(timer);
|
||||||
|
timer_set_mode(timer, TIM_CR1_CKD_CK_INT,
|
||||||
|
TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
|
||||||
|
timer_set_period(timer, 0xFF);
|
||||||
|
timer_set_prescaler(timer, 0x8);
|
||||||
|
timer_set_clock_division(timer, 0x0);
|
||||||
|
/* Generate TRGO on every update. */
|
||||||
|
timer_set_master_mode(timer, TIM_CR2_MMS_UPDATE);
|
||||||
|
timer_enable_counter(timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void irq_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable the adc1_2_isr() routine */
|
||||||
|
nvic_set_priority(NVIC_ADC1_2_IRQ, 0);
|
||||||
|
nvic_enable_irq(NVIC_ADC1_2_IRQ);
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc_setup(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN);
|
||||||
|
|
||||||
|
/* Make sure the ADC doesn't run during config. */
|
||||||
|
adc_off(ADC1);
|
||||||
|
|
||||||
|
/* We configure everything for one single timer triggered injected conversion with interrupt generation. */
|
||||||
|
/* While not needed for a single channel, try out scan mode which does all channels in one sweep and
|
||||||
|
* generates the interrupt/EOC/JEOC flags set at the end of all channels, not each one.
|
||||||
|
*/
|
||||||
|
adc_enable_scan_mode(ADC1);
|
||||||
|
adc_set_single_conversion_mode(ADC1);
|
||||||
|
/* We want to start the injected conversion with the TIM2 TRGO */
|
||||||
|
adc_enable_external_trigger_injected(ADC1,ADC_CR2_JEXTSEL_TIM2_TRGO);
|
||||||
|
/* Generate the ADC1_2_IRQ */
|
||||||
|
adc_enable_eoc_interrupt_injected(ADC1);
|
||||||
|
adc_set_right_aligned(ADC1);
|
||||||
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
|
adc_enable_temperature_sensor(ADC1);
|
||||||
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
|
/* Select the channels we want to convert.
|
||||||
|
* 16=temperature_sensor, 17=Vrefint, 13=ADC1, 10=ADC2
|
||||||
|
*/
|
||||||
|
channel_array[0] = 16;
|
||||||
|
channel_array[1] = 17;
|
||||||
|
channel_array[2] = 13;
|
||||||
|
channel_array[3] = 10;
|
||||||
|
adc_set_injected_sequence(ADC1, 4, channel_array);
|
||||||
|
|
||||||
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
|
/* Wait for ADC starting up. */
|
||||||
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
__asm__("nop");
|
||||||
|
|
||||||
|
adc_reset_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_RSTCAL) != 0); //added this check
|
||||||
|
adc_calibration(ADC1);
|
||||||
|
while ((ADC_CR2(ADC1) & ADC_CR2_CAL) != 0); //added this check
|
||||||
|
}
|
||||||
|
|
||||||
|
void my_usart_print_int(u32 usart, int value)
|
||||||
|
{
|
||||||
|
s8 i;
|
||||||
|
u8 nr_digits = 0;
|
||||||
|
char buffer[25];
|
||||||
|
|
||||||
|
if (value < 0) {
|
||||||
|
usart_send_blocking(usart, '-');
|
||||||
|
value = value * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (value > 0) {
|
||||||
|
buffer[nr_digits++] = "0123456789"[value % 10];
|
||||||
|
value /= 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = (nr_digits - 1); i >= 0; i--) {
|
||||||
|
usart_send_blocking(usart, buffer[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//usart_send_blocking(usart, '\r');
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
rcc_clock_setup_in_hse_12mhz_out_72mhz();
|
||||||
|
gpio_setup();
|
||||||
|
usart_setup();
|
||||||
|
timer_setup();
|
||||||
|
irq_setup();
|
||||||
|
adc_setup();
|
||||||
|
|
||||||
|
gpio_set(GPIOA, GPIO8); /* LED1 off */
|
||||||
|
gpio_set(GPIOC, GPIO15); /* LED5 off */
|
||||||
|
|
||||||
|
/* Send a message on USART1. */
|
||||||
|
usart_send_blocking(USART2, 's');
|
||||||
|
usart_send_blocking(USART2, 't');
|
||||||
|
usart_send_blocking(USART2, 'm');
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
|
||||||
|
/* Moved the channel selection and sequence init to adc_setup() */
|
||||||
|
|
||||||
|
/* Continously convert and poll the temperature ADC. */
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* Since sampling is triggered by the timer and copying the values
|
||||||
|
* out of the data registers is handled by the interrupt routine,
|
||||||
|
* we just need to print the values and toggle the LED. It may be useful
|
||||||
|
* to buffer the adc values in some cases.
|
||||||
|
*/
|
||||||
|
|
||||||
|
my_usart_print_int(USART2, temperature);
|
||||||
|
usart_send_blocking(USART2, ' ');
|
||||||
|
my_usart_print_int(USART2, v_refint);
|
||||||
|
usart_send_blocking(USART2, ' ');
|
||||||
|
my_usart_print_int(USART2, lisam_adc1);
|
||||||
|
usart_send_blocking(USART2, ' ');
|
||||||
|
my_usart_print_int(USART2, lisam_adc2);
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
|
||||||
|
gpio_toggle(GPIOA, GPIO8); /* LED2 on */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void adc1_2_isr(void)
|
||||||
|
{
|
||||||
|
/* Clear Injected End Of Conversion (JEOC) */
|
||||||
|
ADC_SR(ADC1) &= ~ADC_SR_JEOC;
|
||||||
|
temperature = adc_read_injected(ADC1,1);
|
||||||
|
v_refint = adc_read_injected(ADC1,2);
|
||||||
|
lisam_adc1 = adc_read_injected(ADC1,3);
|
||||||
|
lisam_adc2 = adc_read_injected(ADC1,4);
|
||||||
|
}
|
|
@ -3,6 +3,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
* Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
|
||||||
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
* Copyright (C) 2012 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Ken Sarkies <ksarkies@internode.on.net>
|
||||||
*
|
*
|
||||||
* This library is free software: you can redistribute it and/or modify
|
* This library is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -71,14 +72,13 @@ void adc_setup(void)
|
||||||
/* We configure everything for one single conversion. */
|
/* We configure everything for one single conversion. */
|
||||||
adc_disable_scan_mode(ADC1);
|
adc_disable_scan_mode(ADC1);
|
||||||
adc_set_single_conversion_mode(ADC1);
|
adc_set_single_conversion_mode(ADC1);
|
||||||
adc_enable_discontinous_mode_regular(ADC1);
|
|
||||||
adc_disable_external_trigger_regular(ADC1);
|
adc_disable_external_trigger_regular(ADC1);
|
||||||
adc_set_right_aligned(ADC1);
|
adc_set_right_aligned(ADC1);
|
||||||
/* We want to read the temperature sensor, so we have to enable it. */
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
adc_enable_temperature_sensor(ADC1);
|
adc_enable_temperature_sensor(ADC1);
|
||||||
adc_set_conversion_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
adc_on(ADC1);
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
/* Wait for ADC starting up. */
|
/* Wait for ADC starting up. */
|
||||||
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
@ -138,15 +138,14 @@ int main(void)
|
||||||
/* Continously convert and poll the temperature ADC. */
|
/* Continously convert and poll the temperature ADC. */
|
||||||
while (1) {
|
while (1) {
|
||||||
/*
|
/*
|
||||||
* If the ADC_CR2_ON bit is already set -> setting it another time
|
* Start the conversion directly (ie without a trigger).
|
||||||
* starts the conversion.
|
|
||||||
*/
|
*/
|
||||||
adc_on(ADC1);
|
adc_start_conversion_direct(ADC1);
|
||||||
|
|
||||||
/* Wait for end of conversion. */
|
/* Wait for end of conversion. */
|
||||||
while (!(ADC_SR(ADC1) & ADC_SR_EOC));
|
while (!(adc_eoc(ADC1)));
|
||||||
|
|
||||||
temperature = ADC_DR(ADC1);
|
temperature = adc_read_regular(ADC1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* That's actually not the real temperature - you have to compute it
|
* That's actually not the real temperature - you have to compute it
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/f1/dma.h>
|
#include <libopencm3/stm32/f1/dma.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/flash.h>
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
#include <libopencm3/stm32/can.h>
|
#include <libopencm3/stm32/can.h>
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/flash.h>
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
|
|
||||||
u32 temp32;
|
u32 temp32;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,14 +69,13 @@ void adc_setup(void)
|
||||||
/* We configure everything for one single conversion. */
|
/* We configure everything for one single conversion. */
|
||||||
adc_disable_scan_mode(ADC1);
|
adc_disable_scan_mode(ADC1);
|
||||||
adc_set_single_conversion_mode(ADC1);
|
adc_set_single_conversion_mode(ADC1);
|
||||||
adc_enable_discontinous_mode_regular(ADC1);
|
|
||||||
adc_disable_external_trigger_regular(ADC1);
|
adc_disable_external_trigger_regular(ADC1);
|
||||||
adc_set_right_aligned(ADC1);
|
adc_set_right_aligned(ADC1);
|
||||||
/* We want to read the temperature sensor, so we have to enable it. */
|
/* We want to read the temperature sensor, so we have to enable it. */
|
||||||
adc_enable_temperature_sensor(ADC1);
|
adc_enable_temperature_sensor(ADC1);
|
||||||
adc_set_conversion_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
adc_set_sample_time_on_all_channels(ADC1, ADC_SMPR_SMP_28DOT5CYC);
|
||||||
|
|
||||||
adc_on(ADC1);
|
adc_power_on(ADC1);
|
||||||
|
|
||||||
/* Wait for ADC starting up. */
|
/* Wait for ADC starting up. */
|
||||||
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||||
|
@ -131,10 +130,9 @@ int main(void)
|
||||||
adc_set_regular_sequence(ADC1, 1, channel_array);
|
adc_set_regular_sequence(ADC1, 1, channel_array);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the ADC_CR2_ON bit is already set -> setting it another time
|
* Start the conversion directly (not trigger mode).
|
||||||
* starts the conversion.
|
|
||||||
*/
|
*/
|
||||||
adc_on(ADC1);
|
adc_start_conversion_direct(ADC1);
|
||||||
|
|
||||||
/* Wait for end of conversion. */
|
/* Wait for end of conversion. */
|
||||||
while (!(ADC_SR(ADC1) & ADC_SR_EOC));
|
while (!(ADC_SR(ADC1) & ADC_SR_EOC));
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/timer.h>
|
#include <libopencm3/stm32/timer.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/spi.h>
|
#include <libopencm3/stm32/spi.h>
|
||||||
#include "./dogm128.h"
|
#include "./dogm128.h"
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <libopencm3/stm32/f1/rtc.h>
|
#include <libopencm3/stm32/f1/rtc.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/pwr.h>
|
#include <libopencm3/stm32/pwr.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/flash.h>
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
|
|
||||||
u32 temp32;
|
u32 temp32;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/flash.h>
|
#include <libopencm3/stm32/f1/flash.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/timer.h>
|
#include <libopencm3/stm32/timer.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void gpio_setup(void)
|
void gpio_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
|
||||||
u16 exti_line_state;
|
u16 exti_line_state;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
|
||||||
u16 exti_line_state;
|
u16 exti_line_state;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
|
||||||
#define FALLING 0
|
#define FALLING 0
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/timer.h>
|
#include <libopencm3/stm32/timer.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
|
||||||
#define FALLING 0
|
#define FALLING 0
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/timer.h>
|
#include <libopencm3/stm32/timer.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
|
||||||
u16 frequency_sequence[18] = {
|
u16 frequency_sequence[18] = {
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/systick.h>
|
#include <libopencm3/stm32/systick.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/f1/rcc.h>
|
||||||
#include <libopencm3/stm32/f1/gpio.h>
|
#include <libopencm3/stm32/f1/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include <libopencm3/stm32/f1/rtc.h>
|
#include <libopencm3/stm32/f1/rtc.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/pwr.h>
|
#include <libopencm3/stm32/pwr.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,18 +26,22 @@ LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
GDB = $(PREFIX)-gdb
|
GDB = $(PREFIX)-gdb
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../../..
|
||||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f2.a),)
|
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f2.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
||||||
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F2
|
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F2
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
LDFLAGS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group \
|
LDFLAGS += --static -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group \
|
||||||
-L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32/f2 \
|
-L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32/f2 \
|
||||||
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
||||||
-mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
|
-mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <libopencm3/stm32/spi.h>
|
#include <libopencm3/stm32/spi.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/f2/gpio.h>
|
#include <libopencm3/stm32/f2/gpio.h>
|
||||||
#include <libopencm3/stm32/f2/rcc.h>
|
#include <libopencm3/stm32/f2/rcc.h>
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <libopencm3/stm32/f2/gpio.h>
|
#include <libopencm3/stm32/f2/gpio.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/stm32/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/f2/rcc.h>
|
#include <libopencm3/stm32/f2/rcc.h>
|
||||||
|
|
||||||
void clock_setup(void)
|
void clock_setup(void)
|
||||||
|
|
|
@ -27,21 +27,26 @@ OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
GDB = $(PREFIX)-gdb
|
GDB = $(PREFIX)-gdb
|
||||||
FLASH = $(shell which st-flash)
|
FLASH = $(shell which st-flash)
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR ?= ../../../../..
|
||||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f4.a),)
|
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f4.a),)
|
||||||
|
ifneq ($(strip $(shell which $(CC))),)
|
||||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
ifeq ($(V),1)
|
ifeq ($(V),1)
|
||||||
$(info We seem to be building the example in the source directory. Using local library!)
|
$(info We seem to be building the example in the source directory. Using local library!)
|
||||||
endif
|
endif
|
||||||
TOOLCHAIN_DIR := ../../../../..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
||||||
-fno-common -mcpu=cortex-m4 -mthumb -msoft-float -MD -DSTM32F4
|
-fno-common -mcpu=cortex-m4 -mthumb \
|
||||||
|
-mfloat-abi=hard -mfpu=fpv4-sp-d16 -MD -DSTM32F4
|
||||||
LDSCRIPT ?= $(BINARY).ld
|
LDSCRIPT ?= $(BINARY).ld
|
||||||
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
|
LDFLAGS += --static -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
|
||||||
-L$(TOOLCHAIN_DIR)/lib/stm32/f4 \
|
-L$(TOOLCHAIN_DIR)/lib/stm32/f4 \
|
||||||
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
||||||
-mthumb -mcpu=cortex-m4 -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
|
-mthumb -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||||
OBJS += $(BINARY).o
|
OBJS += $(BINARY).o
|
||||||
|
|
||||||
OOCD ?= openocd
|
OOCD ?= openocd
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = mandel
|
||||||
|
|
||||||
|
LDSCRIPT = ../stm32f4-discovery.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This example program demonstrates the floating point coprocessor usage on
|
||||||
|
the ST STM32F4DISCOVERY eval board.
|
||||||
|
|
||||||
|
A mandelbrot fractal is calculated and sent as "ascii-art" image through
|
||||||
|
the USART2.
|
||||||
|
|
||||||
|
The terminal settings for the receiving device/PC are 38400 8n1.
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
* Copyright (C) 2011 Stephen Caudle <scaudle@doceme.com>
|
||||||
|
* Copyright (C) 2012 Daniel Serpell <daniel.serpell@gmail.com>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libopencm3/stm32/f4/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f4/gpio.h>
|
||||||
|
#include <libopencm3/stm32/usart.h>
|
||||||
|
|
||||||
|
void clock_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable high-speed clock at 120MHz */
|
||||||
|
rcc_clock_setup_hse_3v3(&hse_8mhz_3v3[CLOCK_3V3_120MHZ]);
|
||||||
|
|
||||||
|
/* Enable GPIOD clock for LED & USARTs. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN);
|
||||||
|
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPAEN);
|
||||||
|
|
||||||
|
/* Enable clocks for USART2. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void usart_setup(void)
|
||||||
|
{
|
||||||
|
/* Setup USART2 parameters. */
|
||||||
|
usart_set_baudrate(USART2, 38400);
|
||||||
|
usart_set_databits(USART2, 8);
|
||||||
|
usart_set_stopbits(USART2, USART_STOPBITS_1);
|
||||||
|
usart_set_mode(USART2, USART_MODE_TX);
|
||||||
|
usart_set_parity(USART2, USART_PARITY_NONE);
|
||||||
|
usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
|
||||||
|
|
||||||
|
/* Finally enable the USART. */
|
||||||
|
usart_enable(USART2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Setup GPIO pin GPIO12 on GPIO port D for LED. */
|
||||||
|
gpio_mode_setup(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO12);
|
||||||
|
|
||||||
|
/* Setup GPIO pins for USART2 transmit. */
|
||||||
|
gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO2);
|
||||||
|
|
||||||
|
/* Setup USART2 TX pin as alternate function. */
|
||||||
|
gpio_set_af(GPIOA, GPIO_AF7, GPIO2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Maximum number of iterations for the escape-time calculation */
|
||||||
|
#define maxIter 32
|
||||||
|
/* This array converts the iteration count to a character representation. */
|
||||||
|
static char color[maxIter+1] = " .:++xxXXX%%%%%%################";
|
||||||
|
|
||||||
|
/* Main mandelbrot calculation */
|
||||||
|
static int iterate(float px, float py)
|
||||||
|
{
|
||||||
|
int it=0;
|
||||||
|
float x=0,y=0;
|
||||||
|
while(it<maxIter)
|
||||||
|
{
|
||||||
|
float nx = x*x;
|
||||||
|
float ny = y*y;
|
||||||
|
if( (nx + ny) > 4 )
|
||||||
|
return it;
|
||||||
|
// Zn+1 = Zn^2 + P
|
||||||
|
y = 2*x*y + py;
|
||||||
|
x = nx - ny + px;
|
||||||
|
it++;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mandel(float cX, float cY, float scale)
|
||||||
|
{
|
||||||
|
int x,y;
|
||||||
|
for(x=-60;x<60;x++)
|
||||||
|
{
|
||||||
|
for(y=-50;y<50;y++)
|
||||||
|
{
|
||||||
|
int i = iterate(cX+x*scale, cY+y*scale);
|
||||||
|
usart_send_blocking(USART2, color[i]);
|
||||||
|
}
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
float scale = 0.25f, centerX = -0.5f, centerY = 0.0f;
|
||||||
|
|
||||||
|
clock_setup();
|
||||||
|
gpio_setup();
|
||||||
|
usart_setup();
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
/* Blink the LED (PD12) on the board with each fractal drawn. */
|
||||||
|
gpio_toggle(GPIOD, GPIO12); /* LED on/off */
|
||||||
|
mandel(centerX,centerY,scale); /* draw mandelbrot */
|
||||||
|
|
||||||
|
/* Change scale and center */
|
||||||
|
centerX += 0.175f * scale;
|
||||||
|
centerY += 0.522f * scale;
|
||||||
|
scale *= 0.875f;
|
||||||
|
|
||||||
|
usart_send_blocking(USART2, '\r');
|
||||||
|
usart_send_blocking(USART2, '\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
##
|
||||||
|
## This file is part of the libopencm3 project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
|
##
|
||||||
|
## This library is free software: you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
## the Free Software Foundation, either version 3 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public License
|
||||||
|
## along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
BINARY = random
|
||||||
|
|
||||||
|
LDSCRIPT = ../stm32f4-discovery.ld
|
||||||
|
|
||||||
|
include ../../Makefile.include
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This example randomly blinks the green LED on the ST STM32F4DISCOVERY eval board.
|
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <libopencm3/cm3/common.h>
|
||||||
|
#include <libopencm3/stm32/f4/rcc.h>
|
||||||
|
#include <libopencm3/stm32/f4/gpio.h>
|
||||||
|
#include <libopencm3/stm32/f4/rng.h>
|
||||||
|
|
||||||
|
static void rcc_setup(void)
|
||||||
|
{
|
||||||
|
rcc_clock_setup_hse_3v3(&hse_8mhz_3v3[CLOCK_3V3_120MHZ]);
|
||||||
|
|
||||||
|
/* Enable GPIOD clock for onboard leds. */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN);
|
||||||
|
|
||||||
|
/* Enable rng clock */
|
||||||
|
rcc_peripheral_enable_clock(&RCC_AHB2ENR, RCC_AHB2ENR_RNGEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void rng_setup(void)
|
||||||
|
{
|
||||||
|
/* Enable interupt */
|
||||||
|
/* Set the IE bit in the RNG_CR register. */
|
||||||
|
RNG_CR |= RNG_CR_IE;
|
||||||
|
/* Enable the random number generation by setting the RNGEN bit in the RNG_CR
|
||||||
|
register. This activates the analog part, the RNG_LFSR and the error detector.
|
||||||
|
*/
|
||||||
|
RNG_CR |= RNG_CR_EN;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void gpio_setup(void)
|
||||||
|
{
|
||||||
|
/* Setup onboard led */
|
||||||
|
gpio_mode_setup(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO12 | GPIO13);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tried to folow the guidelines in the stm32f4 user manual.*/
|
||||||
|
static u32 random_int(void)
|
||||||
|
{
|
||||||
|
static u32 last_value=0;
|
||||||
|
static u32 new_value=0;
|
||||||
|
u32 error_bits = 0;
|
||||||
|
error_bits = RNG_SR_SEIS | RNG_SR_CEIS;
|
||||||
|
while (new_value==last_value) {
|
||||||
|
/* Check for error flags and if data is ready. */
|
||||||
|
if ( ((RNG_SR & error_bits) == 0) && ( (RNG_SR & RNG_SR_DRDY) == 1 ) )
|
||||||
|
new_value=RNG_DR;
|
||||||
|
}
|
||||||
|
last_value=new_value;
|
||||||
|
return new_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
rcc_setup();
|
||||||
|
gpio_setup();
|
||||||
|
rng_setup();
|
||||||
|
while(1){
|
||||||
|
u32 rnd;
|
||||||
|
rnd = random_int();
|
||||||
|
for(i=0;i!=32;++i){
|
||||||
|
if ( (rnd & (1 << i))!=0 )
|
||||||
|
gpio_set(GPIOD, GPIO12);
|
||||||
|
else
|
||||||
|
gpio_clear(GPIOD, GPIO12);
|
||||||
|
/* Delay */
|
||||||
|
for(j=0;j!=5000000;++j)
|
||||||
|
__asm__("nop");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,136 @@
|
||||||
|
/** @defgroup debugging Debugging
|
||||||
|
|
||||||
|
@brief Macros and functions to aid in debugging
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 25 September 2012
|
||||||
|
|
||||||
|
Two preprocessor defines control the behavior of assertion check macros in
|
||||||
|
this module. They allow the choice between generated code size and ease of
|
||||||
|
debugging.
|
||||||
|
|
||||||
|
If NDEBUG is defined, all assertion checks are disabled and macros do not
|
||||||
|
generate any code.
|
||||||
|
|
||||||
|
If CM3_ASSERT_VERBOSE is defined, information regarding the position of
|
||||||
|
assertion checks will be stored in the binary, allowing for more
|
||||||
|
informative error messages, but also significantly increased code size. As
|
||||||
|
default assertion checks do not use this information it is only useful if
|
||||||
|
the application linked with libopencm3 defines its own
|
||||||
|
cm3_assert_failed_verbose() implementation.
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Tomaz Solc <tomaz.solc@tablix.org>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**@{*/
|
||||||
|
|
||||||
|
#ifndef LIBOPENCM3_CM3_ASSERT_H
|
||||||
|
#define LIBOPENCM3_CM3_ASSERT_H
|
||||||
|
|
||||||
|
#include <libopencm3/cm3/common.h>
|
||||||
|
|
||||||
|
#define CM3_LIKELY(expr) (__builtin_expect (!!(expr), 1))
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
# define cm3_assert(expr) do { (void)0; } while(0)
|
||||||
|
# define cm3_assert_not_reached() while(1)
|
||||||
|
#else
|
||||||
|
# ifdef CM3_ASSERT_VERBOSE
|
||||||
|
# define cm3_assert(expr) do { \
|
||||||
|
if(CM3_LIKELY(expr)) { (void)0; } else { \
|
||||||
|
cm3_assert_failed_verbose( \
|
||||||
|
__FILE__, __LINE__, \
|
||||||
|
__func__, #expr); \
|
||||||
|
} \
|
||||||
|
} while(0)
|
||||||
|
# define cm3_assert_not_reached() do { \
|
||||||
|
cm3_assert_failed_verbose( \
|
||||||
|
__FILE__, __LINE__, \
|
||||||
|
__func__, 0); \
|
||||||
|
} while(0)
|
||||||
|
# else
|
||||||
|
/** @brief Check if assertion is true.
|
||||||
|
*
|
||||||
|
* If NDEBUG macro is defined, this macro generates no code. Otherwise
|
||||||
|
* cm3_assert_failed() or cm3_assert_failed_verbose() is called if assertion
|
||||||
|
* is false.
|
||||||
|
*
|
||||||
|
* The purpose of this macro is to aid in debugging libopencm3 and
|
||||||
|
* applications using it. It can be used for example to check if function
|
||||||
|
* arguments are within expected ranges and stop execution in case an
|
||||||
|
* unexpected state is reached.
|
||||||
|
*
|
||||||
|
* @param expr expression to check */
|
||||||
|
# define cm3_assert(expr) do { \
|
||||||
|
if(CM3_LIKELY(expr)) { (void)0; } else { \
|
||||||
|
cm3_assert_failed(); \
|
||||||
|
} \
|
||||||
|
} while(0)
|
||||||
|
/** @brief Check if unreachable code is reached.
|
||||||
|
*
|
||||||
|
* If NDEBUG macro is defined, this macro generates code for an infinite loop.
|
||||||
|
* Otherwise cm3_assert_failed() or cm3_assert_failed_verbose() is called if
|
||||||
|
* the macro is ever reached.
|
||||||
|
*
|
||||||
|
* The purpose of this macro is to aid in debugging libopencm3 and
|
||||||
|
* applications using it. It can be used for example to stop execution if an
|
||||||
|
* unreachable portion of code is reached. */
|
||||||
|
# define cm3_assert_not_reached() do { \
|
||||||
|
cm3_assert_failed(); \
|
||||||
|
} while(0)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
BEGIN_DECLS
|
||||||
|
|
||||||
|
/** @brief Called on a failed assertion.
|
||||||
|
*
|
||||||
|
* Halts execution in an infinite loop. This function never returns.
|
||||||
|
*
|
||||||
|
* Defined as a weak symbol, so applications can define their own
|
||||||
|
* implementation. Usually, a custom implementation of this function should
|
||||||
|
* report an error in some way (print a message to a debug console, display,
|
||||||
|
* LED, ...) and halt execution or reboot the device. */
|
||||||
|
void cm3_assert_failed(void) __attribute__ ((__noreturn__));
|
||||||
|
|
||||||
|
/** @brief Called on a failed assertion with verbose messages enabled.
|
||||||
|
*
|
||||||
|
* Halts execution in an infinite loop. This function never returns.
|
||||||
|
*
|
||||||
|
* Defined as a weak symbol, so applications can define their own
|
||||||
|
* implementation. Usually, a custom implementation of this function should
|
||||||
|
* report an error in some way (print a message to a debug console, display,
|
||||||
|
* LED, ...) and halt execution or reboot the device.
|
||||||
|
*
|
||||||
|
* @param file File name where the failed assertion occurred
|
||||||
|
* @param line Line number where the failed assertion occurred
|
||||||
|
* @param func Name of the function where the failed assertion occurred
|
||||||
|
* @param assert_expr Expression that evaluated to false (can be NULL) */
|
||||||
|
void cm3_assert_failed_verbose(const char *file, int line, const char *func,
|
||||||
|
const char *assert_expr) __attribute__ ((__noreturn__));
|
||||||
|
|
||||||
|
END_DECLS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**@}*/
|
|
@ -0,0 +1,22 @@
|
||||||
|
/** @mainpage libopencm3 Core CM3
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 14 September 2012
|
||||||
|
|
||||||
|
API documentation for Cortex M3 core features.
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup CM3_defines CM3 Defines
|
||||||
|
|
||||||
|
@brief Defined Constants and Types for Cortex M3 core features
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 14 September 2012
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
/**
|
|
||||||
* @mainpage libopencm3 Developer Documentation
|
|
||||||
|
|
||||||
@version 1.0.0
|
|
||||||
|
|
||||||
@author @htmlonly © @endhtmlonly 2012 Ken Sarkies ksarkies@internode.on.net
|
|
||||||
|
|
||||||
@date 18 August 2012
|
|
||||||
|
|
||||||
* The libopencm3 project (previously known as libopenstm32) aims to create
|
|
||||||
* a free/libre/open-source (GPL v3, or later) firmware library for various
|
|
||||||
* ARM Cortex-M3 microcontrollers, including ST STM32, Toshiba TX03,
|
|
||||||
* Atmel SAM3U, NXP LPC1000 and others.
|
|
||||||
*
|
|
||||||
* @par ""
|
|
||||||
*
|
|
||||||
* See the <a href="http://www.libopencm3.org">libopencm3 wiki</a> for
|
|
||||||
* more information.
|
|
||||||
|
|
||||||
LGPL License Terms @ref lgpl_license
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @page lgpl_license libopencm3 License
|
|
||||||
|
|
||||||
libopencm3 is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU Lesser General Public License as published by the Free
|
|
||||||
Software Foundation, either version 3 of the License, or (at your option) any
|
|
||||||
later version.
|
|
||||||
|
|
||||||
libopencm3 is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License along with this
|
|
||||||
program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup LM3S LM3S
|
|
||||||
Libraries for Texas instruments LM3S series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup LPC13xx LPC13xx
|
|
||||||
Libraries for NXP Semiconductor LPC13xx series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup LPC17xx LPC17xx
|
|
||||||
Libraries for NXP Semiconductor LPC17xx series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup STM32F STM32F
|
|
||||||
Libraries for ST Microelectronics STM32F series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup STM32F1xx STM32F1xx
|
|
||||||
@ingroup STM32F
|
|
||||||
Libraries for ST Microelectronics STM32F1xx series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup STM32F2xx STM32F2xx
|
|
||||||
@ingroup STM32F
|
|
||||||
Libraries for ST Microelectronics STM32F2xx series.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup STM32F4xx STM32F4xx
|
|
||||||
@ingroup STM32F
|
|
||||||
Libraries for ST Microelectronics STM32F4xx series.
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,21 +1,9 @@
|
||||||
/** @defgroup STM32F_nvic_defines NVIC Defines
|
|
||||||
|
|
||||||
@brief <b>libopencm3 STM32F Nested Vectored Interrupt Controller</b>
|
|
||||||
|
|
||||||
@ingroup STM32F_defines
|
|
||||||
|
|
||||||
@version 1.0.0
|
|
||||||
|
|
||||||
@author @htmlonly © @endhtmlonly 2010 Piotr Esden-Tempski <piotr@esden.net>
|
|
||||||
|
|
||||||
@date 18 August 2012
|
|
||||||
|
|
||||||
LGPL License Terms @ref lgpl_license
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* This file is part of the libopencm3 project.
|
* This file is part of the libopencm3 project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010 Piotr Esden-Tempski <piotr@esden.net>
|
* Copyright (C) 2010 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
* Copyright (C) 2012 Michael Ossmann <mike@ossmann.com>
|
||||||
|
* Copyright (C) 2012 Benjamin Vernoux <titanmkd@gmail.com>
|
||||||
*
|
*
|
||||||
* This library is free software: you can redistribute it and/or modify
|
* This library is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -30,13 +18,27 @@ LGPL License Terms @ref lgpl_license
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
/** @defgroup CM3_nvic_defines NVIC Defines
|
||||||
|
|
||||||
|
@brief <b>libopencm3 Cortex Nested Vectored Interrupt Controller</b>
|
||||||
|
|
||||||
|
@ingroup CM3_defines
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@author @htmlonly © @endhtmlonly 2010 Piotr Esden-Tempski <piotr@esden.net>
|
||||||
|
|
||||||
|
@date 18 August 2012
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
/**@{*/
|
/**@{*/
|
||||||
|
|
||||||
#ifndef LIBOPENCM3_NVIC_H
|
#ifndef LIBOPENCM3_NVIC_H
|
||||||
#define LIBOPENCM3_NVIC_H
|
#define LIBOPENCM3_NVIC_H
|
||||||
|
|
||||||
#include <libopencm3/stm32/memorymap.h>
|
|
||||||
#include <libopencm3/cm3/common.h>
|
#include <libopencm3/cm3/common.h>
|
||||||
|
#include <libopencm3/cm3/memorymap.h>
|
||||||
|
|
||||||
/* --- NVIC Registers ------------------------------------------------------ */
|
/* --- NVIC Registers ------------------------------------------------------ */
|
||||||
|
|
||||||
|
@ -79,9 +81,9 @@ LGPL License Terms @ref lgpl_license
|
||||||
|
|
||||||
/* --- IRQ channel numbers-------------------------------------------------- */
|
/* --- IRQ channel numbers-------------------------------------------------- */
|
||||||
|
|
||||||
/* Cortex M3 System Interrupts */
|
/* Cortex M3 and M4 System Interrupts */
|
||||||
/** @defgroup nvic_sysint Cortex M3 System Interrupts
|
/** @defgroup nvic_sysint Cortex M3/M4 System Interrupts
|
||||||
@ingroup STM32F_nvic_defines
|
@ingroup CM3_nvic_defines
|
||||||
|
|
||||||
IRQ numbers -3 and -6 to -9 are reserved
|
IRQ numbers -3 and -6 to -9 are reserved
|
||||||
@{*/
|
@{*/
|
||||||
|
@ -98,21 +100,11 @@ IRQ numbers -3 and -6 to -9 are reserved
|
||||||
#define NVIC_SYSTICK_IRQ -1
|
#define NVIC_SYSTICK_IRQ -1
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
|
|
||||||
/* Note: User interrupts are family specific and are defined in a family
|
/* Note: User interrupts are family specific and are defined in a family
|
||||||
* specific header file in the corresponding subfolder.
|
* specific header file in the corresponding subfolder.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(STM32F1)
|
#include <libopencm3/dispatch/nvic.h>
|
||||||
# include <libopencm3/stm32/f1/nvic_f1.h>
|
|
||||||
#elif defined(STM32F2)
|
|
||||||
# include <libopencm3/stm32/f2/nvic_f2.h>
|
|
||||||
#elif defined(STM32F4)
|
|
||||||
# include <libopencm3/stm32/f4/nvic_f4.h>
|
|
||||||
#else
|
|
||||||
# error "stm32 family not defined."
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* --- NVIC functions ------------------------------------------------------ */
|
/* --- NVIC functions ------------------------------------------------------ */
|
||||||
|
|
||||||
|
@ -131,5 +123,3 @@ void nvic_generate_software_interrupt(u16 irqn);
|
||||||
END_DECLS
|
END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/**@}*/
|
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the libopencm3 project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 chrysn <chrysn@fsfe.org>
|
||||||
|
*
|
||||||
|
* This library is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
*
|
||||||
|
* Definitions for handling vector tables.
|
||||||
|
*
|
||||||
|
* This implements d0002_efm32_cortex-m3_reference_manual.pdf's figure 2.2
|
||||||
|
* (from the EFM32 documentation at
|
||||||
|
* http://www.energymicro.com/downloads/datasheets), and was seen analogously
|
||||||
|
* in other ARM implementations' libopencm3 files.
|
||||||
|
*
|
||||||
|
* The structure of the vector table is implemented independently of the system
|
||||||
|
* vector table starting at memory position 0x0, as it can be relocated to
|
||||||
|
* other memory locations too.
|
||||||
|
*
|
||||||
|
* The exact size of a vector interrupt table depends on the number of
|
||||||
|
* interrupts IRQ_COUNT, which is defined per family.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBOPENCM3_VECTOR_H
|
||||||
|
#define LIBOPENCM3_VECTOR_H
|
||||||
|
|
||||||
|
#include <libopencm3/cm3/common.h>
|
||||||
|
#include <libopencm3/cm3/nvic.h>
|
||||||
|
|
||||||
|
/** Type of an interrupt function. Only used to avoid hard-to-read function
|
||||||
|
* pointers in the efm32_vector_table_t struct. */
|
||||||
|
typedef void (*vector_table_entry_t)(void);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned int *initial_sp_value; /**< The value the stack pointer is set to initially */
|
||||||
|
vector_table_entry_t reset;
|
||||||
|
vector_table_entry_t nmi;
|
||||||
|
vector_table_entry_t hard_fault;
|
||||||
|
vector_table_entry_t memory_manage_fault;
|
||||||
|
vector_table_entry_t bus_fault;
|
||||||
|
vector_table_entry_t usage_fault;
|
||||||
|
vector_table_entry_t reserved_x001c[4];
|
||||||
|
vector_table_entry_t sv_call;
|
||||||
|
vector_table_entry_t debug_monitor;
|
||||||
|
vector_table_entry_t reserved_x0034;
|
||||||
|
vector_table_entry_t pend_sv;
|
||||||
|
vector_table_entry_t systick;
|
||||||
|
vector_table_entry_t irq[NVIC_IRQ_COUNT];
|
||||||
|
} vector_table_t;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,19 @@
|
||||||
|
#if defined(STM32F1)
|
||||||
|
# include <libopencm3/stm32/f1/nvic.h>
|
||||||
|
#elif defined(STM32F2)
|
||||||
|
# include <libopencm3/stm32/f2/nvic.h>
|
||||||
|
#elif defined(STM32F4)
|
||||||
|
# include <libopencm3/stm32/f4/nvic.h>
|
||||||
|
|
||||||
|
#elif defined(TINYGECKO)
|
||||||
|
# include <libopencm3/efm32/tinygecko/nvic.h>
|
||||||
|
|
||||||
|
#elif defined(LPC43XX)
|
||||||
|
# include <libopencm3/lpc43xx/nvic.h>
|
||||||
|
|
||||||
|
#else
|
||||||
|
# warning"no chipset defined; user interrupts are disabled"
|
||||||
|
|
||||||
|
#define NVIC_IRQ_COUNT 0
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,21 @@
|
||||||
|
/** @mainpage libopencm3 Developer Documentation
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 7 September 2012
|
||||||
|
|
||||||
|
* The libopencm3 project (previously known as libopenstm32) aims to create
|
||||||
|
* a free/libre/open-source (GPL v3, or later) firmware library for various
|
||||||
|
* ARM Cortex-M3 microcontrollers, including ST STM32, Toshiba TX03,
|
||||||
|
* Atmel SAM3U, NXP LPC1000 and others.
|
||||||
|
*
|
||||||
|
* @par ""
|
||||||
|
*
|
||||||
|
* See the <a href="http://www.libopencm3.org">libopencm3 wiki</a> for
|
||||||
|
* more information.
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
includeguard: LIBOPENCM3_EFM32_TINYGECKO_NVIC_H
|
||||||
|
partname_humanreadable: EFM32 Tiny Gecko series
|
||||||
|
partname_doxygen: EFM32TG
|
||||||
|
# The names and sequence are taken from d0034_efm32tg_reference_manual.pdf table 4.1.
|
||||||
|
irqs:
|
||||||
|
- dma
|
||||||
|
- gpio_even
|
||||||
|
- timer0
|
||||||
|
- usart0_rx
|
||||||
|
- usart0_tx
|
||||||
|
- acmp01
|
||||||
|
- adc0
|
||||||
|
- dac0
|
||||||
|
- i2c0
|
||||||
|
- gpio_odd
|
||||||
|
- timer1
|
||||||
|
- usart1_rx
|
||||||
|
- usart1_tx
|
||||||
|
- lesense
|
||||||
|
- leuart0
|
||||||
|
- letimer0
|
||||||
|
- pcnt0
|
||||||
|
- rtc
|
||||||
|
- cmu
|
||||||
|
- vcmp
|
||||||
|
- lcd
|
||||||
|
- msc
|
||||||
|
- aes
|
|
@ -0,0 +1,16 @@
|
||||||
|
/** @page lgpl_license libopencm3 License
|
||||||
|
|
||||||
|
libopencm3 is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Lesser General Public License as published by the Free
|
||||||
|
Software Foundation, either version 3 of the License, or (at your option) any
|
||||||
|
later version.
|
||||||
|
|
||||||
|
libopencm3 is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along with this
|
||||||
|
program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
/** @mainpage libopencm3 LM3S
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 14 September 2012
|
||||||
|
|
||||||
|
API documentation for TI Stellaris LM3S Cortex M3 series.
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup LM3S LM3S
|
||||||
|
Libraries for TI Stellaris LM3S series.
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 7 September 2012
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup LM3S_defines LM3S Defines
|
||||||
|
|
||||||
|
@brief Defined Constants and Types for the LM3S series
|
||||||
|
|
||||||
|
@version 1.0.0
|
||||||
|
|
||||||
|
@date 14 September 2012
|
||||||
|
|
||||||
|
LGPL License Terms @ref lgpl_license
|
||||||
|
*/
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
includeguard: LIBOPENCM3_LM3S_NVIC_H
|
||||||
|
partname_humanreadable: LM3S series
|
||||||
|
partname_doxygen: LM3S
|
||||||
|
irqs:
|
||||||
|
0: GPIOA
|
||||||
|
1: GPIOB
|
||||||
|
2: GPIOC
|
||||||
|
3: GPIOD
|
||||||
|
4: GPIOE
|
||||||
|
5: UART0
|
||||||
|
6: UART1
|
||||||
|
7: SSI0
|
||||||
|
8: I2C0
|
||||||
|
9: PWM0_FAULT
|
||||||
|
10: PWM0_0
|
||||||
|
11: PWM0_1
|
||||||
|
12: PWM0_2
|
||||||
|
13: QEI0
|
||||||
|
14: ADC0SS0
|
||||||
|
15: ADC0SS1
|
||||||
|
16: ADC0SS2
|
||||||
|
17: ADC0SS3
|
||||||
|
18: WATCHDOG
|
||||||
|
19: TIMER0A
|
||||||
|
20: TIMER0B
|
||||||
|
21: TIMER1A
|
||||||
|
22: TIMER1B
|
||||||
|
23: TIMER2A
|
||||||
|
24: TIMER2B
|
||||||
|
25: COMP0
|
||||||
|
26: COMP1
|
||||||
|
27: COMP2
|
||||||
|
28: SYSCTL
|
||||||
|
29: FLASH
|
||||||
|
30: GPIOF
|
||||||
|
31: GPIOG
|
||||||
|
32: GPIOH
|
||||||
|
33: UART2
|
||||||
|
34: SSI1
|
||||||
|
35: TIMER3A
|
||||||
|
36: TIMER3B
|
||||||
|
37: I2C1
|
||||||
|
38: QEI1
|
||||||
|
39: CAN0
|
||||||
|
40: CAN1
|
||||||
|
41: CAN2
|
||||||
|
42: ETH
|
||||||
|
43: HIBERNATE
|
||||||
|
44: USB0
|
||||||
|
45: PWM0_3
|
||||||
|
46: UDMA
|
||||||
|
47: UDMAERR
|
||||||
|
48: ADC1SS0
|
||||||
|
49: ADC1SS1
|
||||||
|
50: ADC1SS2
|
||||||
|
51: ADC1SS3
|
||||||
|
52: I2S0
|
||||||
|
53: EPI0
|
||||||
|
54: GPIOJ
|
||||||
|
55: GPIOK
|
||||||
|
56: GPIOL
|
||||||
|
57: SSI2
|
||||||
|
58: SSI3
|
||||||
|
59: UART3
|
||||||
|
60: UART4
|
||||||
|
61: UART5
|
||||||
|
62: UART6
|
||||||
|
63: UART7
|
||||||
|
# undefined: slot 64 - 67
|
||||||
|
68: I2C2
|
||||||
|
69: I2C3
|
||||||
|
70: TIMER4A
|
||||||
|
71: TIMER4B
|
||||||
|
# undefined: slot 72 - 91
|
||||||
|
92: TIMER5A
|
||||||
|
93: TIMER5B
|
||||||
|
94: WTIMER0A
|
||||||
|
95: WTIMER0B
|
||||||
|
96: WTIMER1A
|
||||||
|
97: WTIMER1B
|
||||||
|
98: WTIMER2A
|
||||||
|
99: WTIMER2B
|
||||||
|
100: WTIMER3A
|
||||||
|
101: WTIMER3B
|
||||||
|
102: WTIMER4A
|
||||||
|
103: WTIMER4B
|
||||||
|
104: WTIMER5A
|
||||||
|
105: WTIMER5B
|
||||||
|
106: SYSEXC
|
||||||
|
107: PECI0
|
||||||
|
108: LPC0
|
||||||
|
109: I2C4
|
||||||
|
110: I2C5
|
||||||
|
111: GPIOM
|
||||||
|
112: GPION
|
||||||
|
# undefined: slot 113
|
||||||
|
114: FAN0
|
||||||
|
# undefined: slot 115
|
||||||
|
116: GPIOP0
|
||||||
|
117: GPIOP1
|
||||||
|
118: GPIOP2
|
||||||
|
119: GPIOP3
|
||||||
|
120: GPIOP4
|
||||||
|
121: GPIOP5
|
||||||
|
122: GPIOP6
|
||||||
|
123: GPIOP7
|
||||||
|
124: GPIOQ0
|
||||||
|
125: GPIOQ1
|
||||||
|
126: GPIOQ2
|
||||||
|
127: GPIOQ3
|
||||||
|
128: GPIOQ4
|
||||||
|
129: GPIOQ5
|
||||||
|
130: GPIOQ6
|
||||||
|
131: GPIOQ7
|
||||||
|
# undefined: slot 132 - 133
|
||||||
|
134: PWM1_0
|
||||||
|
135: PWM1_1
|
||||||
|
136: PWM1_2
|
||||||
|
137: PWM1_3
|
||||||
|
138: PWM1_FAULT
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue