Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
datatypes.h@0:230c10b228ea, 2011-10-07 (annotated)
- Committer:
- sblair
- Date:
- Fri Oct 07 13:41:08 2011 +0000
- Revision:
- 0:230c10b228ea
- Child:
- 1:9399d44c2b1a
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sblair | 0:230c10b228ea | 1 | #ifndef DATATYPES_H |
| sblair | 0:230c10b228ea | 2 | #define DATATYPES_H |
| sblair | 0:230c10b228ea | 3 | |
| sblair | 0:230c10b228ea | 4 | #ifdef __cplusplus /* If this is a C++ compiler, use C linkage */ |
| sblair | 0:230c10b228ea | 5 | extern "C" { |
| sblair | 0:230c10b228ea | 6 | #endif |
| sblair | 0:230c10b228ea | 7 | |
| sblair | 0:230c10b228ea | 8 | #include "ctypes.h" |
| sblair | 0:230c10b228ea | 9 | |
| sblair | 0:230c10b228ea | 10 | // enums |
| sblair | 0:230c10b228ea | 11 | enum ACDdir { |
| sblair | 0:230c10b228ea | 12 | ACDDIR_UNKNOWN, |
| sblair | 0:230c10b228ea | 13 | ACDDIR_FORWARD, |
| sblair | 0:230c10b228ea | 14 | ACDDIR_BACKWARD, |
| sblair | 0:230c10b228ea | 15 | ACDDIR_BOTH |
| sblair | 0:230c10b228ea | 16 | }; |
| sblair | 0:230c10b228ea | 17 | enum seqT { |
| sblair | 0:230c10b228ea | 18 | SEQT_POS_NEG_ZERO, |
| sblair | 0:230c10b228ea | 19 | SEQT_DIR_QUAD_ZERO |
| sblair | 0:230c10b228ea | 20 | }; |
| sblair | 0:230c10b228ea | 21 | enum Dbpos { |
| sblair | 0:230c10b228ea | 22 | DBPOS_INTERMEDIATE, |
| sblair | 0:230c10b228ea | 23 | DBPOS_OFF, |
| sblair | 0:230c10b228ea | 24 | DBPOS_ON, |
| sblair | 0:230c10b228ea | 25 | DBPOS_BAD |
| sblair | 0:230c10b228ea | 26 | }; |
| sblair | 0:230c10b228ea | 27 | enum Tcmd { |
| sblair | 0:230c10b228ea | 28 | TCMD_STOP, |
| sblair | 0:230c10b228ea | 29 | TCMD_LOWER, |
| sblair | 0:230c10b228ea | 30 | TCMD_HIGHER, |
| sblair | 0:230c10b228ea | 31 | TCMD_RESERVED |
| sblair | 0:230c10b228ea | 32 | }; |
| sblair | 0:230c10b228ea | 33 | enum Beh { |
| sblair | 0:230c10b228ea | 34 | BEH_ON, |
| sblair | 0:230c10b228ea | 35 | BEH_BLOCKED, |
| sblair | 0:230c10b228ea | 36 | BEH_TEST, |
| sblair | 0:230c10b228ea | 37 | BEH_TEST_BLOCKED, |
| sblair | 0:230c10b228ea | 38 | BEH_OFF |
| sblair | 0:230c10b228ea | 39 | }; |
| sblair | 0:230c10b228ea | 40 | enum Mod { |
| sblair | 0:230c10b228ea | 41 | MOD_ON, |
| sblair | 0:230c10b228ea | 42 | MOD_BLOCKED, |
| sblair | 0:230c10b228ea | 43 | MOD_TEST, |
| sblair | 0:230c10b228ea | 44 | MOD_TEST_BLOCKED, |
| sblair | 0:230c10b228ea | 45 | MOD_OFF |
| sblair | 0:230c10b228ea | 46 | }; |
| sblair | 0:230c10b228ea | 47 | enum Health { |
| sblair | 0:230c10b228ea | 48 | HEALTH_OK, |
| sblair | 0:230c10b228ea | 49 | HEALTH_WARNING, |
| sblair | 0:230c10b228ea | 50 | HEALTH_ALARM |
| sblair | 0:230c10b228ea | 51 | }; |
| sblair | 0:230c10b228ea | 52 | |
| sblair | 0:230c10b228ea | 53 | // data attributes |
| sblair | 0:230c10b228ea | 54 | struct myAnalogValue { |
| sblair | 0:230c10b228ea | 55 | CTYPE_FLOAT32 f; |
| sblair | 0:230c10b228ea | 56 | }; |
| sblair | 0:230c10b228ea | 57 | struct ScaledValueConfig { |
| sblair | 0:230c10b228ea | 58 | CTYPE_FLOAT32 scaleFactor; |
| sblair | 0:230c10b228ea | 59 | CTYPE_FLOAT32 offset; |
| sblair | 0:230c10b228ea | 60 | }; |
| sblair | 0:230c10b228ea | 61 | struct myVector { |
| sblair | 0:230c10b228ea | 62 | struct myAnalogValue mag; |
| sblair | 0:230c10b228ea | 63 | struct myAnalogValue ang; |
| sblair | 0:230c10b228ea | 64 | }; |
| sblair | 0:230c10b228ea | 65 | struct simpleVector { |
| sblair | 0:230c10b228ea | 66 | struct myAnalogValue mag; |
| sblair | 0:230c10b228ea | 67 | struct myAnalogValue ang; |
| sblair | 0:230c10b228ea | 68 | }; |
| sblair | 0:230c10b228ea | 69 | |
| sblair | 0:230c10b228ea | 70 | // data objects |
| sblair | 0:230c10b228ea | 71 | struct myMod { |
| sblair | 0:230c10b228ea | 72 | enum Mod ctlVal; |
| sblair | 0:230c10b228ea | 73 | enum Mod stVal; |
| sblair | 0:230c10b228ea | 74 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 75 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 76 | }; |
| sblair | 0:230c10b228ea | 77 | struct myHealth { |
| sblair | 0:230c10b228ea | 78 | enum Health stVal; |
| sblair | 0:230c10b228ea | 79 | }; |
| sblair | 0:230c10b228ea | 80 | struct myBeh { |
| sblair | 0:230c10b228ea | 81 | enum Beh stVal; |
| sblair | 0:230c10b228ea | 82 | }; |
| sblair | 0:230c10b228ea | 83 | struct myINS { |
| sblair | 0:230c10b228ea | 84 | CTYPE_INT32 stVal; |
| sblair | 0:230c10b228ea | 85 | }; |
| sblair | 0:230c10b228ea | 86 | struct myLPL { |
| sblair | 0:230c10b228ea | 87 | CTYPE_VISSTRING255 ldNs; |
| sblair | 0:230c10b228ea | 88 | CTYPE_VISSTRING255 configRev; |
| sblair | 0:230c10b228ea | 89 | }; |
| sblair | 0:230c10b228ea | 90 | struct myDPL { |
| sblair | 0:230c10b228ea | 91 | CTYPE_VISSTRING255 vendor; |
| sblair | 0:230c10b228ea | 92 | CTYPE_VISSTRING255 hwRev; |
| sblair | 0:230c10b228ea | 93 | }; |
| sblair | 0:230c10b228ea | 94 | struct myPos { |
| sblair | 0:230c10b228ea | 95 | CTYPE_DBPOS stVal; |
| sblair | 0:230c10b228ea | 96 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 97 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 98 | CTYPE_BOOLEAN ctlVal; |
| sblair | 0:230c10b228ea | 99 | }; |
| sblair | 0:230c10b228ea | 100 | struct mySPS { |
| sblair | 0:230c10b228ea | 101 | CTYPE_INT32 stVal; |
| sblair | 0:230c10b228ea | 102 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 103 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 104 | }; |
| sblair | 0:230c10b228ea | 105 | struct myMV { |
| sblair | 0:230c10b228ea | 106 | struct myAnalogValue mag; |
| sblair | 0:230c10b228ea | 107 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 108 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 109 | struct ScaledValueConfig sVC; |
| sblair | 0:230c10b228ea | 110 | }; |
| sblair | 0:230c10b228ea | 111 | struct simpleMV { |
| sblair | 0:230c10b228ea | 112 | CTYPE_FLOAT32 mag; |
| sblair | 0:230c10b228ea | 113 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 114 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 115 | struct ScaledValueConfig sVC; |
| sblair | 0:230c10b228ea | 116 | }; |
| sblair | 0:230c10b228ea | 117 | struct simpleCMV { |
| sblair | 0:230c10b228ea | 118 | struct simpleVector cVal; |
| sblair | 0:230c10b228ea | 119 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 120 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 121 | }; |
| sblair | 0:230c10b228ea | 122 | struct simpleWYE { |
| sblair | 0:230c10b228ea | 123 | struct simpleCMV phsA; |
| sblair | 0:230c10b228ea | 124 | struct simpleCMV phsB; |
| sblair | 0:230c10b228ea | 125 | struct simpleCMV phsC; |
| sblair | 0:230c10b228ea | 126 | }; |
| sblair | 0:230c10b228ea | 127 | struct myCMV { |
| sblair | 0:230c10b228ea | 128 | struct myVector cVal; |
| sblair | 0:230c10b228ea | 129 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 130 | CTYPE_TIMESTAMP t; |
| sblair | 0:230c10b228ea | 131 | }; |
| sblair | 0:230c10b228ea | 132 | struct mySEQ { |
| sblair | 0:230c10b228ea | 133 | struct myCMV c1; |
| sblair | 0:230c10b228ea | 134 | struct myCMV c2; |
| sblair | 0:230c10b228ea | 135 | struct myCMV c3; |
| sblair | 0:230c10b228ea | 136 | enum seqT seqT; |
| sblair | 0:230c10b228ea | 137 | }; |
| sblair | 0:230c10b228ea | 138 | struct mySAV { |
| sblair | 0:230c10b228ea | 139 | struct myAnalogValue instMag; |
| sblair | 0:230c10b228ea | 140 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 141 | }; |
| sblair | 0:230c10b228ea | 142 | struct simpleSAV { |
| sblair | 0:230c10b228ea | 143 | struct myAnalogValue instMag; |
| sblair | 0:230c10b228ea | 144 | CTYPE_QUALITY q; |
| sblair | 0:230c10b228ea | 145 | }; |
| sblair | 0:230c10b228ea | 146 | |
| sblair | 0:230c10b228ea | 147 | // logical nodes |
| sblair | 0:230c10b228ea | 148 | struct LN0 { |
| sblair | 0:230c10b228ea | 149 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 150 | struct myHealth Health; |
| sblair | 0:230c10b228ea | 151 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 152 | struct myLPL NamPlt; |
| sblair | 0:230c10b228ea | 153 | }; |
| sblair | 0:230c10b228ea | 154 | struct LPHDa { |
| sblair | 0:230c10b228ea | 155 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 156 | struct myHealth Health; |
| sblair | 0:230c10b228ea | 157 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 158 | struct myLPL NamPlt; |
| sblair | 0:230c10b228ea | 159 | struct myDPL PhyNam; |
| sblair | 0:230c10b228ea | 160 | struct myINS PhyHealth; |
| sblair | 0:230c10b228ea | 161 | struct mySPS Proxy; |
| sblair | 0:230c10b228ea | 162 | struct { |
| sblair | 0:230c10b228ea | 163 | struct myAnalogValue instMag_1[2]; |
| sblair | 0:230c10b228ea | 164 | struct myMod Mod_1[2]; |
| sblair | 0:230c10b228ea | 165 | enum Mod stVal_1[2]; |
| sblair | 0:230c10b228ea | 166 | CTYPE_QUALITY q_1[2]; |
| sblair | 0:230c10b228ea | 167 | struct myMV Amps_1[2]; |
| sblair | 0:230c10b228ea | 168 | struct myPos Pos_2[2]; |
| sblair | 0:230c10b228ea | 169 | } sv_inputs; |
| sblair | 0:230c10b228ea | 170 | }; |
| sblair | 0:230c10b228ea | 171 | struct CSWIa { |
| sblair | 0:230c10b228ea | 172 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 173 | struct myHealth Health; |
| sblair | 0:230c10b228ea | 174 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 175 | struct myPos Pos; |
| sblair | 0:230c10b228ea | 176 | struct mySPS GrpAl; |
| sblair | 0:230c10b228ea | 177 | }; |
| sblair | 0:230c10b228ea | 178 | struct MMXUa { |
| sblair | 0:230c10b228ea | 179 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 180 | struct myHealth Beh; |
| sblair | 0:230c10b228ea | 181 | struct myBeh Health; |
| sblair | 0:230c10b228ea | 182 | struct myMV Amps; |
| sblair | 0:230c10b228ea | 183 | struct myMV Volts; |
| sblair | 0:230c10b228ea | 184 | }; |
| sblair | 0:230c10b228ea | 185 | struct exampleMMXU { |
| sblair | 0:230c10b228ea | 186 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 187 | struct myHealth Beh; |
| sblair | 0:230c10b228ea | 188 | struct myBeh Health; |
| sblair | 0:230c10b228ea | 189 | struct simpleWYE A; |
| sblair | 0:230c10b228ea | 190 | struct { |
| sblair | 0:230c10b228ea | 191 | struct simpleSAV AmpLocPhsA_1[16]; |
| sblair | 0:230c10b228ea | 192 | struct simpleSAV AmpLocPhsB_1[16]; |
| sblair | 0:230c10b228ea | 193 | struct simpleSAV AmpLocPhsC_1[16]; |
| sblair | 0:230c10b228ea | 194 | } sv_inputs; |
| sblair | 0:230c10b228ea | 195 | }; |
| sblair | 0:230c10b228ea | 196 | struct exampleRMXU { |
| sblair | 0:230c10b228ea | 197 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 198 | struct myHealth Beh; |
| sblair | 0:230c10b228ea | 199 | struct myBeh Health; |
| sblair | 0:230c10b228ea | 200 | struct simpleSAV AmpLocPhsA; |
| sblair | 0:230c10b228ea | 201 | struct simpleSAV AmpLocPhsB; |
| sblair | 0:230c10b228ea | 202 | struct simpleSAV AmpLocPhsC; |
| sblair | 0:230c10b228ea | 203 | }; |
| sblair | 0:230c10b228ea | 204 | struct CILOa { |
| sblair | 0:230c10b228ea | 205 | struct myHealth Mod; |
| sblair | 0:230c10b228ea | 206 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 207 | struct myINS Health; |
| sblair | 0:230c10b228ea | 208 | struct mySPS EnaOpen; |
| sblair | 0:230c10b228ea | 209 | struct mySPS EnaClose; |
| sblair | 0:230c10b228ea | 210 | }; |
| sblair | 0:230c10b228ea | 211 | struct TVTRa { |
| sblair | 0:230c10b228ea | 212 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 213 | struct myHealth Health; |
| sblair | 0:230c10b228ea | 214 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 215 | struct mySAV Vol; |
| sblair | 0:230c10b228ea | 216 | }; |
| sblair | 0:230c10b228ea | 217 | struct RSYNa { |
| sblair | 0:230c10b228ea | 218 | struct myMod Mod; |
| sblair | 0:230c10b228ea | 219 | struct myHealth Health; |
| sblair | 0:230c10b228ea | 220 | struct myBeh Beh; |
| sblair | 0:230c10b228ea | 221 | struct myLPL NamPlt; |
| sblair | 0:230c10b228ea | 222 | struct mySPS Rel; |
| sblair | 0:230c10b228ea | 223 | struct { |
| sblair | 0:230c10b228ea | 224 | struct myAnalogValue instMag_1[2]; |
| sblair | 0:230c10b228ea | 225 | struct myMod Mod_1[2]; |
| sblair | 0:230c10b228ea | 226 | enum Mod stVal_1[2]; |
| sblair | 0:230c10b228ea | 227 | CTYPE_QUALITY q_1[2]; |
| sblair | 0:230c10b228ea | 228 | struct myMV Amps_1[2]; |
| sblair | 0:230c10b228ea | 229 | struct myPos Pos_2[2]; |
| sblair | 0:230c10b228ea | 230 | } sv_inputs; |
| sblair | 0:230c10b228ea | 231 | struct { |
| sblair | 0:230c10b228ea | 232 | struct myAnalogValue instMag_1; |
| sblair | 0:230c10b228ea | 233 | struct myPos Pos_1; |
| sblair | 0:230c10b228ea | 234 | struct myPos Pos_2; |
| sblair | 0:230c10b228ea | 235 | enum Mod stVal_1; |
| sblair | 0:230c10b228ea | 236 | struct myMV Amps_1; |
| sblair | 0:230c10b228ea | 237 | struct myMV Volts_1; |
| sblair | 0:230c10b228ea | 238 | } gse_inputs; |
| sblair | 0:230c10b228ea | 239 | }; |
| sblair | 0:230c10b228ea | 240 | |
| sblair | 0:230c10b228ea | 241 | void init_datatypes(); |
| sblair | 0:230c10b228ea | 242 | |
| sblair | 0:230c10b228ea | 243 | |
| sblair | 0:230c10b228ea | 244 | |
| sblair | 0:230c10b228ea | 245 | |
| sblair | 0:230c10b228ea | 246 | #ifdef __cplusplus /* If this is a C++ compiler, end C linkage */ |
| sblair | 0:230c10b228ea | 247 | } |
| sblair | 0:230c10b228ea | 248 | #endif |
| sblair | 0:230c10b228ea | 249 | |
| sblair | 0:230c10b228ea | 250 | #endif |