Merge branch 'generalizations' into efm32
Conflicts: Makefile
This commit is contained in:
commit
47c69695ce
|
@ -6,10 +6,14 @@
|
|||
*.srec
|
||||
*.a
|
||||
*.elf
|
||||
lib/*.ld
|
||||
*.swp
|
||||
\#*
|
||||
.\#*
|
||||
*~
|
||||
*.map
|
||||
*.log
|
||||
doxygen/
|
||||
html/
|
||||
latex/
|
||||
*.pdf
|
||||
|
||||
|
|
16
Makefile
16
Makefile
|
@ -39,7 +39,13 @@ all: build
|
|||
|
||||
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 \
|
||||
if [ -d $$i ]; then \
|
||||
printf " BUILD $$i\n"; \
|
||||
|
@ -68,8 +74,8 @@ install: lib
|
|||
@printf " INSTALL scripts\n"
|
||||
$(Q)$(INSTALL) -m 0644 scripts/* $(SHAREDIR)
|
||||
|
||||
doxy:
|
||||
doxygen Doxyfile
|
||||
doc:
|
||||
$(Q)$(MAKE) -C doc doc
|
||||
|
||||
clean:
|
||||
$(Q)for i in $(addprefix lib/,$(TARGETS)) \
|
||||
|
@ -80,7 +86,7 @@ clean:
|
|||
fi; \
|
||||
done
|
||||
@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
|
||||
# doxygen (www.doxygen.org) for a project.
|
||||
|
@ -22,8 +22,9 @@
|
|||
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
|
||||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||
# by quotes) that should identify the project.
|
||||
# The PROJECT_NAME tag is a single word (or sequence of words) that should
|
||||
# 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
|
||||
|
||||
|
@ -51,7 +52,7 @@ PROJECT_LOGO =
|
|||
# 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.
|
||||
|
||||
OUTPUT_DIRECTORY = doxygen
|
||||
OUTPUT_DIRECTORY =
|
||||
|
||||
# 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
|
||||
|
@ -118,14 +119,16 @@ INLINE_INHERITED_MEMB = NO
|
|||
# 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.
|
||||
|
||||
FULL_PATH_NAMES = YES
|
||||
FULL_PATH_NAMES = NO
|
||||
|
||||
# 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
|
||||
# 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.
|
||||
# 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 =
|
||||
|
||||
|
@ -194,6 +197,13 @@ TAB_SIZE = 8
|
|||
|
||||
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
|
||||
# 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
|
||||
|
@ -221,17 +231,34 @@ OPTIMIZE_FOR_FORTRAN = NO
|
|||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
|
||||
# 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.
|
||||
# Doxygen has a built-in mapping, but you can override or extend it using this
|
||||
# tag. The format is ext=language, where ext is a file extension, and language
|
||||
# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
|
||||
# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
|
||||
# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
|
||||
# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
|
||||
# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
|
||||
# parses. With this tag you can assign which parser to use for a given
|
||||
# extension. Doxygen has a built-in mapping, but you can override or extend it
|
||||
# using this tag. The format is ext=language, where ext is a file extension,
|
||||
# and language is one of the parsers supported by doxygen: IDL, Java,
|
||||
# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
|
||||
# C++. For instance to make doxygen treat .inc files as Fortran files (default
|
||||
# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
|
||||
# that for custom extensions you also need to set FILE_PATTERNS otherwise the
|
||||
# files are not read by doxygen.
|
||||
|
||||
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
|
||||
# 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
|
||||
|
@ -252,12 +279,7 @@ CPP_CLI_SUPPORT = NO
|
|||
|
||||
SIP_SUPPORT = NO
|
||||
|
||||
# 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.
|
||||
# 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.
|
||||
|
||||
IDL_PROPERTY_SUPPORT = YES
|
||||
|
||||
|
@ -283,6 +305,15 @@ SUBGROUPING = YES
|
|||
|
||||
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
|
||||
# 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
|
||||
|
@ -305,10 +336,21 @@ TYPEDEF_HIDES_STRUCT = NO
|
|||
# a logarithmic scale so increasing the size by one will roughly double the
|
||||
# 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,
|
||||
# corresponding to a cache size of 2^16 = 65536 symbols
|
||||
# corresponding to a cache size of 2^16 = 65536 symbols.
|
||||
|
||||
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
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -325,6 +367,11 @@ EXTRACT_ALL = 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
|
||||
# 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
|
||||
# commands in the documentation.
|
||||
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TODOLIST = NO
|
||||
|
||||
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||
# disable (NO) the test list. This list is created by putting \test
|
||||
|
@ -512,12 +559,6 @@ MAX_INITIALIZER_LINES = 30
|
|||
|
||||
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.
|
||||
# This will remove the Files entry from the Quick Index and from the
|
||||
# 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
|
||||
# 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.
|
||||
# You can optionally specify a file name after the option, if omitted
|
||||
# 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
|
||||
|
@ -599,7 +650,7 @@ WARN_FORMAT = "$file:$line: $text"
|
|||
# and error messages should be written. If left blank the output is written
|
||||
# to stderr.
|
||||
|
||||
WARN_LOGFILE =
|
||||
WARN_LOGFILE = doxygen.log
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
|
@ -610,7 +661,7 @@ WARN_LOGFILE =
|
|||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = include lib
|
||||
INPUT =
|
||||
|
||||
# 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
|
||||
|
@ -634,15 +685,17 @@ FILE_PATTERNS =
|
|||
# should be searched for input files as well. Possible values are YES and NO.
|
||||
# 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
|
||||
# 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
|
||||
# from the input.
|
||||
|
||||
|
@ -744,7 +797,7 @@ INLINE_SOURCES = NO
|
|||
|
||||
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||
# 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
|
||||
|
||||
|
@ -829,12 +882,13 @@ HTML_FILE_EXTENSION = .html
|
|||
# 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
|
||||
# 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.
|
||||
# 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
|
||||
# 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 =
|
||||
|
||||
|
@ -846,13 +900,23 @@ HTML_FOOTER =
|
|||
|
||||
# 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
|
||||
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||
# will generate a default style sheet. Note that doxygen will try to copy
|
||||
# the style sheet file to the HTML output directory, so don't put your own
|
||||
# stylesheet in the HTML output directory as well, or it will be erased!
|
||||
# fine-tune the look of the HTML output. If left blank doxygen will
|
||||
# generate a default style sheet. Note that it is recommended to use
|
||||
# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this
|
||||
# tag will in the future become obsolete.
|
||||
|
||||
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
|
||||
# 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
|
||||
|
@ -863,7 +927,7 @@ HTML_STYLESHEET =
|
|||
HTML_EXTRA_FILES =
|
||||
|
||||
# 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,
|
||||
# see http://en.wikipedia.org/wiki/Hue for more information.
|
||||
# For instance the value 0 represents red, 60 is yellow, 120 is green,
|
||||
|
@ -893,20 +957,23 @@ HTML_COLORSTYLE_GAMMA = 80
|
|||
|
||||
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
|
||||
# documentation will contain sections that can be hidden and shown after the
|
||||
# page has loaded. For this to work a browser that supports
|
||||
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
|
||||
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
|
||||
# page has loaded.
|
||||
|
||||
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
|
||||
# will be generated that can be used as input for Apple's Xcode 3
|
||||
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
||||
|
@ -934,9 +1001,9 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
|
|||
|
||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||
|
||||
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
|
||||
# the documentation publisher. This should be a reverse domain-name style
|
||||
# string, e.g. com.mycompany.MyDocSet.documentation.
|
||||
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely
|
||||
# identify the documentation publisher. This should be a reverse domain-name
|
||||
# style string, e.g. com.mycompany.MyDocSet.documentation.
|
||||
|
||||
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
||||
|
||||
|
@ -1058,19 +1125,14 @@ GENERATE_ECLIPSEHELP = NO
|
|||
|
||||
ECLIPSE_DOC_ID = org.doxygen.Project
|
||||
|
||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||
# top of each HTML page. The value NO (the default) enables the index and
|
||||
# the value YES disables it.
|
||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
|
||||
# at top of each HTML page. The value NO (the default) enables the index and
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# structure should be generated to display hierarchical information.
|
||||
# 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
|
||||
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
||||
# 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
|
||||
|
||||
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
|
||||
# and Class Hierarchy pages using a tree view instead of an ordered list.
|
||||
# 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.
|
||||
|
||||
USE_INLINE_TREES = YES
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
|
||||
# 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
|
||||
|
@ -1117,7 +1183,7 @@ FORMULA_TRANSPARENT = YES
|
|||
# (see http://www.mathjax.org) which uses client side Javascript for the
|
||||
# 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
|
||||
# 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.
|
||||
|
||||
USE_MATHJAX = NO
|
||||
|
@ -1126,13 +1192,19 @@ USE_MATHJAX = NO
|
|||
# HTML output directory using the MATHJAX_RELPATH option. The destination
|
||||
# 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
|
||||
# MATHJAX_RELPATH should be ../mathjax. The default value points to the
|
||||
# mathjax.org site, so you can quickly see the result without installing
|
||||
# MathJax, but it is strongly recommended to install a local copy of MathJax
|
||||
# before deployment.
|
||||
# MATHJAX_RELPATH should be ../mathjax. The default value points to
|
||||
# the MathJax Content Delivery Network so you can quickly see the result without
|
||||
# installing MathJax.
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# for the HTML output. The underlying search engine uses javascript
|
||||
# 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
|
||||
|
||||
# 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
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -1277,7 +1355,7 @@ COMPACT_RTF = 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
|
||||
# replacements, missing definitions are set to their default value.
|
||||
|
||||
|
@ -1468,24 +1546,20 @@ SKIP_FUNCTION_MACROS = YES
|
|||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The TAGFILES option can be used to specify one or more tagfiles.
|
||||
# Optionally an initial location of the external documentation
|
||||
# can be added for each tagfile. The format of a tag file without
|
||||
# this location is as follows:
|
||||
# The TAGFILES option can be used to specify one or more tagfiles. For each
|
||||
# tag file the location of the external documentation should be added. The
|
||||
# format of a tag file without this location is as follows:
|
||||
#
|
||||
# TAGFILES = file1 file2 ...
|
||||
# Adding location for the tag files is done as follows:
|
||||
#
|
||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||
# where "loc1" and "loc2" can be relative or absolute paths or
|
||||
# URLs. If a location is present for each tag, the installdox tool
|
||||
# does not have to be run to correct the links.
|
||||
# Note that each tag file must have a unique name
|
||||
# (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.
|
||||
# where "loc1" and "loc2" can be relative or absolute paths
|
||||
# or URLs. Note that each tag file must have a unique name (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
|
||||
# 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
|
||||
# be listed.
|
||||
|
||||
EXTERNAL_GROUPS = YES
|
||||
EXTERNAL_GROUPS = NO
|
||||
|
||||
# The PERL_PATH should be the absolute path and name of the perl script
|
||||
# interpreter (i.e. the result of `which perl').
|
||||
|
@ -1551,13 +1625,12 @@ HAVE_DOT = YES
|
|||
|
||||
DOT_NUM_THREADS = 0
|
||||
|
||||
# By default doxygen will write a font called Helvetica to the output
|
||||
# directory and reference it in all dot files that doxygen generates.
|
||||
# When you want a differently looking font you can specify the font name
|
||||
# using DOT_FONTNAME. You need to make sure dot is able to find the font,
|
||||
# which can be done by putting it in a standard location or by setting the
|
||||
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
|
||||
# containing the font.
|
||||
# By default doxygen will use the Helvetica font for all dot files that
|
||||
# doxygen generates. When you want a differently looking font you can specify
|
||||
# the font name using DOT_FONTNAME. You need to make sure dot is able to find
|
||||
# the font, which can be done by putting it in a standard location or by setting
|
||||
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
|
||||
# directory containing the font.
|
||||
|
||||
DOT_FONTNAME = Helvetica
|
||||
|
||||
|
@ -1566,17 +1639,16 @@ DOT_FONTNAME = Helvetica
|
|||
|
||||
DOT_FONTSIZE = 10
|
||||
|
||||
# By default doxygen will tell dot to use the output directory to look for the
|
||||
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
|
||||
# different font using DOT_FONTNAME you can set the path where dot
|
||||
# can find it using this tag.
|
||||
# By default doxygen will tell dot to use the Helvetica font.
|
||||
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
|
||||
# set the path where dot can find it.
|
||||
|
||||
DOT_FONTPATH =
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
||||
|
@ -1598,6 +1670,15 @@ GROUP_GRAPHS = YES
|
|||
|
||||
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
|
||||
# relations between templates and their instances.
|
||||
|
||||
|
@ -1638,7 +1719,7 @@ CALLER_GRAPH = 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
|
||||
# in a graphical way. The dependency relations are determined by the #include
|
||||
# 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
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# 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.
|
||||
|
||||
DOT_CLEANUP = YES
|
||||
|
|
@ -3,23 +3,20 @@
|
|||
<navindex>
|
||||
<tab type="mainpage" visible="yes" title="libopencm3"/>
|
||||
<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="" 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="dirs" visible="yes" title="" intro=""/>
|
||||
<tab type="examples" visible="yes" title="" intro=""/>
|
||||
</navindex>
|
||||
|
||||
<!-- 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
|
||||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../..
|
||||
ifeq ($(wildcard ../../../../lib/libopencm3_lm3s.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../..
|
||||
endif
|
||||
|
||||
CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||
-mcpu=cortex-m3 -mthumb -MD
|
||||
LDSCRIPT ?= $(BINARY).ld
|
||||
|
|
|
@ -24,14 +24,18 @@ CC = $(PREFIX)-gcc
|
|||
LD = $(PREFIX)-gcc
|
||||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../..
|
||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc13xx.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../..
|
||||
endif
|
||||
|
||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||
-mcpu=cortex-m3 -mthumb -MD
|
||||
LDSCRIPT ?= $(BINARY).ld
|
||||
|
|
|
@ -24,14 +24,18 @@ CC = $(PREFIX)-gcc
|
|||
LD = $(PREFIX)-gcc
|
||||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../..
|
||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc17xx.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../..
|
||||
endif
|
||||
|
||||
CFLAGS += -O0 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||
-mcpu=cortex-m3 -mthumb -MD
|
||||
LDSCRIPT ?= $(BINARY).ld
|
||||
|
|
|
@ -27,14 +27,18 @@ LD = $(PREFIX)-gcc
|
|||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
GDB = $(PREFIX)-gdb
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../..
|
||||
ifeq ($(wildcard ../../../../lib/libopencm3_lpc43xx.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../..
|
||||
endif
|
||||
|
||||
CFLAGS += -O2 -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
|
||||
-mcpu=cortex-m4 -mthumb -MD \
|
||||
-mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||
|
|
|
@ -25,19 +25,23 @@ LD = $(PREFIX)-gcc
|
|||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
GDB = $(PREFIX)-gdb
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../../..
|
||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f1.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
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
|
||||
TOOLCHAIN_DIR := ../../../../..
|
||||
endif
|
||||
|
||||
ARCH_FLAGS = -mthumb -mcpu=cortex-m3 -msoft-float
|
||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
||||
-fno-common $(ARCH_FLAGS) -MD -DSTM32F1
|
||||
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 \
|
||||
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
||||
$(ARCH_FLAGS) -mfix-cortex-m3-ldrd
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/flash.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/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) 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
|
||||
* 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. */
|
||||
adc_disable_scan_mode(ADC1);
|
||||
adc_set_single_conversion_mode(ADC1);
|
||||
adc_enable_discontinous_mode_regular(ADC1);
|
||||
adc_disable_external_trigger_regular(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_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. */
|
||||
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||
|
@ -138,15 +138,14 @@ int main(void)
|
|||
/* Continously convert and poll the temperature ADC. */
|
||||
while (1) {
|
||||
/*
|
||||
* If the ADC_CR2_ON bit is already set -> setting it another time
|
||||
* starts the conversion.
|
||||
* Start the conversion directly (ie without a trigger).
|
||||
*/
|
||||
adc_on(ADC1);
|
||||
adc_start_conversion_direct(ADC1);
|
||||
|
||||
/* 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
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/f1/dma.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/systick.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/flash.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/can.h>
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/flash.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/systick.h>
|
||||
|
||||
u32 temp32;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -69,14 +69,13 @@ void adc_setup(void)
|
|||
/* We configure everything for one single conversion. */
|
||||
adc_disable_scan_mode(ADC1);
|
||||
adc_set_single_conversion_mode(ADC1);
|
||||
adc_enable_discontinous_mode_regular(ADC1);
|
||||
adc_disable_external_trigger_regular(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_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. */
|
||||
for (i = 0; i < 800000; i++) /* Wait a bit. */
|
||||
|
@ -131,10 +130,9 @@ int main(void)
|
|||
adc_set_regular_sequence(ADC1, 1, channel_array);
|
||||
|
||||
/*
|
||||
* If the ADC_CR2_ON bit is already set -> setting it another time
|
||||
* starts the conversion.
|
||||
* Start the conversion directly (not trigger mode).
|
||||
*/
|
||||
adc_on(ADC1);
|
||||
adc_start_conversion_direct(ADC1);
|
||||
|
||||
/* Wait for end of conversion. */
|
||||
while (!(ADC_SR(ADC1) & ADC_SR_EOC));
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/timer.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/spi.h>
|
||||
#include "./dogm128.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <libopencm3/stm32/f1/rtc.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/pwr.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/flash.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/systick.h>
|
||||
|
||||
u32 temp32;
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/flash.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/timer.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void gpio_setup(void)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 exti_line_state;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 exti_line_state;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
#define FALLING 0
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/timer.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
#define FALLING 0
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/timer.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 frequency_sequence[18] = {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/systick.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <libopencm3/stm32/f1/rcc.h>
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <libopencm3/stm32/f1/rtc.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/pwr.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
|
||||
void clock_setup(void)
|
||||
{
|
||||
|
|
|
@ -26,18 +26,22 @@ LD = $(PREFIX)-gcc
|
|||
OBJCOPY = $(PREFIX)-objcopy
|
||||
OBJDUMP = $(PREFIX)-objdump
|
||||
GDB = $(PREFIX)-gdb
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../../..
|
||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f2.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../../..
|
||||
endif
|
||||
|
||||
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
|
||||
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F2
|
||||
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 \
|
||||
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
|
||||
-mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <errno.h>
|
||||
#include <libopencm3/stm32/spi.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/rcc.h>
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <errno.h>
|
||||
#include <libopencm3/stm32/f2/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/nvic.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/f2/rcc.h>
|
||||
|
||||
void clock_setup(void)
|
||||
|
|
|
@ -27,21 +27,26 @@ OBJCOPY = $(PREFIX)-objcopy
|
|||
OBJDUMP = $(PREFIX)-objdump
|
||||
GDB = $(PREFIX)-gdb
|
||||
FLASH = $(shell which st-flash)
|
||||
|
||||
TOOLCHAIN_DIR ?= ../../../../..
|
||||
ifeq ($(wildcard ../../../../../lib/libopencm3_stm32f4.a),)
|
||||
ifneq ($(strip $(shell which $(CC))),)
|
||||
TOOLCHAIN_DIR := $(shell dirname `which $(CC)`)/../$(PREFIX)
|
||||
endif
|
||||
else
|
||||
ifeq ($(V),1)
|
||||
$(info We seem to be building the example in the source directory. Using local library!)
|
||||
endif
|
||||
TOOLCHAIN_DIR := ../../../../..
|
||||
endif
|
||||
|
||||
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
|
||||
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
|
||||
LDFLAGS += --static -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
|
||||
-L$(TOOLCHAIN_DIR)/lib/stm32/f4 \
|
||||
-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
|
||||
|
||||
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.
|
||||
*
|
||||
* 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
|
||||
* 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
|
||||
* 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
|
||||
#define LIBOPENCM3_NVIC_H
|
||||
|
||||
#include <libopencm3/stm32/memorymap.h>
|
||||
#include <libopencm3/cm3/common.h>
|
||||
#include <libopencm3/cm3/memorymap.h>
|
||||
|
||||
/* --- NVIC Registers ------------------------------------------------------ */
|
||||
|
||||
|
@ -79,9 +81,9 @@ LGPL License Terms @ref lgpl_license
|
|||
|
||||
/* --- IRQ channel numbers-------------------------------------------------- */
|
||||
|
||||
/* Cortex M3 System Interrupts */
|
||||
/** @defgroup nvic_sysint Cortex M3 System Interrupts
|
||||
@ingroup STM32F_nvic_defines
|
||||
/* Cortex M3 and M4 System Interrupts */
|
||||
/** @defgroup nvic_sysint Cortex M3/M4 System Interrupts
|
||||
@ingroup CM3_nvic_defines
|
||||
|
||||
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
|
||||
/**@}*/
|
||||
|
||||
|
||||
/* Note: User interrupts are family specific and are defined in a family
|
||||
* specific header file in the corresponding subfolder.
|
||||
*/
|
||||
|
||||
#if defined(STM32F1)
|
||||
# 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
|
||||
|
||||
#include <libopencm3/dispatch/nvic.h>
|
||||
|
||||
/* --- NVIC functions ------------------------------------------------------ */
|
||||
|
||||
|
@ -131,5 +123,3 @@ void nvic_generate_software_interrupt(u16 irqn);
|
|||
END_DECLS
|
||||
|
||||
#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