FreeEMS
0.2.0-SNAPSHOT-285-g028e24c
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
main
inc
errorDefines.h
Go to the documentation of this file.
1
/* FreeEMS - the open source engine management system
2
*
3
* Copyright 2008-2012 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
27
/** @file
28
*
29
* @ingroup allHeaders
30
* @ingroup globalHeaders
31
*
32
* @brief Error ID hash defines
33
*
34
* This file contains all error codes for propagation up and out to a PC.
35
* When adding new codes, ensure that they are unique and also that you
36
* group them appropriately in ranges for easy visual identification.
37
*/
38
39
40
/* Header file multiple inclusion protection courtesy eclipse Header Template */
41
/* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
42
#ifndef FILE_ERRORDEFINES_H_SEEN
43
#define FILE_ERRORDEFINES_H_SEEN
44
45
46
/** @todo TODO Introduce some structure to the numbering such that they can be interpreted somewhat without a chart */
47
48
// A OK Nothing is wrong No error error.
49
#define NO_PROBLEMO 0x0666
50
51
/* Unconfigured options */
52
#define IAT_NOT_CONFIGURED_CODE 0x1000
53
#define CHT_NOT_CONFIGURED_CODE 0x1001
54
#define BRV_NOT_CONFIGURED_CODE 0x1002
55
#define LOAD_NOT_CONFIGURED_CODE 0x1003
56
57
58
/* Badly configured options */
59
#define VE_TABLE_MAIN_LOAD_LENGTH_TOO_LONG 0x2000
60
#define VE_TABLE_MAIN_RPM_LENGTH_TOO_LONG 0x2001
61
#define VE_TABLE_MAIN_MAIN_LENGTH_TOO_LONG 0x2002
62
#define BRV_MAX_TOO_LARGE 0x2003
63
64
65
/* Flash burning error codes */
66
#define sizeNotMultipleOfSectorSize 0x3000
67
#define sizeOfBlockToBurnIsZero 0x3001
68
#define smallBlockCrossesSectorBoundary 0x3002
69
#define addressNotSectorAligned 0x3003
70
#define addressNotWordAligned 0x3004
71
#define addressNotFlashRegion 0x3005
72
#define flashEraseFailed 0x3006
73
#define flashAccessError 0x3007
74
#define flashProtectionError 0x3008
75
76
77
// memory check error
78
#define MEMORY_WRITE_ERROR 0x3009
79
80
/* Communications error codes */
81
#define unimplementedFunction 0x4000
82
#define packetChecksumMismatch 0x4001
83
#define packetTooShortForSpecifiedFields 0x4002
84
#define doesNotMakeSenseToRetrievePartially 0x4003
85
#define payloadLengthTypeMismatch 0x4004
86
#define payloadLengthHeaderMismatch 0x4005
87
#define invalidPayloadID 0x4006
88
#define unrecognisedPayloadID 0x4007
89
#define invalidMemoryActionForID 0x4008
90
#define invalidIDForMainTableAction 0x4009
91
#define invalidIDForTwoDTableAction 0x400A
92
#define noSuchAsyncDatalogType 0x400B
93
#define datalogLengthExceedsMax 0x400C
94
#define locationIDNotFound 0x400D
95
#define requestedRAMPageInvalid 0x400E
96
#define requestedFlashPageInvalid 0x400F
97
#define requestedLengthTooLarge 0x4010
98
#define requestedAddressDisallowed 0x4011
99
#define invalidSizeOffsetCombination 0x4012
100
#define uncheckedTableManipulationNotAllowed 0x4013
101
#define payloadNotEqualToSpecifiedValue 0x4014
102
#define noSuchLocationIDListType 0x4015
103
#define payloadShorterThanRequiredForTest 0x4016
104
#define noSuchUnitTestID 0x4017
105
#define attemptToWriteToReadOnlyBlock 0x4018
106
107
#define invalidAxisOrder 1
/* prevent parsing */
108
#define invalidAxisIndex 2
/* prevent parsing */
109
110
#define errorBaseMainTableRPM 0x6000
111
#define invalidMainTableRPMOrder 0x6001
112
#define invalidMainTableRPMIndex 0x6002
113
#define invalidMainTableRPMLength 0x6003
114
#define errorBaseMainTableLoad 0x6004
115
#define invalidMainTableLoadOrder 0x6005
116
#define invalidMainTableLoadIndex 0x6006
117
#define invalidMainTableLoadLength 0x6007
118
#define invalidMainTableMainLength 0x6008
119
120
#define errorBaseTwoDTableAxis 0x6010
121
#define invalidTwoDTableAxisOrder 0x6011
122
#define invalidTwoDTableIndex 0x6012
123
124
#define thisIsNotTheBenchTestDecoder 0x7777
125
#define tooShortOfAPulseWidthToTest 0x7778
126
#define unimplementedTestMode 0x7779
127
#define invalidEventsPerCycle 0x777A
128
#define invalidNumberOfCycles 0x777B
129
#define tooShortOfAnEventPeriod 0x777C
130
#define noChannelsConfiguredToTest 0x777D
131
#define benchTestAlreadyRunning 0x777E
132
#define packetSizeWrongForTestMode 0x777F
133
#define bumpingByZeroMakesNoSense 0x7780
134
#define benchTestNotRunningToStop 0x7781
135
#define benchTestNotRunningToBump 0x7782
136
#define tooManyEventsPerCycleMissingTth 0x7783
137
138
139
#else
140
/* let us know if we are being untidy with headers */
141
#warning "Header file ERRORDEFINES_H seen before, sort it out!"
142
/* end of the wrapper ifdef from the very top */
143
#endif
Generated on Sat Jun 6 2015 07:41:31 for FreeEMS by
1.8.1.2