123

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Diletant
Date:
Sun May 15 19:12:12 2016 +0000
Revision:
161:efd949e8d536
Parent:
156:e68ee0bcdcda
Child:
166:c3c0b8a90d81
Device & ... update. Not final!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Diletant 137:14a0c452cf32 1 #include "Device.h"
Diletant 137:14a0c452cf32 2
Diletant 137:14a0c452cf32 3 Device device;
Diletant 137:14a0c452cf32 4 HashParam hashParamTable[HASH_PARAM_COUNT];
Diletant 149:abbf7663d27d 5 HashFunc hashFuncTable[HASH_FUNC_COUNT];
Diletant 137:14a0c452cf32 6
Diletant 137:14a0c452cf32 7 void InitDevice(void)
Diletant 137:14a0c452cf32 8 {
Diletant 137:14a0c452cf32 9 //Init system
Diletant 137:14a0c452cf32 10 SystemInit1(); // Инициализация контроллера: установка тактовых частот
Diletant 137:14a0c452cf32 11 SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 100MHz
Diletant 137:14a0c452cf32 12
Diletant 161:efd949e8d536 13 //Init host commununication protocol
Diletant 161:efd949e8d536 14 InitUserProtocol();
Diletant 161:efd949e8d536 15 //Init hash table
Diletant 161:efd949e8d536 16 InitHashParamTable();
Diletant 161:efd949e8d536 17 InitHashFuncTable();
Diletant 161:efd949e8d536 18
Diletant 156:e68ee0bcdcda 19 //Load default settings
Diletant 156:e68ee0bcdcda 20 DeviceInitAllWithDefaults();
Diletant 137:14a0c452cf32 21
Diletant 156:e68ee0bcdcda 22 //Load from flash - override defaults
Diletant 156:e68ee0bcdcda 23 DeviceFlashReadAll();
Diletant 156:e68ee0bcdcda 24
Diletant 156:e68ee0bcdcda 25 //Final initialization
Diletant 156:e68ee0bcdcda 26 DeviceInitAll();
Diletant 156:e68ee0bcdcda 27 }
Diletant 156:e68ee0bcdcda 28
Diletant 156:e68ee0bcdcda 29 void DeviceStart(void){
Diletant 156:e68ee0bcdcda 30 DeviceEnableMeasurementTimer();
Diletant 156:e68ee0bcdcda 31 DeviceEnableRegularTimer();
Diletant 161:efd949e8d536 32 DeviceISACSSetPotentiometers();
Diletant 156:e68ee0bcdcda 33 DeviceStartLightUp();
Diletant 156:e68ee0bcdcda 34 DeviceStartDither();
Diletant 156:e68ee0bcdcda 35 }
Diletant 156:e68ee0bcdcda 36
Diletant 156:e68ee0bcdcda 37 void DeviceInitAllWithDefaults(void){
Diletant 161:efd949e8d536 38 device.user.address = 0;
Diletant 156:e68ee0bcdcda 39
Diletant 156:e68ee0bcdcda 40 //Init controller
Diletant 156:e68ee0bcdcda 41 InitControllerWithDefaults();
Diletant 149:abbf7663d27d 42
Diletant 156:e68ee0bcdcda 43 //Init units
Diletant 156:e68ee0bcdcda 44 InitCountersWithDefaults();
Diletant 156:e68ee0bcdcda 45 InitLightUpWithDefaults();
Diletant 156:e68ee0bcdcda 46 InitDitherWithDefaults();
Diletant 156:e68ee0bcdcda 47 InitDACWithDefaults();
Diletant 161:efd949e8d536 48 InitISACSWithDefaults();
Diletant 156:e68ee0bcdcda 49 InitPathLengthControlSystemWithDefaults();
Diletant 156:e68ee0bcdcda 50 }
Diletant 137:14a0c452cf32 51
Diletant 156:e68ee0bcdcda 52 void DeviceInitAll(void){
Diletant 156:e68ee0bcdcda 53 //Init measurement cycle
Diletant 156:e68ee0bcdcda 54 device.measurement.counter = 0;
Diletant 156:e68ee0bcdcda 55 device.measurement.length = 32;
Diletant 156:e68ee0bcdcda 56 //Init regular cycle
Diletant 156:e68ee0bcdcda 57 device.regular.event1Hz = 0;
Diletant 156:e68ee0bcdcda 58 device.regular.event500Hz = 0;
Diletant 156:e68ee0bcdcda 59 device.regular.event1K = 0;
Diletant 156:e68ee0bcdcda 60 device.regular.event10K = 0;
Diletant 156:e68ee0bcdcda 61 device.regular.event100K = 0;
Diletant 156:e68ee0bcdcda 62 device.regular.time100K = 0;
Diletant 156:e68ee0bcdcda 63 device.regular.time10K = 0;
Diletant 156:e68ee0bcdcda 64 device.regular.time1K = 0;
Diletant 156:e68ee0bcdcda 65 device.regular.time500Hz = 0;
Diletant 156:e68ee0bcdcda 66 device.regular.time1Hz = 0;
Diletant 156:e68ee0bcdcda 67
Diletant 156:e68ee0bcdcda 68 //Init controller
Diletant 156:e68ee0bcdcda 69 InitController();
Diletant 156:e68ee0bcdcda 70
Diletant 156:e68ee0bcdcda 71 //Init counters
Diletant 156:e68ee0bcdcda 72 InitCounters();
Diletant 149:abbf7663d27d 73 //Init light-up and back light unit
Diletant 149:abbf7663d27d 74 InitLightUp();
Diletant 149:abbf7663d27d 75 //Init dither
Diletant 149:abbf7663d27d 76 InitDither();
Diletant 156:e68ee0bcdcda 77 //Init DAC of hfo & plcs
Diletant 156:e68ee0bcdcda 78 InitDAC();
Diletant 161:efd949e8d536 79 //Init information signal amplitude control system
Diletant 161:efd949e8d536 80 InitISACS();
Diletant 149:abbf7663d27d 81 //Init path length control system
Diletant 149:abbf7663d27d 82 InitPathLengthControlSystem();
Diletant 149:abbf7663d27d 83 }
Diletant 149:abbf7663d27d 84
Diletant 156:e68ee0bcdcda 85 void DeviceRegularEvent1Hz(void) {
Diletant 156:e68ee0bcdcda 86 if (device.regular.event1Hz) {
Diletant 156:e68ee0bcdcda 87 device.regular.event1Hz--;
Diletant 156:e68ee0bcdcda 88 device.regular.time1Hz++;
Diletant 156:e68ee0bcdcda 89
Diletant 161:efd949e8d536 90 DeviceLightUpDoCycle();
Diletant 156:e68ee0bcdcda 91 }
Diletant 156:e68ee0bcdcda 92 }
Diletant 156:e68ee0bcdcda 93
Diletant 156:e68ee0bcdcda 94 void DeviceRegularEvent500Hz(void) {
Diletant 156:e68ee0bcdcda 95 if (device.regular.event500Hz) {
Diletant 156:e68ee0bcdcda 96 device.regular.event500Hz--;
Diletant 156:e68ee0bcdcda 97 }
Diletant 156:e68ee0bcdcda 98 }
Diletant 156:e68ee0bcdcda 99
Diletant 156:e68ee0bcdcda 100 void DeviceRegularEvent1KHz(void) {
Diletant 156:e68ee0bcdcda 101 if (device.regular.event1K) {
Diletant 156:e68ee0bcdcda 102 device.regular.event1K--;
Diletant 156:e68ee0bcdcda 103 device.regular.time1K++;
Diletant 156:e68ee0bcdcda 104 device.regular.time500Hz++;
Diletant 156:e68ee0bcdcda 105 if (device.regular.time1K == 1000) {
Diletant 156:e68ee0bcdcda 106 device.regular.time1K = 0;
Diletant 156:e68ee0bcdcda 107 device.regular.event1Hz++;
Diletant 156:e68ee0bcdcda 108 }
Diletant 156:e68ee0bcdcda 109 if (device.regular.time500Hz == 2) {
Diletant 156:e68ee0bcdcda 110 device.regular.time500Hz = 0;
Diletant 156:e68ee0bcdcda 111 device.regular.event500Hz++;
Diletant 156:e68ee0bcdcda 112 }
Diletant 156:e68ee0bcdcda 113 }
Diletant 149:abbf7663d27d 114 }
Diletant 149:abbf7663d27d 115
Diletant 156:e68ee0bcdcda 116 void DeviceRegularEvent10KHz(void) {
Diletant 156:e68ee0bcdcda 117 if (device.regular.event10K) {
Diletant 156:e68ee0bcdcda 118 device.regular.event10K--;
Diletant 156:e68ee0bcdcda 119 device.regular.time10K++;
Diletant 156:e68ee0bcdcda 120 if (device.regular.time10K == 10){
Diletant 156:e68ee0bcdcda 121 device.regular.time10K = 0;
Diletant 156:e68ee0bcdcda 122 device.regular.event1K++;
Diletant 156:e68ee0bcdcda 123 }
Diletant 156:e68ee0bcdcda 124
Diletant 161:efd949e8d536 125 if ((device.user.response.type == RESPONSE_DELAYED) || (device.user.response.type == RESPONSE_PERIODIC)){
Diletant 161:efd949e8d536 126 device.user.response.counter += 100;
Diletant 161:efd949e8d536 127 if (device.user.response.counter > device.user.response.trigger) {
Diletant 161:efd949e8d536 128 device.user.response.triggered = 1;
Diletant 161:efd949e8d536 129 device.user.response.counter = 0;
Diletant 156:e68ee0bcdcda 130 }
Diletant 156:e68ee0bcdcda 131 }
Diletant 156:e68ee0bcdcda 132 }
Diletant 156:e68ee0bcdcda 133 }
Diletant 156:e68ee0bcdcda 134
Diletant 156:e68ee0bcdcda 135 void DeviceRegularEvent100KHz(void) {
Diletant 156:e68ee0bcdcda 136 if (device.regular.event100K) {
Diletant 156:e68ee0bcdcda 137 device.regular.event100K--;
Diletant 156:e68ee0bcdcda 138
Diletant 156:e68ee0bcdcda 139 device.regular.time100K++;
Diletant 156:e68ee0bcdcda 140 if (device.regular.time100K == 10) {
Diletant 156:e68ee0bcdcda 141 device.regular.time100K = 0;
Diletant 156:e68ee0bcdcda 142 device.regular.event10K++;
Diletant 156:e68ee0bcdcda 143 }
Diletant 156:e68ee0bcdcda 144
Diletant 161:efd949e8d536 145 DeviceDitherDoCycle(); //Set/reset vibro 1/2 pins
Diletant 156:e68ee0bcdcda 146 }
Diletant 156:e68ee0bcdcda 147 }
Diletant 156:e68ee0bcdcda 148
Diletant 156:e68ee0bcdcda 149 void DeviceMeasurementInterruptHandler(void) {
Diletant 156:e68ee0bcdcda 150 //Read QEI
Diletant 156:e68ee0bcdcda 151 DeviceQEIRead();
Diletant 156:e68ee0bcdcda 152 //Count
Diletant 156:e68ee0bcdcda 153 DeviceCount();
Diletant 161:efd949e8d536 154 //Detect dither phase
Diletant 161:efd949e8d536 155 DeviceDitherDetectPhase();
Diletant 149:abbf7663d27d 156
Diletant 156:e68ee0bcdcda 157 //Receive ADCs samples using SSP
Diletant 156:e68ee0bcdcda 158 DeviceSSPReceive();
Diletant 156:e68ee0bcdcda 159 //Transmit DACs values using SSP
Diletant 156:e68ee0bcdcda 160 DeviceSSPTransmit(device.measurement.counter & 1);
Diletant 156:e68ee0bcdcda 161
Diletant 156:e68ee0bcdcda 162 //Update measurement cycle counter
Diletant 156:e68ee0bcdcda 163 device.measurement.counter++;
Diletant 156:e68ee0bcdcda 164 if (device.measurement.counter == device.measurement.length) device.measurement.counter = 0;
Diletant 156:e68ee0bcdcda 165 //Reset dither 10mks resolution counter
Diletant 161:efd949e8d536 166 if (device.measurement.counter == 0) device.dither.pulse.state.counter = 0; //First dither half period
Diletant 161:efd949e8d536 167 if (device.measurement.counter == 16) device.dither.pulse.state.counter = 0;//Second dither half period
Diletant 149:abbf7663d27d 168 }
Diletant 156:e68ee0bcdcda 169
Diletant 156:e68ee0bcdcda 170 void DeviceRegularInterruptHandler(void) {
Diletant 156:e68ee0bcdcda 171 device.regular.event100K++;
Diletant 161:efd949e8d536 172 device.dither.pulse.state.counter++; //Dither 10 mks resolution counter
Diletant 156:e68ee0bcdcda 173 }
Diletant 156:e68ee0bcdcda 174
Diletant 149:abbf7663d27d 175 /*
Diletant 149:abbf7663d27d 176 int32_t FindByHash(uint32_t hash){
Diletant 149:abbf7663d27d 177 for (uint32_t i = 0; i < HASH_PARAM_COUNT; i++){
Diletant 149:abbf7663d27d 178 if (hashParamTable[i].hash == hash) return i;
Diletant 149:abbf7663d27d 179 }
Diletant 149:abbf7663d27d 180 return -1;
Diletant 149:abbf7663d27d 181 }
Diletant 161:efd949e8d536 182 */
Diletant 161:efd949e8d536 183
Diletant 161:efd949e8d536 184 void InitHashParamTable(void){
Diletant 161:efd949e8d536 185 hashParamTable[0].hash = 0x1049db13;
Diletant 161:efd949e8d536 186 hashParamTable[0].ref = &device.controller.uart[0].state.DLM;
Diletant 161:efd949e8d536 187 hashParamTable[0].size = sizeof(device.controller.uart[0].state.DLM);
Diletant 161:efd949e8d536 188 hashParamTable[1].hash = 0x12e884f8;
Diletant 161:efd949e8d536 189 hashParamTable[1].ref = &device.plcs.regulator.state.enabled;
Diletant 161:efd949e8d536 190 hashParamTable[1].size = sizeof(device.plcs.regulator.state.enabled);
Diletant 161:efd949e8d536 191 hashParamTable[2].hash = 0x14ca9b91;
Diletant 161:efd949e8d536 192 hashParamTable[2].ref = &device.controller.uart[0].state.LCR;
Diletant 161:efd949e8d536 193 hashParamTable[2].size = sizeof(device.controller.uart[0].state.LCR);
Diletant 161:efd949e8d536 194 hashParamTable[3].hash = 0x176344d;
Diletant 161:efd949e8d536 195 hashParamTable[3].ref = &device.dac.settings.resolution;
Diletant 161:efd949e8d536 196 hashParamTable[3].size = sizeof(device.dac.settings.resolution);
Diletant 161:efd949e8d536 197 hashParamTable[4].hash = 0x179ae491;
Diletant 161:efd949e8d536 198 hashParamTable[4].ref = &device.dither.noise.state.enabled;
Diletant 161:efd949e8d536 199 hashParamTable[4].size = sizeof(device.dither.noise.state.enabled);
Diletant 161:efd949e8d536 200 hashParamTable[5].hash = 0x18bf00d0;
Diletant 161:efd949e8d536 201 hashParamTable[5].ref = &device.dither.noise.settings.phase;
Diletant 161:efd949e8d536 202 hashParamTable[5].size = sizeof(device.dither.noise.settings.phase);
Diletant 161:efd949e8d536 203 hashParamTable[6].hash = 0x18c9d3e9;
Diletant 161:efd949e8d536 204 hashParamTable[6].ref = &device.controller.I2C.state.trigger;
Diletant 161:efd949e8d536 205 hashParamTable[6].size = sizeof(device.controller.I2C.state.trigger);
Diletant 161:efd949e8d536 206 hashParamTable[7].hash = 0x195d1e47;
Diletant 161:efd949e8d536 207 hashParamTable[7].ref = &device.controller.uart[0].state.FCR;
Diletant 161:efd949e8d536 208 hashParamTable[7].size = sizeof(device.controller.uart[0].state.FCR);
Diletant 161:efd949e8d536 209 hashParamTable[8].hash = 0x1eb95b78;
Diletant 161:efd949e8d536 210 hashParamTable[8].ref = &device.controller.I2C.state.position;
Diletant 161:efd949e8d536 211 hashParamTable[8].size = sizeof(device.controller.I2C.state.position);
Diletant 161:efd949e8d536 212 hashParamTable[9].hash = 0x1ef86a6a;
Diletant 161:efd949e8d536 213 hashParamTable[9].ref = &device.dither.noise.settings.enabled;
Diletant 161:efd949e8d536 214 hashParamTable[9].size = sizeof(device.dither.noise.settings.enabled);
Diletant 161:efd949e8d536 215 hashParamTable[10].hash = 0x1f3f5760;
Diletant 161:efd949e8d536 216 hashParamTable[10].ref = &device.controller.SSP.out[0];
Diletant 161:efd949e8d536 217 hashParamTable[10].size = sizeof(device.controller.SSP.out[0]);
Diletant 161:efd949e8d536 218 hashParamTable[11].hash = 0x1f99ad84;
Diletant 161:efd949e8d536 219 hashParamTable[11].ref = &device.sensor.settings.id;
Diletant 161:efd949e8d536 220 hashParamTable[11].size = sizeof(device.sensor.settings.id);
Diletant 161:efd949e8d536 221 hashParamTable[12].hash = 0x1fd038c3;
Diletant 161:efd949e8d536 222 hashParamTable[12].ref = &device.controller.I2C.state.buffer[4];
Diletant 161:efd949e8d536 223 hashParamTable[12].size = sizeof(device.controller.I2C.state.buffer[4]);
Diletant 161:efd949e8d536 224 hashParamTable[13].hash = 0x2481a096;
Diletant 161:efd949e8d536 225 hashParamTable[13].ref = &device.isacs.regulator.settings.regular.scale;
Diletant 161:efd949e8d536 226 hashParamTable[13].size = sizeof(device.isacs.regulator.settings.regular.scale);
Diletant 161:efd949e8d536 227 hashParamTable[14].hash = 0x28d2accb;
Diletant 161:efd949e8d536 228 hashParamTable[14].ref = &device.dither.carrier.state.error;
Diletant 161:efd949e8d536 229 hashParamTable[14].size = sizeof(device.dither.carrier.state.error);
Diletant 161:efd949e8d536 230 hashParamTable[15].hash = 0x321197dc;
Diletant 161:efd949e8d536 231 hashParamTable[15].ref = &device.isacs.regulator.settings.enabled;
Diletant 161:efd949e8d536 232 hashParamTable[15].size = sizeof(device.isacs.regulator.settings.enabled);
Diletant 161:efd949e8d536 233 hashParamTable[16].hash = 0x323d398;
Diletant 161:efd949e8d536 234 hashParamTable[16].ref = &device.dither.carrier.state.reference;
Diletant 161:efd949e8d536 235 hashParamTable[16].size = sizeof(device.dither.carrier.state.reference);
Diletant 161:efd949e8d536 236 hashParamTable[17].hash = 0x36ee331;
Diletant 161:efd949e8d536 237 hashParamTable[17].ref = &device.isacs.regulator.state.enabled;
Diletant 161:efd949e8d536 238 hashParamTable[17].size = sizeof(device.isacs.regulator.state.enabled);
Diletant 161:efd949e8d536 239 hashParamTable[18].hash = 0x37da9fc5;
Diletant 161:efd949e8d536 240 hashParamTable[18].ref = &device.plcs.reset.settings.heating.delay.center;
Diletant 161:efd949e8d536 241 hashParamTable[18].size = sizeof(device.plcs.reset.settings.heating.delay.center);
Diletant 161:efd949e8d536 242 hashParamTable[19].hash = 0x3a858c52;
Diletant 161:efd949e8d536 243 hashParamTable[19].ref = &device.dither.noise.settings.range;
Diletant 161:efd949e8d536 244 hashParamTable[19].size = sizeof(device.dither.noise.settings.range);
Diletant 161:efd949e8d536 245 hashParamTable[20].hash = 0x41c3f057;
Diletant 161:efd949e8d536 246 hashParamTable[20].ref = &device.plcs.modulator.settings.enabled;
Diletant 161:efd949e8d536 247 hashParamTable[20].size = sizeof(device.plcs.modulator.settings.enabled);
Diletant 161:efd949e8d536 248 hashParamTable[21].hash = 0x43914418;
Diletant 161:efd949e8d536 249 hashParamTable[21].ref = &device.dither.carrier.settings.reference;
Diletant 161:efd949e8d536 250 hashParamTable[21].size = sizeof(device.dither.carrier.settings.reference);
Diletant 161:efd949e8d536 251 hashParamTable[22].hash = 0x45a15cba;
Diletant 161:efd949e8d536 252 hashParamTable[22].ref = &device.sensor.settings.block;
Diletant 161:efd949e8d536 253 hashParamTable[22].size = sizeof(device.sensor.settings.block);
Diletant 161:efd949e8d536 254 hashParamTable[23].hash = 0x4977a07a;
Diletant 161:efd949e8d536 255 hashParamTable[23].ref = &device.dither.pulse.state.counter;
Diletant 161:efd949e8d536 256 hashParamTable[23].size = sizeof(device.dither.pulse.state.counter);
Diletant 161:efd949e8d536 257 hashParamTable[24].hash = 0x498a9f45;
Diletant 161:efd949e8d536 258 hashParamTable[24].ref = &device.controller.I2C.state.buffer[2];
Diletant 161:efd949e8d536 259 hashParamTable[24].size = sizeof(device.controller.I2C.state.buffer[2]);
Diletant 161:efd949e8d536 260 hashParamTable[25].hash = 0x4d41b2c1;
Diletant 161:efd949e8d536 261 hashParamTable[25].ref = &device.dac.settings.reference;
Diletant 161:efd949e8d536 262 hashParamTable[25].size = sizeof(device.dac.settings.reference);
Diletant 161:efd949e8d536 263 hashParamTable[26].hash = 0x4df06184;
Diletant 161:efd949e8d536 264 hashParamTable[26].ref = &device.dither.detector.settings.weight[19];
Diletant 161:efd949e8d536 265 hashParamTable[26].size = sizeof(device.dither.detector.settings.weight[19]);
Diletant 161:efd949e8d536 266 hashParamTable[27].hash = 0x4df39a9f;
Diletant 161:efd949e8d536 267 hashParamTable[27].ref = &device.dither.detector.settings.weight[8];
Diletant 161:efd949e8d536 268 hashParamTable[27].size = sizeof(device.dither.detector.settings.weight[8]);
Diletant 161:efd949e8d536 269 hashParamTable[28].hash = 0x4e9b0985;
Diletant 161:efd949e8d536 270 hashParamTable[28].ref = &device.plcs.amplifier.settings.gain;
Diletant 161:efd949e8d536 271 hashParamTable[28].size = sizeof(device.plcs.amplifier.settings.gain);
Diletant 161:efd949e8d536 272 hashParamTable[29].hash = 0x4fb6dfdd;
Diletant 161:efd949e8d536 273 hashParamTable[29].ref = &device.dither.detector.settings.weight[29];
Diletant 161:efd949e8d536 274 hashParamTable[29].size = sizeof(device.dither.detector.settings.weight[29]);
Diletant 161:efd949e8d536 275 hashParamTable[30].hash = 0x5091ae04;
Diletant 161:efd949e8d536 276 hashParamTable[30].ref = &device.controller.I2C.state.buffer[3];
Diletant 161:efd949e8d536 277 hashParamTable[30].size = sizeof(device.controller.I2C.state.buffer[3]);
Diletant 161:efd949e8d536 278 hashParamTable[31].hash = 0x525b6730;
Diletant 161:efd949e8d536 279 hashParamTable[31].ref = &device.controller.I2C.state.enabled;
Diletant 161:efd949e8d536 280 hashParamTable[31].size = sizeof(device.controller.I2C.state.enabled);
Diletant 161:efd949e8d536 281 hashParamTable[32].hash = 0x542e0c62;
Diletant 161:efd949e8d536 282 hashParamTable[32].ref = &device.controller.flash.settings.hashSector;
Diletant 161:efd949e8d536 283 hashParamTable[32].size = sizeof(device.controller.flash.settings.hashSector);
Diletant 161:efd949e8d536 284 hashParamTable[33].hash = 0x5489817b;
Diletant 161:efd949e8d536 285 hashParamTable[33].ref = &device.dither.carrier.settings.scale;
Diletant 161:efd949e8d536 286 hashParamTable[33].size = sizeof(device.dither.carrier.settings.scale);
Diletant 161:efd949e8d536 287 hashParamTable[34].hash = 0x54e8abde;
Diletant 161:efd949e8d536 288 hashParamTable[34].ref = &device.dither.detector.settings.weight[9];
Diletant 161:efd949e8d536 289 hashParamTable[34].size = sizeof(device.dither.detector.settings.weight[9]);
Diletant 161:efd949e8d536 290 hashParamTable[35].hash = 0x54eb50c5;
Diletant 161:efd949e8d536 291 hashParamTable[35].ref = &device.dither.detector.settings.weight[18];
Diletant 161:efd949e8d536 292 hashParamTable[35].size = sizeof(device.dither.detector.settings.weight[18]);
Diletant 161:efd949e8d536 293 hashParamTable[36].hash = 0x5623a17a;
Diletant 161:efd949e8d536 294 hashParamTable[36].ref = &device.dither.cycle.settings.enabled;
Diletant 161:efd949e8d536 295 hashParamTable[36].size = sizeof(device.dither.cycle.settings.enabled);
Diletant 161:efd949e8d536 296 hashParamTable[37].hash = 0x56adee9c;
Diletant 161:efd949e8d536 297 hashParamTable[37].ref = &device.dither.detector.settings.weight[28];
Diletant 161:efd949e8d536 298 hashParamTable[37].size = sizeof(device.dither.detector.settings.weight[28]);
Diletant 161:efd949e8d536 299 hashParamTable[38].hash = 0x5a8f12ce;
Diletant 161:efd949e8d536 300 hashParamTable[38].ref = &device.dither.cycle.state.enabled;
Diletant 161:efd949e8d536 301 hashParamTable[38].size = sizeof(device.dither.cycle.state.enabled);
Diletant 161:efd949e8d536 302 hashParamTable[39].hash = 0x5dd88c4f;
Diletant 161:efd949e8d536 303 hashParamTable[39].ref = &device.plcs.regulator.state.reference;
Diletant 161:efd949e8d536 304 hashParamTable[39].size = sizeof(device.plcs.regulator.state.reference);
Diletant 161:efd949e8d536 305 hashParamTable[40].hash = 0x6246621;
Diletant 161:efd949e8d536 306 hashParamTable[40].ref = &device.controller.SSP.out[1];
Diletant 161:efd949e8d536 307 hashParamTable[40].size = sizeof(device.controller.SSP.out[1]);
Diletant 161:efd949e8d536 308 hashParamTable[41].hash = 0x62a7cc86;
Diletant 161:efd949e8d536 309 hashParamTable[41].ref = &device.controller.I2C.state.buffer[1];
Diletant 161:efd949e8d536 310 hashParamTable[41].size = sizeof(device.controller.I2C.state.buffer[1]);
Diletant 161:efd949e8d536 311 hashParamTable[42].hash = 0x634b9e76;
Diletant 161:efd949e8d536 312 hashParamTable[42].ref = &device.isacs.regulator.settings.start.scale;
Diletant 161:efd949e8d536 313 hashParamTable[42].size = sizeof(device.isacs.regulator.settings.start.scale);
Diletant 161:efd949e8d536 314 hashParamTable[43].hash = 0x635b8d69;
Diletant 161:efd949e8d536 315 hashParamTable[43].ref = &device.controller.I2C.settings.trigger;
Diletant 161:efd949e8d536 316 hashParamTable[43].size = sizeof(device.controller.I2C.settings.trigger);
Diletant 161:efd949e8d536 317 hashParamTable[44].hash = 0x664c6cbe;
Diletant 161:efd949e8d536 318 hashParamTable[44].ref = &device.controller.timer[0].state.TCR;
Diletant 161:efd949e8d536 319 hashParamTable[44].size = sizeof(device.controller.timer[0].state.TCR);
Diletant 161:efd949e8d536 320 hashParamTable[45].hash = 0x667be78f;
Diletant 161:efd949e8d536 321 hashParamTable[45].ref = &device.dac.state.out[1];
Diletant 161:efd949e8d536 322 hashParamTable[45].size = sizeof(device.dac.state.out[1]);
Diletant 161:efd949e8d536 323 hashParamTable[46].hash = 0x674eeb85;
Diletant 161:efd949e8d536 324 hashParamTable[46].ref = &device.controller.uart[0].state.DLL;
Diletant 161:efd949e8d536 325 hashParamTable[46].size = sizeof(device.controller.uart[0].state.DLL);
Diletant 161:efd949e8d536 326 hashParamTable[47].hash = 0x6771d50;
Diletant 161:efd949e8d536 327 hashParamTable[47].ref = &device.lightUp.settings.sequence;
Diletant 161:efd949e8d536 328 hashParamTable[47].size = sizeof(device.lightUp.settings.sequence);
Diletant 161:efd949e8d536 329 hashParamTable[48].hash = 0x688f56ab;
Diletant 161:efd949e8d536 330 hashParamTable[48].ref = &device.isacs.regulator.state.scale;
Diletant 161:efd949e8d536 331 hashParamTable[48].size = sizeof(device.isacs.regulator.state.scale);
Diletant 161:efd949e8d536 332 hashParamTable[49].hash = 0x68ed9659;
Diletant 161:efd949e8d536 333 hashParamTable[49].ref = &device.plcs.reset.settings.heating.level.center;
Diletant 161:efd949e8d536 334 hashParamTable[49].size = sizeof(device.plcs.reset.settings.heating.level.center);
Diletant 161:efd949e8d536 335 hashParamTable[50].hash = 0x6cb0982;
Diletant 161:efd949e8d536 336 hashParamTable[50].ref = &device.controller.I2C.state.buffer[5];
Diletant 161:efd949e8d536 337 hashParamTable[50].size = sizeof(device.controller.I2C.state.buffer[5]);
Diletant 161:efd949e8d536 338 hashParamTable[51].hash = 0x712f5803;
Diletant 161:efd949e8d536 339 hashParamTable[51].ref = &device.plcs.regulator.settings.scale;
Diletant 161:efd949e8d536 340 hashParamTable[51].size = sizeof(device.plcs.regulator.settings.scale);
Diletant 161:efd949e8d536 341 hashParamTable[52].hash = 0x749c63a6;
Diletant 161:efd949e8d536 342 hashParamTable[52].ref = &device.isacs.potentiometers.state.a;
Diletant 161:efd949e8d536 343 hashParamTable[52].size = sizeof(device.isacs.potentiometers.state.a);
Diletant 161:efd949e8d536 344 hashParamTable[53].hash = 0x74b19550;
Diletant 161:efd949e8d536 345 hashParamTable[53].ref = &device.dither.cycle.state.pin1;
Diletant 161:efd949e8d536 346 hashParamTable[53].size = sizeof(device.dither.cycle.state.pin1);
Diletant 161:efd949e8d536 347 hashParamTable[54].hash = 0x75bbf441;
Diletant 161:efd949e8d536 348 hashParamTable[54].ref = &device.controller.timer[0].state.MCR;
Diletant 161:efd949e8d536 349 hashParamTable[54].size = sizeof(device.controller.timer[0].state.MCR);
Diletant 161:efd949e8d536 350 hashParamTable[55].hash = 0x7b92b7f4;
Diletant 161:efd949e8d536 351 hashParamTable[55].ref = &device.dither.oscillation.state.error;
Diletant 161:efd949e8d536 352 hashParamTable[55].size = sizeof(device.dither.oscillation.state.error);
Diletant 161:efd949e8d536 353 hashParamTable[56].hash = 0x7bbcfdc7;
Diletant 161:efd949e8d536 354 hashParamTable[56].ref = &device.controller.I2C.state.buffer[0];
Diletant 161:efd949e8d536 355 hashParamTable[56].size = sizeof(device.controller.I2C.state.buffer[0]);
Diletant 161:efd949e8d536 356 hashParamTable[57].hash = 0x7d95c657;
Diletant 161:efd949e8d536 357 hashParamTable[57].ref = &device.isacs.potentiometers.settings.a;
Diletant 161:efd949e8d536 358 hashParamTable[57].size = sizeof(device.isacs.potentiometers.settings.a);
Diletant 161:efd949e8d536 359 hashParamTable[58].hash = 0x7f60d6ce;
Diletant 161:efd949e8d536 360 hashParamTable[58].ref = &device.dac.state.out[0];
Diletant 161:efd949e8d536 361 hashParamTable[58].size = sizeof(device.dac.state.out[0]);
Diletant 161:efd949e8d536 362 hashParamTable[59].hash = 0x8208e177;
Diletant 161:efd949e8d536 363 hashParamTable[59].ref = &device.plcs.regulator.settings.enabled;
Diletant 161:efd949e8d536 364 hashParamTable[59].size = sizeof(device.plcs.regulator.settings.enabled);
Diletant 161:efd949e8d536 365 hashParamTable[60].hash = 0x82aa732b;
Diletant 161:efd949e8d536 366 hashParamTable[60].ref = &device.dither.pulse.state.rise;
Diletant 161:efd949e8d536 367 hashParamTable[60].size = sizeof(device.dither.pulse.state.rise);
Diletant 161:efd949e8d536 368 hashParamTable[61].hash = 0x82f85228;
Diletant 161:efd949e8d536 369 hashParamTable[61].ref = &device.controller.uart[1].state.FCR;
Diletant 161:efd949e8d536 370 hashParamTable[61].size = sizeof(device.controller.uart[1].state.FCR);
Diletant 161:efd949e8d536 371 hashParamTable[62].hash = 0x83843183;
Diletant 161:efd949e8d536 372 hashParamTable[62].ref = &device.user.address;
Diletant 161:efd949e8d536 373 hashParamTable[62].size = sizeof(device.user.address);
Diletant 161:efd949e8d536 374 hashParamTable[63].hash = 0x8529eb8c;
Diletant 161:efd949e8d536 375 hashParamTable[63].ref = &device.dither.detector.settings.weight[11];
Diletant 161:efd949e8d536 376 hashParamTable[63].size = sizeof(device.dither.detector.settings.weight[11]);
Diletant 161:efd949e8d536 377 hashParamTable[64].hash = 0x852a1097;
Diletant 161:efd949e8d536 378 hashParamTable[64].ref = &device.dither.detector.settings.weight[0];
Diletant 161:efd949e8d536 379 hashParamTable[64].size = sizeof(device.dither.detector.settings.weight[0]);
Diletant 161:efd949e8d536 380 hashParamTable[65].hash = 0x85ded725;
Diletant 161:efd949e8d536 381 hashParamTable[65].ref = &device.controller.timer[0].state.MR0;
Diletant 161:efd949e8d536 382 hashParamTable[65].size = sizeof(device.controller.timer[0].state.MR0);
Diletant 161:efd949e8d536 383 hashParamTable[66].hash = 0x86ad3fe2;
Diletant 161:efd949e8d536 384 hashParamTable[66].ref = &device.dither.detector.settings.weight[31];
Diletant 161:efd949e8d536 385 hashParamTable[66].size = sizeof(device.dither.detector.settings.weight[31]);
Diletant 161:efd949e8d536 386 hashParamTable[67].hash = 0x871249a3;
Diletant 161:efd949e8d536 387 hashParamTable[67].ref = &device.controller.SSP.in[0];
Diletant 161:efd949e8d536 388 hashParamTable[67].size = sizeof(device.controller.SSP.in[0]);
Diletant 161:efd949e8d536 389 hashParamTable[68].hash = 0x876f55d5;
Diletant 161:efd949e8d536 390 hashParamTable[68].ref = &device.dither.detector.settings.weight[21];
Diletant 161:efd949e8d536 391 hashParamTable[68].size = sizeof(device.dither.detector.settings.weight[21]);
Diletant 161:efd949e8d536 392 hashParamTable[69].hash = 0x88226cfe;
Diletant 161:efd949e8d536 393 hashParamTable[69].ref = &device.dither.detector.state.error;
Diletant 161:efd949e8d536 394 hashParamTable[69].size = sizeof(device.dither.detector.state.error);
Diletant 161:efd949e8d536 395 hashParamTable[70].hash = 0x8997b45f;
Diletant 161:efd949e8d536 396 hashParamTable[70].ref = &device.plcs.modulator.state.enabled;
Diletant 161:efd949e8d536 397 hashParamTable[70].size = sizeof(device.plcs.modulator.state.enabled);
Diletant 161:efd949e8d536 398 hashParamTable[71].hash = 0x8ad9720d;
Diletant 161:efd949e8d536 399 hashParamTable[71].ref = &device.plcs.reset.settings.heating.delay.slope;
Diletant 161:efd949e8d536 400 hashParamTable[71].size = sizeof(device.plcs.reset.settings.heating.delay.slope);
Diletant 161:efd949e8d536 401 hashParamTable[72].hash = 0x8bec977c;
Diletant 161:efd949e8d536 402 hashParamTable[72].ref = &device.controller.uart[1].state.DLM;
Diletant 161:efd949e8d536 403 hashParamTable[72].size = sizeof(device.controller.uart[1].state.DLM);
Diletant 161:efd949e8d536 404 hashParamTable[73].hash = 0x8f6fd7fe;
Diletant 161:efd949e8d536 405 hashParamTable[73].ref = &device.controller.uart[1].state.LCR;
Diletant 161:efd949e8d536 406 hashParamTable[73].size = sizeof(device.controller.uart[1].state.LCR);
Diletant 161:efd949e8d536 407 hashParamTable[74].hash = 0x9020a8a4;
Diletant 161:efd949e8d536 408 hashParamTable[74].ref = &device.dither.pulse.settings.rise;
Diletant 161:efd949e8d536 409 hashParamTable[74].size = sizeof(device.dither.pulse.settings.rise);
Diletant 161:efd949e8d536 410 hashParamTable[75].hash = 0x90d1dba3;
Diletant 161:efd949e8d536 411 hashParamTable[75].ref = &device.plcs.reset.settings.cooling.delay.center;
Diletant 161:efd949e8d536 412 hashParamTable[75].size = sizeof(device.plcs.reset.settings.cooling.delay.center);
Diletant 161:efd949e8d536 413 hashParamTable[76].hash = 0x94360535;
Diletant 161:efd949e8d536 414 hashParamTable[76].ref = &device.isacs.regulator.state.reference;
Diletant 161:efd949e8d536 415 hashParamTable[76].size = sizeof(device.isacs.regulator.state.reference);
Diletant 161:efd949e8d536 416 hashParamTable[77].hash = 0x958ecda;
Diletant 161:efd949e8d536 417 hashParamTable[77].ref = &device.dither.oscillation.state.enabled;
Diletant 161:efd949e8d536 418 hashParamTable[77].size = sizeof(device.dither.oscillation.state.enabled);
Diletant 161:efd949e8d536 419 hashParamTable[78].hash = 0x96d795b;
Diletant 161:efd949e8d536 420 hashParamTable[78].ref = &device.isacs.regulator.settings.reset.reference;
Diletant 161:efd949e8d536 421 hashParamTable[78].size = sizeof(device.isacs.regulator.settings.reset.reference);
Diletant 161:efd949e8d536 422 hashParamTable[79].hash = 0x97dea178;
Diletant 161:efd949e8d536 423 hashParamTable[79].ref = &device.controller.QEI.state.position;
Diletant 161:efd949e8d536 424 hashParamTable[79].size = sizeof(device.controller.QEI.state.position);
Diletant 161:efd949e8d536 425 hashParamTable[80].hash = 0x9949353e;
Diletant 161:efd949e8d536 426 hashParamTable[80].ref = &device.dither.carrier.state.scale;
Diletant 161:efd949e8d536 427 hashParamTable[80].size = sizeof(device.dither.carrier.state.scale);
Diletant 161:efd949e8d536 428 hashParamTable[81].hash = 0x9ae15d5f;
Diletant 161:efd949e8d536 429 hashParamTable[81].ref = &device.dither.carrier.settings.enabled;
Diletant 161:efd949e8d536 430 hashParamTable[81].size = sizeof(device.dither.carrier.settings.enabled);
Diletant 161:efd949e8d536 431 hashParamTable[82].hash = 0x9c3121d6;
Diletant 161:efd949e8d536 432 hashParamTable[82].ref = &device.dither.detector.settings.weight[1];
Diletant 161:efd949e8d536 433 hashParamTable[82].size = sizeof(device.dither.detector.settings.weight[1]);
Diletant 161:efd949e8d536 434 hashParamTable[83].hash = 0x9c32dacd;
Diletant 161:efd949e8d536 435 hashParamTable[83].ref = &device.dither.detector.settings.weight[10];
Diletant 161:efd949e8d536 436 hashParamTable[83].size = sizeof(device.dither.detector.settings.weight[10]);
Diletant 161:efd949e8d536 437 hashParamTable[84].hash = 0x9e0978e2;
Diletant 161:efd949e8d536 438 hashParamTable[84].ref = &device.controller.SSP.in[1];
Diletant 161:efd949e8d536 439 hashParamTable[84].size = sizeof(device.controller.SSP.in[1]);
Diletant 161:efd949e8d536 440 hashParamTable[85].hash = 0x9e746494;
Diletant 161:efd949e8d536 441 hashParamTable[85].ref = &device.dither.detector.settings.weight[20];
Diletant 161:efd949e8d536 442 hashParamTable[85].size = sizeof(device.dither.detector.settings.weight[20]);
Diletant 161:efd949e8d536 443 hashParamTable[86].hash = 0x9ee1f9a5;
Diletant 161:efd949e8d536 444 hashParamTable[86].ref = &device.isacs.regulator.settings.reset.scale;
Diletant 161:efd949e8d536 445 hashParamTable[86].size = sizeof(device.isacs.regulator.settings.reset.scale);
Diletant 161:efd949e8d536 446 hashParamTable[87].hash = 0x9ef65be2;
Diletant 161:efd949e8d536 447 hashParamTable[87].ref = &device.controller.chip;
Diletant 161:efd949e8d536 448 hashParamTable[87].size = sizeof(device.controller.chip);
Diletant 161:efd949e8d536 449 hashParamTable[88].hash = 0x9fb60ea3;
Diletant 161:efd949e8d536 450 hashParamTable[88].ref = &device.dither.detector.settings.weight[30];
Diletant 161:efd949e8d536 451 hashParamTable[88].size = sizeof(device.dither.detector.settings.weight[30]);
Diletant 161:efd949e8d536 452 hashParamTable[89].hash = 0xa08ff954;
Diletant 161:efd949e8d536 453 hashParamTable[89].ref = &device.plcs.amplifier.settings.reference;
Diletant 161:efd949e8d536 454 hashParamTable[89].size = sizeof(device.plcs.amplifier.settings.reference);
Diletant 161:efd949e8d536 455 hashParamTable[90].hash = 0xa454a98f;
Diletant 161:efd949e8d536 456 hashParamTable[90].ref = &device.dither.oscillation.settings.scale;
Diletant 161:efd949e8d536 457 hashParamTable[90].size = sizeof(device.dither.oscillation.settings.scale);
Diletant 161:efd949e8d536 458 hashParamTable[91].hash = 0xa80ee333;
Diletant 161:efd949e8d536 459 hashParamTable[91].ref = &device.lightUp.state.sequence;
Diletant 161:efd949e8d536 460 hashParamTable[91].size = sizeof(device.lightUp.state.sequence);
Diletant 161:efd949e8d536 461 hashParamTable[92].hash = 0xa9dc4138;
Diletant 161:efd949e8d536 462 hashParamTable[92].ref = &device.dac.settings.out[1];
Diletant 161:efd949e8d536 463 hashParamTable[92].size = sizeof(device.dac.settings.out[1]);
Diletant 161:efd949e8d536 464 hashParamTable[93].hash = 0xac3f1a60;
Diletant 161:efd949e8d536 465 hashParamTable[93].ref = &device.controller.SSP.in[3];
Diletant 161:efd949e8d536 466 hashParamTable[93].size = sizeof(device.controller.SSP.in[3]);
Diletant 161:efd949e8d536 467 hashParamTable[94].hash = 0xac420616;
Diletant 161:efd949e8d536 468 hashParamTable[94].ref = &device.dither.detector.settings.weight[22];
Diletant 161:efd949e8d536 469 hashParamTable[94].size = sizeof(device.dither.detector.settings.weight[22]);
Diletant 161:efd949e8d536 470 hashParamTable[95].hash = 0xae04b84f;
Diletant 161:efd949e8d536 471 hashParamTable[95].ref = &device.dither.detector.settings.weight[12];
Diletant 161:efd949e8d536 472 hashParamTable[95].size = sizeof(device.dither.detector.settings.weight[12]);
Diletant 161:efd949e8d536 473 hashParamTable[96].hash = 0xae074354;
Diletant 161:efd949e8d536 474 hashParamTable[96].ref = &device.dither.detector.settings.weight[3];
Diletant 161:efd949e8d536 475 hashParamTable[96].size = sizeof(device.dither.detector.settings.weight[3]);
Diletant 161:efd949e8d536 476 hashParamTable[97].hash = 0xaec845d3;
Diletant 161:efd949e8d536 477 hashParamTable[97].ref = &device.dac.state.code[0];
Diletant 161:efd949e8d536 478 hashParamTable[97].size = sizeof(device.dac.state.code[0]);
Diletant 161:efd949e8d536 479 hashParamTable[98].hash = 0xb0c77079;
Diletant 161:efd949e8d536 480 hashParamTable[98].ref = &device.dac.settings.out[0];
Diletant 161:efd949e8d536 481 hashParamTable[98].size = sizeof(device.dac.settings.out[0]);
Diletant 161:efd949e8d536 482 hashParamTable[99].hash = 0xb5188450;
Diletant 161:efd949e8d536 483 hashParamTable[99].ref = &device.controller.timer[0].settings.match;
Diletant 161:efd949e8d536 484 hashParamTable[99].size = sizeof(device.controller.timer[0].settings.match);
Diletant 161:efd949e8d536 485 hashParamTable[100].hash = 0xb5242b21;
Diletant 161:efd949e8d536 486 hashParamTable[100].ref = &device.controller.SSP.in[2];
Diletant 161:efd949e8d536 487 hashParamTable[100].size = sizeof(device.controller.SSP.in[2]);
Diletant 161:efd949e8d536 488 hashParamTable[101].hash = 0xb5593757;
Diletant 161:efd949e8d536 489 hashParamTable[101].ref = &device.dither.detector.settings.weight[23];
Diletant 161:efd949e8d536 490 hashParamTable[101].size = sizeof(device.dither.detector.settings.weight[23]);
Diletant 161:efd949e8d536 491 hashParamTable[102].hash = 0xb71c7215;
Diletant 161:efd949e8d536 492 hashParamTable[102].ref = &device.dither.detector.settings.weight[2];
Diletant 161:efd949e8d536 493 hashParamTable[102].size = sizeof(device.dither.detector.settings.weight[2]);
Diletant 161:efd949e8d536 494 hashParamTable[103].hash = 0xb71f890e;
Diletant 161:efd949e8d536 495 hashParamTable[103].ref = &device.dither.detector.settings.weight[13];
Diletant 161:efd949e8d536 496 hashParamTable[103].size = sizeof(device.dither.detector.settings.weight[13]);
Diletant 161:efd949e8d536 497 hashParamTable[104].hash = 0xb7d37492;
Diletant 161:efd949e8d536 498 hashParamTable[104].ref = &device.dac.state.code[1];
Diletant 161:efd949e8d536 499 hashParamTable[104].size = sizeof(device.dac.state.code[1]);
Diletant 161:efd949e8d536 500 hashParamTable[105].hash = 0xb858e634;
Diletant 161:efd949e8d536 501 hashParamTable[105].ref = &device.plcs.reset.settings.heating.level.slope;
Diletant 161:efd949e8d536 502 hashParamTable[105].size = sizeof(device.plcs.reset.settings.heating.level.slope);
Diletant 161:efd949e8d536 503 hashParamTable[106].hash = 0xb90338b5;
Diletant 161:efd949e8d536 504 hashParamTable[106].ref = &device.dither.oscillation.state.reference;
Diletant 161:efd949e8d536 505 hashParamTable[106].size = sizeof(device.dither.oscillation.state.reference);
Diletant 161:efd949e8d536 506 hashParamTable[107].hash = 0xbcfa14ae;
Diletant 161:efd949e8d536 507 hashParamTable[107].ref = &device.controller.uart[1].settings.baudRate;
Diletant 161:efd949e8d536 508 hashParamTable[107].size = sizeof(device.controller.uart[1].settings.baudRate);
Diletant 161:efd949e8d536 509 hashParamTable[108].hash = 0xbd22c6cf;
Diletant 161:efd949e8d536 510 hashParamTable[108].ref = &device.plcs.regulator.state.error;
Diletant 161:efd949e8d536 511 hashParamTable[108].size = sizeof(device.plcs.regulator.state.error);
Diletant 161:efd949e8d536 512 hashParamTable[109].hash = 0xc38048cc;
Diletant 161:efd949e8d536 513 hashParamTable[109].ref = &device.controller.I2C.state.counter;
Diletant 161:efd949e8d536 514 hashParamTable[109].size = sizeof(device.controller.I2C.state.counter);
Diletant 161:efd949e8d536 515 hashParamTable[110].hash = 0xc6d70a1e;
Diletant 161:efd949e8d536 516 hashParamTable[110].ref = &device.isacs.regulator.settings.regular.reference;
Diletant 161:efd949e8d536 517 hashParamTable[110].size = sizeof(device.isacs.regulator.settings.regular.reference);
Diletant 161:efd949e8d536 518 hashParamTable[111].hash = 0xc82ec312;
Diletant 161:efd949e8d536 519 hashParamTable[111].ref = &device.dither.detector.settings.weight[26];
Diletant 161:efd949e8d536 520 hashParamTable[111].size = sizeof(device.dither.detector.settings.weight[26]);
Diletant 161:efd949e8d536 521 hashParamTable[112].hash = 0xca092e01;
Diletant 161:efd949e8d536 522 hashParamTable[112].ref = &device.dither.oscillation.state.scale;
Diletant 161:efd949e8d536 523 hashParamTable[112].size = sizeof(device.dither.oscillation.state.scale);
Diletant 161:efd949e8d536 524 hashParamTable[113].hash = 0xca687d4b;
Diletant 161:efd949e8d536 525 hashParamTable[113].ref = &device.dither.detector.settings.weight[16];
Diletant 161:efd949e8d536 526 hashParamTable[113].size = sizeof(device.dither.detector.settings.weight[16]);
Diletant 161:efd949e8d536 527 hashParamTable[114].hash = 0xca6b8650;
Diletant 161:efd949e8d536 528 hashParamTable[114].ref = &device.dither.detector.settings.weight[7];
Diletant 161:efd949e8d536 529 hashParamTable[114].size = sizeof(device.dither.detector.settings.weight[7]);
Diletant 161:efd949e8d536 530 hashParamTable[115].hash = 0xcb95f3a;
Diletant 161:efd949e8d536 531 hashParamTable[115].ref = &device.plcs.regulator.state.scale;
Diletant 161:efd949e8d536 532 hashParamTable[115].size = sizeof(device.plcs.regulator.state.scale);
Diletant 161:efd949e8d536 533 hashParamTable[116].hash = 0xceb6a575;
Diletant 161:efd949e8d536 534 hashParamTable[116].ref = &device.plcs.reset.state.level;
Diletant 161:efd949e8d536 535 hashParamTable[116].size = sizeof(device.plcs.reset.state.level);
Diletant 161:efd949e8d536 536 hashParamTable[117].hash = 0xcfc8a2e9;
Diletant 161:efd949e8d536 537 hashParamTable[117].ref = &device.lightUp.state.enabled;
Diletant 161:efd949e8d536 538 hashParamTable[117].size = sizeof(device.lightUp.state.enabled);
Diletant 161:efd949e8d536 539 hashParamTable[118].hash = 0xcfe6d23f;
Diletant 161:efd949e8d536 540 hashParamTable[118].ref = &device.plcs.reset.settings.cooling.level.center;
Diletant 161:efd949e8d536 541 hashParamTable[118].size = sizeof(device.plcs.reset.settings.cooling.level.center);
Diletant 161:efd949e8d536 542 hashParamTable[119].hash = 0xd135f253;
Diletant 161:efd949e8d536 543 hashParamTable[119].ref = &device.dither.detector.settings.weight[27];
Diletant 161:efd949e8d536 544 hashParamTable[119].size = sizeof(device.dither.detector.settings.weight[27]);
Diletant 161:efd949e8d536 545 hashParamTable[120].hash = 0xd14fa026;
Diletant 161:efd949e8d536 546 hashParamTable[120].ref = &device.controller.flash.settings.dataSector;
Diletant 161:efd949e8d536 547 hashParamTable[120].size = sizeof(device.controller.flash.settings.dataSector);
Diletant 161:efd949e8d536 548 hashParamTable[121].hash = 0xd370b711;
Diletant 161:efd949e8d536 549 hashParamTable[121].ref = &device.dither.detector.settings.weight[6];
Diletant 161:efd949e8d536 550 hashParamTable[121].size = sizeof(device.dither.detector.settings.weight[6]);
Diletant 161:efd949e8d536 551 hashParamTable[122].hash = 0xd3734c0a;
Diletant 161:efd949e8d536 552 hashParamTable[122].ref = &device.dither.detector.settings.weight[17];
Diletant 161:efd949e8d536 553 hashParamTable[122].size = sizeof(device.dither.detector.settings.weight[17]);
Diletant 161:efd949e8d536 554 hashParamTable[123].hash = 0xd43ae1d0;
Diletant 161:efd949e8d536 555 hashParamTable[123].ref = &device.plcs.reset.settings.cooling.level.slope;
Diletant 161:efd949e8d536 556 hashParamTable[123].size = sizeof(device.plcs.reset.settings.cooling.level.slope);
Diletant 161:efd949e8d536 557 hashParamTable[124].hash = 0xd914cf5e;
Diletant 161:efd949e8d536 558 hashParamTable[124].ref = &device.isacs.regulator.state.error;
Diletant 161:efd949e8d536 559 hashParamTable[124].size = sizeof(device.isacs.regulator.state.error);
Diletant 161:efd949e8d536 560 hashParamTable[125].hash = 0xd99d2fe8;
Diletant 161:efd949e8d536 561 hashParamTable[125].ref = &device.controller.uart[0].settings.baudRate;
Diletant 161:efd949e8d536 562 hashParamTable[125].size = sizeof(device.controller.uart[0].settings.baudRate);
Diletant 161:efd949e8d536 563 hashParamTable[126].hash = 0xdbe35c4a;
Diletant 161:efd949e8d536 564 hashParamTable[126].ref = &device.dither.carrier.state.enabled;
Diletant 161:efd949e8d536 565 hashParamTable[126].size = sizeof(device.dither.carrier.state.enabled);
Diletant 161:efd949e8d536 566 hashParamTable[127].hash = 0xdbefbf30;
Diletant 161:efd949e8d536 567 hashParamTable[127].ref = &device.dither.noise.settings.period;
Diletant 161:efd949e8d536 568 hashParamTable[127].size = sizeof(device.dither.noise.settings.period);
Diletant 161:efd949e8d536 569 hashParamTable[128].hash = 0xdc1b0dfc;
Diletant 161:efd949e8d536 570 hashParamTable[128].ref = &device.plcs.regulator.settings.reference;
Diletant 161:efd949e8d536 571 hashParamTable[128].size = sizeof(device.plcs.regulator.settings.reference);
Diletant 161:efd949e8d536 572 hashParamTable[129].hash = 0xdf8421c1;
Diletant 161:efd949e8d536 573 hashParamTable[129].ref = &device.dither.oscillation.settings.enabled;
Diletant 161:efd949e8d536 574 hashParamTable[129].size = sizeof(device.dither.oscillation.settings.enabled);
Diletant 161:efd949e8d536 575 hashParamTable[130].hash = 0xe01715be;
Diletant 161:efd949e8d536 576 hashParamTable[130].ref = &device.dac.settings.unit;
Diletant 161:efd949e8d536 577 hashParamTable[130].size = sizeof(device.dac.settings.unit);
Diletant 161:efd949e8d536 578 hashParamTable[131].hash = 0xe1452e88;
Diletant 161:efd949e8d536 579 hashParamTable[131].ref = &device.dither.detector.settings.weight[15];
Diletant 161:efd949e8d536 580 hashParamTable[131].size = sizeof(device.dither.detector.settings.weight[15]);
Diletant 161:efd949e8d536 581 hashParamTable[132].hash = 0xe146d593;
Diletant 161:efd949e8d536 582 hashParamTable[132].ref = &device.dither.detector.settings.weight[4];
Diletant 161:efd949e8d536 583 hashParamTable[132].size = sizeof(device.dither.detector.settings.weight[4]);
Diletant 161:efd949e8d536 584 hashParamTable[133].hash = 0xe219f51b;
Diletant 161:efd949e8d536 585 hashParamTable[133].ref = &device.dac.settings.code[1];
Diletant 161:efd949e8d536 586 hashParamTable[133].size = sizeof(device.dac.settings.code[1]);
Diletant 161:efd949e8d536 587 hashParamTable[134].hash = 0xe30390d1;
Diletant 161:efd949e8d536 588 hashParamTable[134].ref = &device.dither.detector.settings.weight[25];
Diletant 161:efd949e8d536 589 hashParamTable[134].size = sizeof(device.dither.detector.settings.weight[25]);
Diletant 161:efd949e8d536 590 hashParamTable[135].hash = 0xe37e8ca7;
Diletant 161:efd949e8d536 591 hashParamTable[135].ref = &device.controller.SSP.in[4];
Diletant 161:efd949e8d536 592 hashParamTable[135].size = sizeof(device.controller.SSP.in[4]);
Diletant 161:efd949e8d536 593 hashParamTable[136].hash = 0xe49c97ed;
Diletant 161:efd949e8d536 594 hashParamTable[136].ref = &device.isacs.potentiometers.settings.b;
Diletant 161:efd949e8d536 595 hashParamTable[136].size = sizeof(device.isacs.potentiometers.settings.b);
Diletant 161:efd949e8d536 596 hashParamTable[137].hash = 0xe6bb75e9;
Diletant 161:efd949e8d536 597 hashParamTable[137].ref = &device.plcs.reset.settings.cooling.delay.slope;
Diletant 161:efd949e8d536 598 hashParamTable[137].size = sizeof(device.plcs.reset.settings.cooling.delay.slope);
Diletant 161:efd949e8d536 599 hashParamTable[138].hash = 0xe6c6e9fd;
Diletant 161:efd949e8d536 600 hashParamTable[138].ref = &device.plcs.reset.state.delay;
Diletant 161:efd949e8d536 601 hashParamTable[138].size = sizeof(device.plcs.reset.state.delay);
Diletant 161:efd949e8d536 602 hashParamTable[139].hash = 0xe7445461;
Diletant 161:efd949e8d536 603 hashParamTable[139].ref = &device.dither.pulse.state.fall;
Diletant 161:efd949e8d536 604 hashParamTable[139].size = sizeof(device.dither.pulse.state.fall);
Diletant 161:efd949e8d536 605 hashParamTable[140].hash = 0xe7f0684b;
Diletant 161:efd949e8d536 606 hashParamTable[140].ref = &device.isacs.regulator.settings.start.reference;
Diletant 161:efd949e8d536 607 hashParamTable[140].size = sizeof(device.isacs.regulator.settings.start.reference);
Diletant 161:efd949e8d536 608 hashParamTable[141].hash = 0xeae5bf6a;
Diletant 161:efd949e8d536 609 hashParamTable[141].ref = &device.controller.I2C.state.CON0;
Diletant 161:efd949e8d536 610 hashParamTable[141].size = sizeof(device.controller.I2C.state.CON0);
Diletant 161:efd949e8d536 611 hashParamTable[142].hash = 0xed95321c;
Diletant 161:efd949e8d536 612 hashParamTable[142].ref = &device.isacs.potentiometers.state.b;
Diletant 161:efd949e8d536 613 hashParamTable[142].size = sizeof(device.isacs.potentiometers.state.b);
Diletant 161:efd949e8d536 614 hashParamTable[143].hash = 0xedb8c4ea;
Diletant 161:efd949e8d536 615 hashParamTable[143].ref = &device.dither.cycle.state.pin2;
Diletant 161:efd949e8d536 616 hashParamTable[143].size = sizeof(device.dither.cycle.state.pin2);
Diletant 161:efd949e8d536 617 hashParamTable[144].hash = 0xf49a6f2b;
Diletant 161:efd949e8d536 618 hashParamTable[144].ref = &device.dither.detector.settings.offset;
Diletant 161:efd949e8d536 619 hashParamTable[144].size = sizeof(device.dither.detector.settings.offset);
Diletant 161:efd949e8d536 620 hashParamTable[145].hash = 0xf5ce8fee;
Diletant 161:efd949e8d536 621 hashParamTable[145].ref = &device.dither.pulse.settings.fall;
Diletant 161:efd949e8d536 622 hashParamTable[145].size = sizeof(device.dither.pulse.settings.fall);
Diletant 161:efd949e8d536 623 hashParamTable[146].hash = 0xf5e09bfe;
Diletant 161:efd949e8d536 624 hashParamTable[146].ref = &device.dither.oscillation.settings.reference;
Diletant 161:efd949e8d536 625 hashParamTable[146].size = sizeof(device.dither.oscillation.settings.reference);
Diletant 161:efd949e8d536 626 hashParamTable[147].hash = 0xf85de4d2;
Diletant 161:efd949e8d536 627 hashParamTable[147].ref = &device.dither.detector.settings.weight[5];
Diletant 161:efd949e8d536 628 hashParamTable[147].size = sizeof(device.dither.detector.settings.weight[5]);
Diletant 161:efd949e8d536 629 hashParamTable[148].hash = 0xf85e1fc9;
Diletant 161:efd949e8d536 630 hashParamTable[148].ref = &device.dither.detector.settings.weight[14];
Diletant 161:efd949e8d536 631 hashParamTable[148].size = sizeof(device.dither.detector.settings.weight[14]);
Diletant 161:efd949e8d536 632 hashParamTable[149].hash = 0xfa18a190;
Diletant 161:efd949e8d536 633 hashParamTable[149].ref = &device.dither.detector.settings.weight[24];
Diletant 161:efd949e8d536 634 hashParamTable[149].size = sizeof(device.dither.detector.settings.weight[24]);
Diletant 161:efd949e8d536 635 hashParamTable[150].hash = 0xfb02c45a;
Diletant 161:efd949e8d536 636 hashParamTable[150].ref = &device.dac.settings.code[0];
Diletant 161:efd949e8d536 637 hashParamTable[150].size = sizeof(device.dac.settings.code[0]);
Diletant 161:efd949e8d536 638 hashParamTable[151].hash = 0xfc0531d4;
Diletant 161:efd949e8d536 639 hashParamTable[151].ref = &device.controller.QEI.state.delta;
Diletant 161:efd949e8d536 640 hashParamTable[151].size = sizeof(device.controller.QEI.state.delta);
Diletant 161:efd949e8d536 641 hashParamTable[152].hash = 0xfceba7ea;
Diletant 161:efd949e8d536 642 hashParamTable[152].ref = &device.controller.uart[1].state.DLL;
Diletant 161:efd949e8d536 643 hashParamTable[152].size = sizeof(device.controller.uart[1].state.DLL);
Diletant 161:efd949e8d536 644 }
Diletant 161:efd949e8d536 645
Diletant 161:efd949e8d536 646 void InitHashFuncTable(void) {
Diletant 161:efd949e8d536 647 hashFuncTable[0].hash = 0x71f16e12;
Diletant 161:efd949e8d536 648 hashFuncTable[0].ref = DeviceFlashWriteAll;
Diletant 161:efd949e8d536 649 hashFuncTable[0].resultSize = sizeof(void);
Diletant 161:efd949e8d536 650 hashFuncTable[0].paramCount = 0;
Diletant 161:efd949e8d536 651 hashFuncTable[1].hash = 0xd84a94cf;
Diletant 161:efd949e8d536 652 hashFuncTable[1].ref = DeviceFlashReadAll;
Diletant 161:efd949e8d536 653 hashFuncTable[1].resultSize = sizeof(void);
Diletant 161:efd949e8d536 654 hashFuncTable[1].paramCount = 0;
Diletant 161:efd949e8d536 655 hashFuncTable[2].hash = 0xd93b80f4;
Diletant 161:efd949e8d536 656 hashFuncTable[2].ref = DeviceStartLightUp;
Diletant 161:efd949e8d536 657 hashFuncTable[2].resultSize = sizeof(void);
Diletant 161:efd949e8d536 658 hashFuncTable[2].paramCount = 0;
Diletant 161:efd949e8d536 659 }