diff --git a/doc/Doxyfile b/doc/Doxyfile index 198f2de3d..49c33e500 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -25,7 +25,7 @@ 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. -PROJECT_NAME = Open Model Railroad Network (OpenMRN) +PROJECT_NAME = "Open Model Railroad Network (OpenMRN)" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or @@ -1146,7 +1146,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/doc/hub_router_gateway.dox b/doc/hub_router_gateway.dox index 10b6056e1..066c744dc 100644 --- a/doc/hub_router_gateway.dox +++ b/doc/hub_router_gateway.dox @@ -3,7 +3,7 @@ * @section tableofcontents Table of Contents * - @ref introduction * - @ref hub - * - @ref routers + * - @ref router * - @ref gateway * * @@ -17,33 +17,33 @@ * * * - * @section hub Hubs + * @section hub Hub * A hub connects two or more physical interfaces through software. It makes * no interpretation of the incoming messages. A hub simply forwards an * incoming message coming in on one segment to all of the other segments * participating in the hub. A hub may connect more than one physical interface * type (i.e. CAN, GridConnect over serial or TCP, raw TCP, etc...). All - * participants in a hub must have the same abstract protocol (NMRAnet for + * participants in a hub must have the same abstract protocol (OpenLCB for * example). * * * - * @section routers Routers + * @section router Router * A router connects two or more physical interfaces through software. It can * interpret incoming messages from each segment and make an intelligent * decision as to which of the other participating segments the message should * be forwarded onto. The decision process can be made based on static routing * tables, or based on a learning tree as to what segment a message is * destined. All participants in a hub must have the same abstract protocol - * (NMRAnet for example). + * (OpenLCB for example). * * * - * @section gateways Gateways + * @section gateway Gateway * A gateway connects exactly two physical interfaces through software. Unlike - * with @ref hub or @ref router, a gateway connects two segments with differing + * a @ref hub or @ref router, a gateway connects two segments with differing * abstract protocols. For example, a gateway can connect an XpressNet segment - * to an NMRAnet segment. A translation between the two abstract protocols + * to an OpenLCB segment. A translation between the two abstract protocols * takes place in the implementation of the gateway. */ diff --git a/doc/main.dox b/doc/main.dox index e99ea8c92..6f75dabc0 100644 --- a/doc/main.dox +++ b/doc/main.dox @@ -1,26 +1,10 @@ /** * @mainpage * - * @section tableofcontents Table of Contents - * - @ref intro_section - * - @ref main_getting_started - * - @ref main_user_api - * - @ref copyright - * - @ref OpenMRN_license - * - @ref FreeRTOS_license - * - @ref newlib_license - * - @ref cJSON_license - * - @ref tinyxml2_license - * - @ref sys_tree_license - * - @ref layering - * - @ref threading - * - @ref main_thread - * - @ref rx_thread - * - @ref timer_thread - * - @ref idle_thread - * - @ref additional_threads - * - @ref hub_router_gateway - * - @ref coding_guidelines + * @tableofcontents + * + * + * * * @section intro_section Introduction * OpenMRN is a networking stack specifically designed for use in model diff --git a/doc/style_guide.dox b/doc/style_guide.dox index b05f3b586..d8423b57e 100644 --- a/doc/style_guide.dox +++ b/doc/style_guide.dox @@ -1,44 +1,9 @@ /** * @page style_guide Coding Guidelines - * @section tableofcontents Table of Contents - * - @ref introduction - * - @ref coding_style - * - @ref comments - * - @ref pointer_reference - * - @ref lineendings - * - @ref tabs - * - @ref keywords - * - @ref braces - * - @ref line_size - * - @ref include_order - * - @ref naming - * - @ref styles - * - @ref hungarian - * - @ref filenames - * - @ref include_guards - * - @ref constants - * - @ref functions - * - @ref globals - * - @ref locals - * - @ref macros - * - @ref structures - * - @ref cxxclasses - * - @ref handles - * - @ref counters - * - @ref switch - * - @ref if_else - * - @ref coding_standards - * - @ref reference_args - * - @ref cxxexceptions - * - @ref rtti - * - @ref streams - * - @ref pre_increment_decrement - * - @ref zero_null - * - @ref auto - * - @ref brace_initialization - * - @ref boost - * - @ref cxx11 - * - @ref exceptions + * + * @tableofcontents + * + * * * @section introduction Introduction * OpenMRN source code adheres to strict coding guidelines. These guidelines @@ -191,7 +156,7 @@ * * Some examples: * @code - * namespace ExampleNamepace + * namespace example_namepace * { * * void example_function(int param) @@ -257,12 +222,12 @@ * order using quotes. There will be a blank line between the corresponding * header file and the start of the system/library headers and another blank * line between the end of the system/library headers and the start of all the - * rest of the headers. Comments may optionally follow and include declaration + * rest of the headers. Comments may optionally follow an include declaration * but should only be on their own line(s) above the include if in the rare case * the comment would otherwise cause the line to exceed 80 characters. The * comment in this case is not to be a Doxygen comment. Example: * @code - * /* @file Example.cxx (this is an abbreviated file header for example only) + * /* @file Example.cxx (this is an abbreviated file for example only) * */ * * #include "Example.hxx" @@ -306,8 +271,7 @@ * C++ language source and header files will use @ref PascalCase. Source files * will have an extension of ".cxx" and header files will have an extension of * ".hxx". A C++ file shall be named after the major class or object within - * it. If a C++ namespace wraps the definitions within a C++ file, the - * namespace name shall be added to the filename as a prefix. + * it. * * Mixed language (C and C++) header files will use @ref lower_case and have an * extension of ".h". @@ -333,12 +297,12 @@ * * Some Examples: * @code - * endian.h // standard C header file that could also be used in C++ - * hw_init.c // standard C source file - * NMRAnetNode.hxx // C++ class Node implementation within the NMRAnet namespace - * NMRAnetNode.cxx // C++ class Node implementation within the NMRAnet namespace - * build_cdi.py // Executable Python script with permissions -rwxrwxr-x - * info.dox // Doxygen comment only file + * endian.h // standard C header file that could also be used in C++ + * hw_init.c // standard C source file + * Node.hxx // C++ class Node implementation + * Node.cxx // C++ class Node implementation + * build_cdi.py // Executable Python script with permissions -rwxrwxr-x + * info.dox // Doxygen comment only file * @endcode * * @subsubsection include_guards Include Guards @@ -346,13 +310,15 @@ * inclusion of a header within a given source context. The style used for the * tag adds a leading underscore "_", replaces any "." character with an * underscore "_" character, and adds a lagging underscore "_". The case of - * the tag shall match the case of the filename. Additional #includes + * the tag shall be all caps in the @ref UPPER_CASE style. The Include guard + * should also contain the root directories of the file location. Additional + * #includes * shall always fall within the body of the include guard. * For a given filename of - * "ExampleFilename.hxx", see the following example: + * "ExampleFilename.hxx" in the utils directory, see the following example: * @code - * #ifndef _ExampleFilename_hxx_ - * #define _Examplefilename_hxx_ + * #ifndef _UTILS_EXAMPLEFILENAME_hxx_ + * #define _UTILS_EXAMPLEFILENAME_hxx_ * * #include * @@ -469,8 +435,8 @@ * The structure tag uses @ref lower_case and the structure identifier uses * @ref PascalCase. * - * @subsubsection cxxclasses C++ Structures, Classes, Enumerations, and Namespaces - * In C++, classes, structures, enumerations, and namespaces use @ref + * @subsubsection cxxclasses C++ Structures, Classes, and Enumerations + * In C++, classes, structures, and enumerations use @ref * PascalCase. * * In general, public members should be declared first, followed by protected @@ -501,13 +467,17 @@ * ENUM_VALUE = 5; * }; * - * namespace NamespaceExample - * { - * }; - * * @endcode * + * @subsubsection cxxnamespaces C++ Namespaces + * In C++, namespaces use @ref lower_case. * + * For example: + * @code + * namespace example_namespace + * { + * } + * @endcode * * @subsubsection handles Handles * Within C code, it is common to define a handle. A handle is typically a @@ -538,14 +508,14 @@ * * * @subsubsection counters Loop Counters - * It is a best practice to use the variable names i, j, and j for arbitrary + * It is a best practice to use the variable names i, j, and k for arbitrary * loop counters. For example: * @code - * for (int i = 0; i < 10; i++) + * for (int i = 0; i < 10; ++i) * { - * for (int j = 0; j < 10; j++) + * for (int j = 0; j < 10; ++j) * { - * for (int k = 0; k < 10; k++) + * for (int k = 0; k < 10; ++k) * { * } * } @@ -669,7 +639,8 @@ * * @subsection zero_null 0 and nullptr/NULL * Use 0 for integers, 0.0 for reals, nullptr or NULL for pointers, and '\0' - * for chars. + * for chars. In C++ source code, nullptr is prefered over NULL, and NULL is + * considered deprecated. * @code * int i = 0; * float j = 0.0; @@ -683,7 +654,7 @@ * @subsection auto auto * Use of auto is only allowed for local variable declaration. In general, the * use of auto is not preferred, but it is allowed for long cluttered type - * names. + * names or when required by the C++ language semantics. * * * diff --git a/src/freertos_drivers/st/stm32f0xx_hal_conf.h b/src/freertos_drivers/st/stm32f0xx_hal_conf.h index aa1bfc19b..3d77bf7a2 100644 --- a/src/freertos_drivers/st/stm32f0xx_hal_conf.h +++ b/src/freertos_drivers/st/stm32f0xx_hal_conf.h @@ -1,6 +1,6 @@ /** ****************************************************************************** - * @file stm32f0xx_hal_conf_template.h + * @file stm32f0xx_hal_conf.h * @author MCD Application Team * @version V1.2.0 * @date 11-December-2014