FreeEMS  0.2.0-SNAPSHOT-285-g028e24c
groups.h
Go to the documentation of this file.
1 /* FreeEMS - the open source engine management system
2  *
3  * Copyright 2010 Fred Cooke
4  *
5  * This file is part of the FreeEMS project.
6  *
7  * FreeEMS software is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * FreeEMS software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with any FreeEMS software. If not, see http://www.gnu.org/licenses/
19  *
20  * We ask that if you make any changes to this file you email them upstream to
21  * us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
22  *
23  * Thank you for choosing FreeEMS to run your engine!
24  */
25 
26 /** @file
27  *
28  * @ingroup doxygenDocFiles
29  * @brief Doxygen module groups definition
30  *
31  * @note The order of group definitions within this file determines the order
32  * of them on the modules page so place new groups accordingly.
33  */
34 
35 /** @defgroup interruptHandlers Interrupt Service Routines
36  *
37  * These files contain special functions that take no arguments and have void
38  * return type. They can not take arguments or return anything as they are
39  * called asynchronously by the hardware through a special jump table that
40  * contains the start address of each one. Typically these functions take care
41  * of handling asyncronous external events that are triggered through some sort
42  * of peripheral module. Examples of types of events that require interrupts
43  * and associated handlers are listed below.
44  *
45  * @b Examples:
46  * - change of pin voltage state (high to low or vice versa)
47  * - data received by a communication module
48  * - buffer for data to be sent by a communication module requires refilling
49  * - real time clock ticks
50  * - timer module ticks
51  */
52 
53 /** @defgroup enginePositionRPMDecoders Engine Position/RPM Decoders
54  *
55  * All of the code that reads the high speed engine
56  * position signals can be found linked to from here.
57  *
58  * Currently only NipponDenso is semi functional.
59  */
60 
61 /** @defgroup communicationsFiles Communications
62  *
63  * All files that are involved in communicating with something outside the MCU
64  * can be found here.
65  *
66  * @b Examples:
67  * - UART/SCI
68  * - CAN
69  * - SPI
70  * - I2C
71  */
72 
73 /** @defgroup globalHeaders Global Headers
74  *
75  * These key files are included in most source files by default.
76  *
77  * @b Examples:
78  * - Global defines
79  * - Global constants
80  * - Global variables
81  * - Error codes
82  * - Device header
83  * - Struct typedefs
84  */
85 
86 /** @defgroup dataInitialisers Data Initialisers
87  *
88  * These files provide initial data definitions for items that live in flash.
89  *
90  * @b Examples:
91  * - Tables
92  * - Tunables
93  * - Fixed config
94  * - Lookup tables
95  * - Global constants
96  */
97 
98 /** @defgroup measurementsAndCalculations Measurements And Calculations
99  *
100  * These files all operate on inputs in order to eventually generate outputs.
101  *
102  * @b Examples:
103  * - ADC readings
104  * - Core variable generation
105  * - Core variable averaging
106  * - Derived variable generation
107  * - Fuel calculations
108  * - Ignition calculations
109  */
110 
111 /** @defgroup allHeaders All Header Files
112  *
113  * Most of these are fairly uninteresting, hence being close to the bottom of
114  * the modules list. Typically they just contain function declarations for
115  * inclusion in other source files.
116  */
117 
118 /** @defgroup testing Test Files
119  *
120  * A very small group at this stage, this is intended to contain various files
121  * that manipulate the functional code by providing it with artificial inputs
122  * instead of real values read from sensors.
123  */
124 
125 /** @defgroup doxygenDocFiles Doxygen Documentation Files
126  *
127  * These files exist purely to contain documentation for extraction
128  * by Doxygen. Using this grouping keeps them off the file list.
129  */
130 
131 /** @defgroup xgateFiles XGATE Related Files
132  *
133  * Files related to XGATE co-processor functionality.
134  */