123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
166:c3c0b8a90d81
Parent:
161:efd949e8d536
Child:
167:bedc0a9d559a
--- a/Device.c	Fri May 20 14:03:58 2016 +0000
+++ b/Device.c	Sun May 22 18:59:20 2016 +0000
@@ -44,7 +44,7 @@
   InitCountersWithDefaults();
   InitLightUpWithDefaults();
   InitDitherWithDefaults();
-  InitDACWithDefaults();
+  //InitDACWithDefaults();
   InitISACSWithDefaults();
   InitPathLengthControlSystemWithDefaults();
 }
@@ -75,7 +75,7 @@
   //Init dither
   InitDither();
   //Init DAC of hfo & plcs
-  InitDAC();
+  //InitDAC();
   //Init information signal amplitude control system
   InitISACS();
   //Init path length control system
@@ -156,6 +156,9 @@
   
   //Receive ADCs samples using SSP
   DeviceSSPReceive();
+  //Process ACS
+  isacsProcess();
+  plcsProcess();
   //Transmit DACs values using SSP
   DeviceSSPTransmit(device.measurement.counter & 1);
   
@@ -182,465 +185,1011 @@
 */
 
 void InitHashParamTable(void){
-  hashParamTable[0].hash = 0x1049db13;
-  hashParamTable[0].ref = &device.controller.uart[0].state.DLM;
-  hashParamTable[0].size = sizeof(device.controller.uart[0].state.DLM);
-  hashParamTable[1].hash = 0x12e884f8;
-  hashParamTable[1].ref = &device.plcs.regulator.state.enabled;
-  hashParamTable[1].size = sizeof(device.plcs.regulator.state.enabled);
-  hashParamTable[2].hash = 0x14ca9b91;
-  hashParamTable[2].ref = &device.controller.uart[0].state.LCR;
-  hashParamTable[2].size = sizeof(device.controller.uart[0].state.LCR);
-  hashParamTable[3].hash = 0x176344d;
-  hashParamTable[3].ref = &device.dac.settings.resolution;
-  hashParamTable[3].size = sizeof(device.dac.settings.resolution);
-  hashParamTable[4].hash = 0x179ae491;
-  hashParamTable[4].ref = &device.dither.noise.state.enabled;
-  hashParamTable[4].size = sizeof(device.dither.noise.state.enabled);
-  hashParamTable[5].hash = 0x18bf00d0;
-  hashParamTable[5].ref = &device.dither.noise.settings.phase;
-  hashParamTable[5].size = sizeof(device.dither.noise.settings.phase);
-  hashParamTable[6].hash = 0x18c9d3e9;
-  hashParamTable[6].ref = &device.controller.I2C.state.trigger;
-  hashParamTable[6].size = sizeof(device.controller.I2C.state.trigger);
-  hashParamTable[7].hash = 0x195d1e47;
-  hashParamTable[7].ref = &device.controller.uart[0].state.FCR;
-  hashParamTable[7].size = sizeof(device.controller.uart[0].state.FCR);
-  hashParamTable[8].hash = 0x1eb95b78;
-  hashParamTable[8].ref = &device.controller.I2C.state.position;
-  hashParamTable[8].size = sizeof(device.controller.I2C.state.position);
-  hashParamTable[9].hash = 0x1ef86a6a;
-  hashParamTable[9].ref = &device.dither.noise.settings.enabled;
-  hashParamTable[9].size = sizeof(device.dither.noise.settings.enabled);
-  hashParamTable[10].hash = 0x1f3f5760;
-  hashParamTable[10].ref = &device.controller.SSP.out[0];
-  hashParamTable[10].size = sizeof(device.controller.SSP.out[0]);
-  hashParamTable[11].hash = 0x1f99ad84;
-  hashParamTable[11].ref = &device.sensor.settings.id;
-  hashParamTable[11].size = sizeof(device.sensor.settings.id);
-  hashParamTable[12].hash = 0x1fd038c3;
-  hashParamTable[12].ref = &device.controller.I2C.state.buffer[4];
-  hashParamTable[12].size = sizeof(device.controller.I2C.state.buffer[4]);
-  hashParamTable[13].hash = 0x2481a096;
-  hashParamTable[13].ref = &device.isacs.regulator.settings.regular.scale;
-  hashParamTable[13].size = sizeof(device.isacs.regulator.settings.regular.scale);
-  hashParamTable[14].hash = 0x28d2accb;
-  hashParamTable[14].ref = &device.dither.carrier.state.error;
-  hashParamTable[14].size = sizeof(device.dither.carrier.state.error);
-  hashParamTable[15].hash = 0x321197dc;
-  hashParamTable[15].ref = &device.isacs.regulator.settings.enabled;
-  hashParamTable[15].size = sizeof(device.isacs.regulator.settings.enabled);
-  hashParamTable[16].hash = 0x323d398;
-  hashParamTable[16].ref = &device.dither.carrier.state.reference;
-  hashParamTable[16].size = sizeof(device.dither.carrier.state.reference);
-  hashParamTable[17].hash = 0x36ee331;
-  hashParamTable[17].ref = &device.isacs.regulator.state.enabled;
-  hashParamTable[17].size = sizeof(device.isacs.regulator.state.enabled);
-  hashParamTable[18].hash = 0x37da9fc5;
-  hashParamTable[18].ref = &device.plcs.reset.settings.heating.delay.center;
-  hashParamTable[18].size = sizeof(device.plcs.reset.settings.heating.delay.center);
-  hashParamTable[19].hash = 0x3a858c52;
-  hashParamTable[19].ref = &device.dither.noise.settings.range;
-  hashParamTable[19].size = sizeof(device.dither.noise.settings.range);
-  hashParamTable[20].hash = 0x41c3f057;
-  hashParamTable[20].ref = &device.plcs.modulator.settings.enabled;
-  hashParamTable[20].size = sizeof(device.plcs.modulator.settings.enabled);
-  hashParamTable[21].hash = 0x43914418;
-  hashParamTable[21].ref = &device.dither.carrier.settings.reference;
-  hashParamTable[21].size = sizeof(device.dither.carrier.settings.reference);
-  hashParamTable[22].hash = 0x45a15cba;
-  hashParamTable[22].ref = &device.sensor.settings.block;
-  hashParamTable[22].size = sizeof(device.sensor.settings.block);
-  hashParamTable[23].hash = 0x4977a07a;
-  hashParamTable[23].ref = &device.dither.pulse.state.counter;
-  hashParamTable[23].size = sizeof(device.dither.pulse.state.counter);
-  hashParamTable[24].hash = 0x498a9f45;
-  hashParamTable[24].ref = &device.controller.I2C.state.buffer[2];
-  hashParamTable[24].size = sizeof(device.controller.I2C.state.buffer[2]);
-  hashParamTable[25].hash = 0x4d41b2c1;
-  hashParamTable[25].ref = &device.dac.settings.reference;
-  hashParamTable[25].size = sizeof(device.dac.settings.reference);
-  hashParamTable[26].hash = 0x4df06184;
-  hashParamTable[26].ref = &device.dither.detector.settings.weight[19];
-  hashParamTable[26].size = sizeof(device.dither.detector.settings.weight[19]);
-  hashParamTable[27].hash = 0x4df39a9f;
-  hashParamTable[27].ref = &device.dither.detector.settings.weight[8];
-  hashParamTable[27].size = sizeof(device.dither.detector.settings.weight[8]);
-  hashParamTable[28].hash = 0x4e9b0985;
-  hashParamTable[28].ref = &device.plcs.amplifier.settings.gain;
-  hashParamTable[28].size = sizeof(device.plcs.amplifier.settings.gain);
-  hashParamTable[29].hash = 0x4fb6dfdd;
-  hashParamTable[29].ref = &device.dither.detector.settings.weight[29];
-  hashParamTable[29].size = sizeof(device.dither.detector.settings.weight[29]);
-  hashParamTable[30].hash = 0x5091ae04;
-  hashParamTable[30].ref = &device.controller.I2C.state.buffer[3];
-  hashParamTable[30].size = sizeof(device.controller.I2C.state.buffer[3]);
-  hashParamTable[31].hash = 0x525b6730;
-  hashParamTable[31].ref = &device.controller.I2C.state.enabled;
-  hashParamTable[31].size = sizeof(device.controller.I2C.state.enabled);
-  hashParamTable[32].hash = 0x542e0c62;
-  hashParamTable[32].ref = &device.controller.flash.settings.hashSector;
-  hashParamTable[32].size = sizeof(device.controller.flash.settings.hashSector);
-  hashParamTable[33].hash = 0x5489817b;
-  hashParamTable[33].ref = &device.dither.carrier.settings.scale;
-  hashParamTable[33].size = sizeof(device.dither.carrier.settings.scale);
-  hashParamTable[34].hash = 0x54e8abde;
-  hashParamTable[34].ref = &device.dither.detector.settings.weight[9];
-  hashParamTable[34].size = sizeof(device.dither.detector.settings.weight[9]);
-  hashParamTable[35].hash = 0x54eb50c5;
-  hashParamTable[35].ref = &device.dither.detector.settings.weight[18];
-  hashParamTable[35].size = sizeof(device.dither.detector.settings.weight[18]);
-  hashParamTable[36].hash = 0x5623a17a;
-  hashParamTable[36].ref = &device.dither.cycle.settings.enabled;
-  hashParamTable[36].size = sizeof(device.dither.cycle.settings.enabled);
-  hashParamTable[37].hash = 0x56adee9c;
-  hashParamTable[37].ref = &device.dither.detector.settings.weight[28];
-  hashParamTable[37].size = sizeof(device.dither.detector.settings.weight[28]);
-  hashParamTable[38].hash = 0x5a8f12ce;
-  hashParamTable[38].ref = &device.dither.cycle.state.enabled;
-  hashParamTable[38].size = sizeof(device.dither.cycle.state.enabled);
-  hashParamTable[39].hash = 0x5dd88c4f;
-  hashParamTable[39].ref = &device.plcs.regulator.state.reference;
-  hashParamTable[39].size = sizeof(device.plcs.regulator.state.reference);
-  hashParamTable[40].hash = 0x6246621;
-  hashParamTable[40].ref = &device.controller.SSP.out[1];
-  hashParamTable[40].size = sizeof(device.controller.SSP.out[1]);
-  hashParamTable[41].hash = 0x62a7cc86;
-  hashParamTable[41].ref = &device.controller.I2C.state.buffer[1];
-  hashParamTable[41].size = sizeof(device.controller.I2C.state.buffer[1]);
-  hashParamTable[42].hash = 0x634b9e76;
-  hashParamTable[42].ref = &device.isacs.regulator.settings.start.scale;
-  hashParamTable[42].size = sizeof(device.isacs.regulator.settings.start.scale);
-  hashParamTable[43].hash = 0x635b8d69;
-  hashParamTable[43].ref = &device.controller.I2C.settings.trigger;
-  hashParamTable[43].size = sizeof(device.controller.I2C.settings.trigger);
-  hashParamTable[44].hash = 0x664c6cbe;
-  hashParamTable[44].ref = &device.controller.timer[0].state.TCR;
-  hashParamTable[44].size = sizeof(device.controller.timer[0].state.TCR);
-  hashParamTable[45].hash = 0x667be78f;
-  hashParamTable[45].ref = &device.dac.state.out[1];
-  hashParamTable[45].size = sizeof(device.dac.state.out[1]);
-  hashParamTable[46].hash = 0x674eeb85;
-  hashParamTable[46].ref = &device.controller.uart[0].state.DLL;
-  hashParamTable[46].size = sizeof(device.controller.uart[0].state.DLL);
-  hashParamTable[47].hash = 0x6771d50;
-  hashParamTable[47].ref = &device.lightUp.settings.sequence;
-  hashParamTable[47].size = sizeof(device.lightUp.settings.sequence);
-  hashParamTable[48].hash = 0x688f56ab;
-  hashParamTable[48].ref = &device.isacs.regulator.state.scale;
-  hashParamTable[48].size = sizeof(device.isacs.regulator.state.scale);
-  hashParamTable[49].hash = 0x68ed9659;
-  hashParamTable[49].ref = &device.plcs.reset.settings.heating.level.center;
-  hashParamTable[49].size = sizeof(device.plcs.reset.settings.heating.level.center);
-  hashParamTable[50].hash = 0x6cb0982;
-  hashParamTable[50].ref = &device.controller.I2C.state.buffer[5];
-  hashParamTable[50].size = sizeof(device.controller.I2C.state.buffer[5]);
-  hashParamTable[51].hash = 0x712f5803;
-  hashParamTable[51].ref = &device.plcs.regulator.settings.scale;
-  hashParamTable[51].size = sizeof(device.plcs.regulator.settings.scale);
-  hashParamTable[52].hash = 0x749c63a6;
-  hashParamTable[52].ref = &device.isacs.potentiometers.state.a;
-  hashParamTable[52].size = sizeof(device.isacs.potentiometers.state.a);
-  hashParamTable[53].hash = 0x74b19550;
-  hashParamTable[53].ref = &device.dither.cycle.state.pin1;
-  hashParamTable[53].size = sizeof(device.dither.cycle.state.pin1);
-  hashParamTable[54].hash = 0x75bbf441;
-  hashParamTable[54].ref = &device.controller.timer[0].state.MCR;
-  hashParamTable[54].size = sizeof(device.controller.timer[0].state.MCR);
-  hashParamTable[55].hash = 0x7b92b7f4;
-  hashParamTable[55].ref = &device.dither.oscillation.state.error;
-  hashParamTable[55].size = sizeof(device.dither.oscillation.state.error);
-  hashParamTable[56].hash = 0x7bbcfdc7;
-  hashParamTable[56].ref = &device.controller.I2C.state.buffer[0];
-  hashParamTable[56].size = sizeof(device.controller.I2C.state.buffer[0]);
-  hashParamTable[57].hash = 0x7d95c657;
-  hashParamTable[57].ref = &device.isacs.potentiometers.settings.a;
-  hashParamTable[57].size = sizeof(device.isacs.potentiometers.settings.a);
-  hashParamTable[58].hash = 0x7f60d6ce;
-  hashParamTable[58].ref = &device.dac.state.out[0];
-  hashParamTable[58].size = sizeof(device.dac.state.out[0]);
-  hashParamTable[59].hash = 0x8208e177;
-  hashParamTable[59].ref = &device.plcs.regulator.settings.enabled;
-  hashParamTable[59].size = sizeof(device.plcs.regulator.settings.enabled);
-  hashParamTable[60].hash = 0x82aa732b;
-  hashParamTable[60].ref = &device.dither.pulse.state.rise;
-  hashParamTable[60].size = sizeof(device.dither.pulse.state.rise);
-  hashParamTable[61].hash = 0x82f85228;
-  hashParamTable[61].ref = &device.controller.uart[1].state.FCR;
-  hashParamTable[61].size = sizeof(device.controller.uart[1].state.FCR);
-  hashParamTable[62].hash = 0x83843183;
-  hashParamTable[62].ref = &device.user.address;
-  hashParamTable[62].size = sizeof(device.user.address);
-  hashParamTable[63].hash = 0x8529eb8c;
-  hashParamTable[63].ref = &device.dither.detector.settings.weight[11];
-  hashParamTable[63].size = sizeof(device.dither.detector.settings.weight[11]);
-  hashParamTable[64].hash = 0x852a1097;
-  hashParamTable[64].ref = &device.dither.detector.settings.weight[0];
-  hashParamTable[64].size = sizeof(device.dither.detector.settings.weight[0]);
-  hashParamTable[65].hash = 0x85ded725;
-  hashParamTable[65].ref = &device.controller.timer[0].state.MR0;
-  hashParamTable[65].size = sizeof(device.controller.timer[0].state.MR0);
-  hashParamTable[66].hash = 0x86ad3fe2;
-  hashParamTable[66].ref = &device.dither.detector.settings.weight[31];
-  hashParamTable[66].size = sizeof(device.dither.detector.settings.weight[31]);
-  hashParamTable[67].hash = 0x871249a3;
-  hashParamTable[67].ref = &device.controller.SSP.in[0];
-  hashParamTable[67].size = sizeof(device.controller.SSP.in[0]);
-  hashParamTable[68].hash = 0x876f55d5;
-  hashParamTable[68].ref = &device.dither.detector.settings.weight[21];
-  hashParamTable[68].size = sizeof(device.dither.detector.settings.weight[21]);
-  hashParamTable[69].hash = 0x88226cfe;
-  hashParamTable[69].ref = &device.dither.detector.state.error;
-  hashParamTable[69].size = sizeof(device.dither.detector.state.error);
-  hashParamTable[70].hash = 0x8997b45f;
-  hashParamTable[70].ref = &device.plcs.modulator.state.enabled;
-  hashParamTable[70].size = sizeof(device.plcs.modulator.state.enabled);
-  hashParamTable[71].hash = 0x8ad9720d;
-  hashParamTable[71].ref = &device.plcs.reset.settings.heating.delay.slope;
-  hashParamTable[71].size = sizeof(device.plcs.reset.settings.heating.delay.slope);
-  hashParamTable[72].hash = 0x8bec977c;
-  hashParamTable[72].ref = &device.controller.uart[1].state.DLM;
-  hashParamTable[72].size = sizeof(device.controller.uart[1].state.DLM);
-  hashParamTable[73].hash = 0x8f6fd7fe;
-  hashParamTable[73].ref = &device.controller.uart[1].state.LCR;
-  hashParamTable[73].size = sizeof(device.controller.uart[1].state.LCR);
-  hashParamTable[74].hash = 0x9020a8a4;
-  hashParamTable[74].ref = &device.dither.pulse.settings.rise;
-  hashParamTable[74].size = sizeof(device.dither.pulse.settings.rise);
-  hashParamTable[75].hash = 0x90d1dba3;
-  hashParamTable[75].ref = &device.plcs.reset.settings.cooling.delay.center;
-  hashParamTable[75].size = sizeof(device.plcs.reset.settings.cooling.delay.center);
-  hashParamTable[76].hash = 0x94360535;
-  hashParamTable[76].ref = &device.isacs.regulator.state.reference;
-  hashParamTable[76].size = sizeof(device.isacs.regulator.state.reference);
-  hashParamTable[77].hash = 0x958ecda;
-  hashParamTable[77].ref = &device.dither.oscillation.state.enabled;
-  hashParamTable[77].size = sizeof(device.dither.oscillation.state.enabled);
-  hashParamTable[78].hash = 0x96d795b;
-  hashParamTable[78].ref = &device.isacs.regulator.settings.reset.reference;
-  hashParamTable[78].size = sizeof(device.isacs.regulator.settings.reset.reference);
-  hashParamTable[79].hash = 0x97dea178;
-  hashParamTable[79].ref = &device.controller.QEI.state.position;
-  hashParamTable[79].size = sizeof(device.controller.QEI.state.position);
-  hashParamTable[80].hash = 0x9949353e;
-  hashParamTable[80].ref = &device.dither.carrier.state.scale;
-  hashParamTable[80].size = sizeof(device.dither.carrier.state.scale);
-  hashParamTable[81].hash = 0x9ae15d5f;
-  hashParamTable[81].ref = &device.dither.carrier.settings.enabled;
-  hashParamTable[81].size = sizeof(device.dither.carrier.settings.enabled);
-  hashParamTable[82].hash = 0x9c3121d6;
-  hashParamTable[82].ref = &device.dither.detector.settings.weight[1];
-  hashParamTable[82].size = sizeof(device.dither.detector.settings.weight[1]);
-  hashParamTable[83].hash = 0x9c32dacd;
-  hashParamTable[83].ref = &device.dither.detector.settings.weight[10];
-  hashParamTable[83].size = sizeof(device.dither.detector.settings.weight[10]);
-  hashParamTable[84].hash = 0x9e0978e2;
-  hashParamTable[84].ref = &device.controller.SSP.in[1];
-  hashParamTable[84].size = sizeof(device.controller.SSP.in[1]);
-  hashParamTable[85].hash = 0x9e746494;
-  hashParamTable[85].ref = &device.dither.detector.settings.weight[20];
-  hashParamTable[85].size = sizeof(device.dither.detector.settings.weight[20]);
-  hashParamTable[86].hash = 0x9ee1f9a5;
-  hashParamTable[86].ref = &device.isacs.regulator.settings.reset.scale;
-  hashParamTable[86].size = sizeof(device.isacs.regulator.settings.reset.scale);
-  hashParamTable[87].hash = 0x9ef65be2;
-  hashParamTable[87].ref = &device.controller.chip;
-  hashParamTable[87].size = sizeof(device.controller.chip);
-  hashParamTable[88].hash = 0x9fb60ea3;
-  hashParamTable[88].ref = &device.dither.detector.settings.weight[30];
-  hashParamTable[88].size = sizeof(device.dither.detector.settings.weight[30]);
-  hashParamTable[89].hash = 0xa08ff954;
-  hashParamTable[89].ref = &device.plcs.amplifier.settings.reference;
-  hashParamTable[89].size = sizeof(device.plcs.amplifier.settings.reference);
-  hashParamTable[90].hash = 0xa454a98f;
-  hashParamTable[90].ref = &device.dither.oscillation.settings.scale;
-  hashParamTable[90].size = sizeof(device.dither.oscillation.settings.scale);
-  hashParamTable[91].hash = 0xa80ee333;
-  hashParamTable[91].ref = &device.lightUp.state.sequence;
-  hashParamTable[91].size = sizeof(device.lightUp.state.sequence);
-  hashParamTable[92].hash = 0xa9dc4138;
-  hashParamTable[92].ref = &device.dac.settings.out[1];
-  hashParamTable[92].size = sizeof(device.dac.settings.out[1]);
-  hashParamTable[93].hash = 0xac3f1a60;
-  hashParamTable[93].ref = &device.controller.SSP.in[3];
-  hashParamTable[93].size = sizeof(device.controller.SSP.in[3]);
-  hashParamTable[94].hash = 0xac420616;
-  hashParamTable[94].ref = &device.dither.detector.settings.weight[22];
-  hashParamTable[94].size = sizeof(device.dither.detector.settings.weight[22]);
-  hashParamTable[95].hash = 0xae04b84f;
-  hashParamTable[95].ref = &device.dither.detector.settings.weight[12];
-  hashParamTable[95].size = sizeof(device.dither.detector.settings.weight[12]);
-  hashParamTable[96].hash = 0xae074354;
-  hashParamTable[96].ref = &device.dither.detector.settings.weight[3];
-  hashParamTable[96].size = sizeof(device.dither.detector.settings.weight[3]);
-  hashParamTable[97].hash = 0xaec845d3;
-  hashParamTable[97].ref = &device.dac.state.code[0];
-  hashParamTable[97].size = sizeof(device.dac.state.code[0]);
-  hashParamTable[98].hash = 0xb0c77079;
-  hashParamTable[98].ref = &device.dac.settings.out[0];
-  hashParamTable[98].size = sizeof(device.dac.settings.out[0]);
-  hashParamTable[99].hash = 0xb5188450;
-  hashParamTable[99].ref = &device.controller.timer[0].settings.match;
-  hashParamTable[99].size = sizeof(device.controller.timer[0].settings.match);
-  hashParamTable[100].hash = 0xb5242b21;
-  hashParamTable[100].ref = &device.controller.SSP.in[2];
-  hashParamTable[100].size = sizeof(device.controller.SSP.in[2]);
-  hashParamTable[101].hash = 0xb5593757;
-  hashParamTable[101].ref = &device.dither.detector.settings.weight[23];
-  hashParamTable[101].size = sizeof(device.dither.detector.settings.weight[23]);
-  hashParamTable[102].hash = 0xb71c7215;
-  hashParamTable[102].ref = &device.dither.detector.settings.weight[2];
-  hashParamTable[102].size = sizeof(device.dither.detector.settings.weight[2]);
-  hashParamTable[103].hash = 0xb71f890e;
-  hashParamTable[103].ref = &device.dither.detector.settings.weight[13];
-  hashParamTable[103].size = sizeof(device.dither.detector.settings.weight[13]);
-  hashParamTable[104].hash = 0xb7d37492;
-  hashParamTable[104].ref = &device.dac.state.code[1];
-  hashParamTable[104].size = sizeof(device.dac.state.code[1]);
-  hashParamTable[105].hash = 0xb858e634;
-  hashParamTable[105].ref = &device.plcs.reset.settings.heating.level.slope;
-  hashParamTable[105].size = sizeof(device.plcs.reset.settings.heating.level.slope);
-  hashParamTable[106].hash = 0xb90338b5;
-  hashParamTable[106].ref = &device.dither.oscillation.state.reference;
-  hashParamTable[106].size = sizeof(device.dither.oscillation.state.reference);
-  hashParamTable[107].hash = 0xbcfa14ae;
-  hashParamTable[107].ref = &device.controller.uart[1].settings.baudRate;
-  hashParamTable[107].size = sizeof(device.controller.uart[1].settings.baudRate);
-  hashParamTable[108].hash = 0xbd22c6cf;
-  hashParamTable[108].ref = &device.plcs.regulator.state.error;
-  hashParamTable[108].size = sizeof(device.plcs.regulator.state.error);
-  hashParamTable[109].hash = 0xc38048cc;
-  hashParamTable[109].ref = &device.controller.I2C.state.counter;
-  hashParamTable[109].size = sizeof(device.controller.I2C.state.counter);
-  hashParamTable[110].hash = 0xc6d70a1e;
-  hashParamTable[110].ref = &device.isacs.regulator.settings.regular.reference;
-  hashParamTable[110].size = sizeof(device.isacs.regulator.settings.regular.reference);
-  hashParamTable[111].hash = 0xc82ec312;
-  hashParamTable[111].ref = &device.dither.detector.settings.weight[26];
-  hashParamTable[111].size = sizeof(device.dither.detector.settings.weight[26]);
-  hashParamTable[112].hash = 0xca092e01;
-  hashParamTable[112].ref = &device.dither.oscillation.state.scale;
-  hashParamTable[112].size = sizeof(device.dither.oscillation.state.scale);
-  hashParamTable[113].hash = 0xca687d4b;
-  hashParamTable[113].ref = &device.dither.detector.settings.weight[16];
-  hashParamTable[113].size = sizeof(device.dither.detector.settings.weight[16]);
-  hashParamTable[114].hash = 0xca6b8650;
-  hashParamTable[114].ref = &device.dither.detector.settings.weight[7];
-  hashParamTable[114].size = sizeof(device.dither.detector.settings.weight[7]);
-  hashParamTable[115].hash = 0xcb95f3a;
-  hashParamTable[115].ref = &device.plcs.regulator.state.scale;
-  hashParamTable[115].size = sizeof(device.plcs.regulator.state.scale);
-  hashParamTable[116].hash = 0xceb6a575;
-  hashParamTable[116].ref = &device.plcs.reset.state.level;
-  hashParamTable[116].size = sizeof(device.plcs.reset.state.level);
-  hashParamTable[117].hash = 0xcfc8a2e9;
-  hashParamTable[117].ref = &device.lightUp.state.enabled;
-  hashParamTable[117].size = sizeof(device.lightUp.state.enabled);
-  hashParamTable[118].hash = 0xcfe6d23f;
-  hashParamTable[118].ref = &device.plcs.reset.settings.cooling.level.center;
-  hashParamTable[118].size = sizeof(device.plcs.reset.settings.cooling.level.center);
-  hashParamTable[119].hash = 0xd135f253;
-  hashParamTable[119].ref = &device.dither.detector.settings.weight[27];
-  hashParamTable[119].size = sizeof(device.dither.detector.settings.weight[27]);
-  hashParamTable[120].hash = 0xd14fa026;
-  hashParamTable[120].ref = &device.controller.flash.settings.dataSector;
-  hashParamTable[120].size = sizeof(device.controller.flash.settings.dataSector);
-  hashParamTable[121].hash = 0xd370b711;
-  hashParamTable[121].ref = &device.dither.detector.settings.weight[6];
-  hashParamTable[121].size = sizeof(device.dither.detector.settings.weight[6]);
-  hashParamTable[122].hash = 0xd3734c0a;
-  hashParamTable[122].ref = &device.dither.detector.settings.weight[17];
-  hashParamTable[122].size = sizeof(device.dither.detector.settings.weight[17]);
-  hashParamTable[123].hash = 0xd43ae1d0;
-  hashParamTable[123].ref = &device.plcs.reset.settings.cooling.level.slope;
-  hashParamTable[123].size = sizeof(device.plcs.reset.settings.cooling.level.slope);
-  hashParamTable[124].hash = 0xd914cf5e;
-  hashParamTable[124].ref = &device.isacs.regulator.state.error;
-  hashParamTable[124].size = sizeof(device.isacs.regulator.state.error);
-  hashParamTable[125].hash = 0xd99d2fe8;
-  hashParamTable[125].ref = &device.controller.uart[0].settings.baudRate;
-  hashParamTable[125].size = sizeof(device.controller.uart[0].settings.baudRate);
-  hashParamTable[126].hash = 0xdbe35c4a;
-  hashParamTable[126].ref = &device.dither.carrier.state.enabled;
-  hashParamTable[126].size = sizeof(device.dither.carrier.state.enabled);
-  hashParamTable[127].hash = 0xdbefbf30;
-  hashParamTable[127].ref = &device.dither.noise.settings.period;
-  hashParamTable[127].size = sizeof(device.dither.noise.settings.period);
-  hashParamTable[128].hash = 0xdc1b0dfc;
-  hashParamTable[128].ref = &device.plcs.regulator.settings.reference;
-  hashParamTable[128].size = sizeof(device.plcs.regulator.settings.reference);
-  hashParamTable[129].hash = 0xdf8421c1;
-  hashParamTable[129].ref = &device.dither.oscillation.settings.enabled;
-  hashParamTable[129].size = sizeof(device.dither.oscillation.settings.enabled);
-  hashParamTable[130].hash = 0xe01715be;
-  hashParamTable[130].ref = &device.dac.settings.unit;
-  hashParamTable[130].size = sizeof(device.dac.settings.unit);
-  hashParamTable[131].hash = 0xe1452e88;
-  hashParamTable[131].ref = &device.dither.detector.settings.weight[15];
-  hashParamTable[131].size = sizeof(device.dither.detector.settings.weight[15]);
-  hashParamTable[132].hash = 0xe146d593;
-  hashParamTable[132].ref = &device.dither.detector.settings.weight[4];
-  hashParamTable[132].size = sizeof(device.dither.detector.settings.weight[4]);
-  hashParamTable[133].hash = 0xe219f51b;
-  hashParamTable[133].ref = &device.dac.settings.code[1];
-  hashParamTable[133].size = sizeof(device.dac.settings.code[1]);
-  hashParamTable[134].hash = 0xe30390d1;
-  hashParamTable[134].ref = &device.dither.detector.settings.weight[25];
-  hashParamTable[134].size = sizeof(device.dither.detector.settings.weight[25]);
-  hashParamTable[135].hash = 0xe37e8ca7;
-  hashParamTable[135].ref = &device.controller.SSP.in[4];
-  hashParamTable[135].size = sizeof(device.controller.SSP.in[4]);
-  hashParamTable[136].hash = 0xe49c97ed;
-  hashParamTable[136].ref = &device.isacs.potentiometers.settings.b;
-  hashParamTable[136].size = sizeof(device.isacs.potentiometers.settings.b);
-  hashParamTable[137].hash = 0xe6bb75e9;
-  hashParamTable[137].ref = &device.plcs.reset.settings.cooling.delay.slope;
-  hashParamTable[137].size = sizeof(device.plcs.reset.settings.cooling.delay.slope);
-  hashParamTable[138].hash = 0xe6c6e9fd;
-  hashParamTable[138].ref = &device.plcs.reset.state.delay;
-  hashParamTable[138].size = sizeof(device.plcs.reset.state.delay);
-  hashParamTable[139].hash = 0xe7445461;
-  hashParamTable[139].ref = &device.dither.pulse.state.fall;
-  hashParamTable[139].size = sizeof(device.dither.pulse.state.fall);
-  hashParamTable[140].hash = 0xe7f0684b;
-  hashParamTable[140].ref = &device.isacs.regulator.settings.start.reference;
-  hashParamTable[140].size = sizeof(device.isacs.regulator.settings.start.reference);
-  hashParamTable[141].hash = 0xeae5bf6a;
-  hashParamTable[141].ref = &device.controller.I2C.state.CON0;
-  hashParamTable[141].size = sizeof(device.controller.I2C.state.CON0);
-  hashParamTable[142].hash = 0xed95321c;
-  hashParamTable[142].ref = &device.isacs.potentiometers.state.b;
-  hashParamTable[142].size = sizeof(device.isacs.potentiometers.state.b);
-  hashParamTable[143].hash = 0xedb8c4ea;
-  hashParamTable[143].ref = &device.dither.cycle.state.pin2;
-  hashParamTable[143].size = sizeof(device.dither.cycle.state.pin2);
-  hashParamTable[144].hash = 0xf49a6f2b;
-  hashParamTable[144].ref = &device.dither.detector.settings.offset;
-  hashParamTable[144].size = sizeof(device.dither.detector.settings.offset);
-  hashParamTable[145].hash = 0xf5ce8fee;
-  hashParamTable[145].ref = &device.dither.pulse.settings.fall;
-  hashParamTable[145].size = sizeof(device.dither.pulse.settings.fall);
-  hashParamTable[146].hash = 0xf5e09bfe;
-  hashParamTable[146].ref = &device.dither.oscillation.settings.reference;
-  hashParamTable[146].size = sizeof(device.dither.oscillation.settings.reference);
-  hashParamTable[147].hash = 0xf85de4d2;
-  hashParamTable[147].ref = &device.dither.detector.settings.weight[5];
-  hashParamTable[147].size = sizeof(device.dither.detector.settings.weight[5]);
-  hashParamTable[148].hash = 0xf85e1fc9;
-  hashParamTable[148].ref = &device.dither.detector.settings.weight[14];
-  hashParamTable[148].size = sizeof(device.dither.detector.settings.weight[14]);
-  hashParamTable[149].hash = 0xfa18a190;
-  hashParamTable[149].ref = &device.dither.detector.settings.weight[24];
-  hashParamTable[149].size = sizeof(device.dither.detector.settings.weight[24]);
-  hashParamTable[150].hash = 0xfb02c45a;
-  hashParamTable[150].ref = &device.dac.settings.code[0];
-  hashParamTable[150].size = sizeof(device.dac.settings.code[0]);
-  hashParamTable[151].hash = 0xfc0531d4;
-  hashParamTable[151].ref = &device.controller.QEI.state.delta;
-  hashParamTable[151].size = sizeof(device.controller.QEI.state.delta);
-  hashParamTable[152].hash = 0xfceba7ea;
-  hashParamTable[152].ref = &device.controller.uart[1].state.DLL;
-  hashParamTable[152].size = sizeof(device.controller.uart[1].state.DLL);
+  hashParamTable[0].hash = 0x10264264;
+  hashParamTable[0].ref = &device.isacs.output.interpolator.settings.voltage[14];
+  hashParamTable[0].size = sizeof(device.isacs.output.interpolator.settings.voltage[14]);
+  hashParamTable[1].hash = 0x1049db13;
+  hashParamTable[1].ref = &device.controller.uart[0].state.DLM;
+  hashParamTable[1].size = sizeof(device.controller.uart[0].state.DLM);
+  hashParamTable[2].hash = 0x12b6ba5d;
+  hashParamTable[2].ref = &device.plcs.sequencer.settings.sequence[8];
+  hashParamTable[2].size = sizeof(device.plcs.sequencer.settings.sequence[8]);
+  hashParamTable[3].hash = 0x12e884f8;
+  hashParamTable[3].ref = &device.plcs.regulator.state.enabled;
+  hashParamTable[3].size = sizeof(device.plcs.regulator.state.enabled);
+  hashParamTable[4].hash = 0x13408457;
+  hashParamTable[4].ref = &device.isacs.output.interpolator.settings.voltage[2];
+  hashParamTable[4].size = sizeof(device.isacs.output.interpolator.settings.voltage[2]);
+  hashParamTable[5].hash = 0x13cbc571;
+  hashParamTable[5].ref = &device.plcs.output.interpolator.settings.voltage[6];
+  hashParamTable[5].size = sizeof(device.plcs.output.interpolator.settings.voltage[6]);
+  hashParamTable[6].hash = 0x13e4500d;
+  hashParamTable[6].ref = &device.isacs.input.interpolator.settings.code[7];
+  hashParamTable[6].size = sizeof(device.isacs.input.interpolator.settings.code[7]);
+  hashParamTable[7].hash = 0x14ca9b91;
+  hashParamTable[7].ref = &device.controller.uart[0].state.LCR;
+  hashParamTable[7].size = sizeof(device.controller.uart[0].state.LCR);
+  hashParamTable[8].hash = 0x179ae491;
+  hashParamTable[8].ref = &device.dither.noise.state.enabled;
+  hashParamTable[8].size = sizeof(device.dither.noise.state.enabled);
+  hashParamTable[9].hash = 0x17bcf2b9;
+  hashParamTable[9].ref = &device.controller.SSP.in[4];
+  hashParamTable[9].size = sizeof(device.controller.SSP.in[4]);
+  hashParamTable[10].hash = 0x18bf00d0;
+  hashParamTable[10].ref = &device.dither.noise.settings.phase;
+  hashParamTable[10].size = sizeof(device.dither.noise.settings.phase);
+  hashParamTable[11].hash = 0x18c9d3e9;
+  hashParamTable[11].ref = &device.controller.I2C.state.trigger;
+  hashParamTable[11].size = sizeof(device.controller.I2C.state.trigger);
+  hashParamTable[12].hash = 0x195d1e47;
+  hashParamTable[12].ref = &device.controller.uart[0].state.FCR;
+  hashParamTable[12].size = sizeof(device.controller.uart[0].state.FCR);
+  hashParamTable[13].hash = 0x1a4cbcf2;
+  hashParamTable[13].ref = &device.isacs.input.interpolator.settings.voltage[3];
+  hashParamTable[13].size = sizeof(device.isacs.input.interpolator.settings.voltage[3]);
+  hashParamTable[14].hash = 0x1e450d6f;
+  hashParamTable[14].ref = &device.isacs.output.interpolator.settings.code[3];
+  hashParamTable[14].size = sizeof(device.isacs.output.interpolator.settings.code[3]);
+  hashParamTable[15].hash = 0x1eb95b78;
+  hashParamTable[15].ref = &device.controller.I2C.state.position;
+  hashParamTable[15].size = sizeof(device.controller.I2C.state.position);
+  hashParamTable[16].hash = 0x1ef86a6a;
+  hashParamTable[16].ref = &device.dither.noise.settings.enabled;
+  hashParamTable[16].size = sizeof(device.dither.noise.settings.enabled);
+  hashParamTable[17].hash = 0x1eff0b6f;
+  hashParamTable[17].ref = &device.plcs.detector.state.input;
+  hashParamTable[17].size = sizeof(device.plcs.detector.state.input);
+  hashParamTable[18].hash = 0x1f99ad84;
+  hashParamTable[18].ref = &device.sensor.settings.id;
+  hashParamTable[18].size = sizeof(device.sensor.settings.id);
+  hashParamTable[19].hash = 0x1fd038c3;
+  hashParamTable[19].ref = &device.controller.I2C.state.buffer[4];
+  hashParamTable[19].size = sizeof(device.controller.I2C.state.buffer[4]);
+  hashParamTable[20].hash = 0x20f0a405;
+  hashParamTable[20].ref = &device.isacs.output.interpolator.settings.code[15];
+  hashParamTable[20].size = sizeof(device.isacs.output.interpolator.settings.code[15]);
+  hashParamTable[21].hash = 0x2176e6d5;
+  hashParamTable[21].ref = &device.isacs.output.interpolator.settings.voltage[0];
+  hashParamTable[21].size = sizeof(device.isacs.output.interpolator.settings.voltage[0]);
+  hashParamTable[22].hash = 0x21d2328f;
+  hashParamTable[22].ref = &device.isacs.input.interpolator.settings.code[5];
+  hashParamTable[22].size = sizeof(device.isacs.input.interpolator.settings.code[5]);
+  hashParamTable[23].hash = 0x21fda7f3;
+  hashParamTable[23].ref = &device.plcs.output.interpolator.settings.voltage[4];
+  hashParamTable[23].size = sizeof(device.plcs.output.interpolator.settings.voltage[4]);
+  hashParamTable[24].hash = 0x2481a096;
+  hashParamTable[24].ref = &device.isacs.regulator.settings.regular.scale;
+  hashParamTable[24].size = sizeof(device.isacs.regulator.settings.regular.scale);
+  hashParamTable[25].hash = 0x287ade70;
+  hashParamTable[25].ref = &device.isacs.input.interpolator.settings.voltage[1];
+  hashParamTable[25].size = sizeof(device.isacs.input.interpolator.settings.voltage[1]);
+  hashParamTable[26].hash = 0x28d2accb;
+  hashParamTable[26].ref = &device.dither.carrier.state.error;
+  hashParamTable[26].size = sizeof(device.dither.carrier.state.error);
+  hashParamTable[27].hash = 0x2c736fed;
+  hashParamTable[27].ref = &device.isacs.output.interpolator.settings.code[1];
+  hashParamTable[27].size = sizeof(device.isacs.output.interpolator.settings.code[1]);
+  hashParamTable[28].hash = 0x2cab1d3a;
+  hashParamTable[28].ref = &device.plcs.detector.settings.sequencer;
+  hashParamTable[28].size = sizeof(device.plcs.detector.settings.sequencer);
+  hashParamTable[29].hash = 0x3161ef31;
+  hashParamTable[29].ref = &device.isacs.input.interpolator.settings.voltage[0];
+  hashParamTable[29].size = sizeof(device.isacs.input.interpolator.settings.voltage[0]);
+  hashParamTable[30].hash = 0x323d398;
+  hashParamTable[30].ref = &device.dither.carrier.state.reference;
+  hashParamTable[30].size = sizeof(device.dither.carrier.state.reference);
+  hashParamTable[31].hash = 0x329869b8;
+  hashParamTable[31].ref = &device.isacs.input.average;
+  hashParamTable[31].size = sizeof(device.isacs.input.average);
+  hashParamTable[32].hash = 0x34aab1a1;
+  hashParamTable[32].ref = &device.plcs.sequencer.settings.enabled;
+  hashParamTable[32].size = sizeof(device.plcs.sequencer.settings.enabled);
+  hashParamTable[33].hash = 0x35518b04;
+  hashParamTable[33].ref = &device.isacs.output.start.settings.voltage;
+  hashParamTable[33].size = sizeof(device.isacs.output.start.settings.voltage);
+  hashParamTable[34].hash = 0x35685eac;
+  hashParamTable[34].ref = &device.isacs.output.interpolator.settings.code[0];
+  hashParamTable[34].size = sizeof(device.isacs.output.interpolator.settings.code[0]);
+  hashParamTable[35].hash = 0x3578db3;
+  hashParamTable[35].ref = &device.isacs.input.interpolator.settings.voltage[2];
+  hashParamTable[35].size = sizeof(device.isacs.input.interpolator.settings.voltage[2]);
+  hashParamTable[36].hash = 0x36ee331;
+  hashParamTable[36].ref = &device.isacs.regulator.state.enabled;
+  hashParamTable[36].size = sizeof(device.isacs.regulator.state.enabled);
+  hashParamTable[37].hash = 0x37da9fc5;
+  hashParamTable[37].ref = &device.plcs.reset.settings.heating.delay.center;
+  hashParamTable[37].size = sizeof(device.plcs.reset.settings.heating.delay.center);
+  hashParamTable[38].hash = 0x386dd794;
+  hashParamTable[38].ref = &device.isacs.output.interpolator.settings.voltage[1];
+  hashParamTable[38].size = sizeof(device.isacs.output.interpolator.settings.voltage[1]);
+  hashParamTable[39].hash = 0x38c903ce;
+  hashParamTable[39].ref = &device.isacs.input.interpolator.settings.code[4];
+  hashParamTable[39].size = sizeof(device.isacs.input.interpolator.settings.code[4]);
+  hashParamTable[40].hash = 0x38e696b2;
+  hashParamTable[40].ref = &device.plcs.output.interpolator.settings.voltage[5];
+  hashParamTable[40].size = sizeof(device.plcs.output.interpolator.settings.voltage[5]);
+  hashParamTable[41].hash = 0x39eb9544;
+  hashParamTable[41].ref = &device.isacs.output.interpolator.settings.code[14];
+  hashParamTable[41].size = sizeof(device.isacs.output.interpolator.settings.code[14]);
+  hashParamTable[42].hash = 0x3a858c52;
+  hashParamTable[42].ref = &device.dither.noise.settings.range;
+  hashParamTable[42].size = sizeof(device.dither.noise.settings.range);
+  hashParamTable[43].hash = 0x3d58b0a8;
+  hashParamTable[43].ref = &device.isacs.regulator.settings.regular.enabled;
+  hashParamTable[43].size = sizeof(device.isacs.regulator.settings.regular.enabled);
+  hashParamTable[44].hash = 0x41cdcbe5;
+  hashParamTable[44].ref = &device.plcs.output.settings.enabled;
+  hashParamTable[44].size = sizeof(device.plcs.output.settings.enabled);
+  hashParamTable[45].hash = 0x41e6553f;
+  hashParamTable[45].ref = &device.controller.SSP.in[2];
+  hashParamTable[45].size = sizeof(device.controller.SSP.in[2]);
+  hashParamTable[46].hash = 0x43914418;
+  hashParamTable[46].ref = &device.dither.carrier.settings.reference;
+  hashParamTable[46].size = sizeof(device.dither.carrier.settings.reference);
+  hashParamTable[47].hash = 0x449c6101;
+  hashParamTable[47].ref = &device.isacs.output.interpolator.settings.code[11];
+  hashParamTable[47].size = sizeof(device.isacs.output.interpolator.settings.code[11]);
+  hashParamTable[48].hash = 0x451a23d1;
+  hashParamTable[48].ref = &device.isacs.output.interpolator.settings.voltage[4];
+  hashParamTable[48].size = sizeof(device.isacs.output.interpolator.settings.voltage[4]);
+  hashParamTable[49].hash = 0x459162f7;
+  hashParamTable[49].ref = &device.plcs.output.interpolator.settings.voltage[0];
+  hashParamTable[49].size = sizeof(device.plcs.output.interpolator.settings.voltage[0]);
+  hashParamTable[50].hash = 0x45a15cba;
+  hashParamTable[50].ref = &device.sensor.settings.block;
+  hashParamTable[50].size = sizeof(device.sensor.settings.block);
+  hashParamTable[51].hash = 0x45bef78b;
+  hashParamTable[51].ref = &device.isacs.input.interpolator.settings.code[1];
+  hashParamTable[51].size = sizeof(device.isacs.input.interpolator.settings.code[1]);
+  hashParamTable[52].hash = 0x467ce5e2;
+  hashParamTable[52].ref = &device.isacs.output.interpolator.settings.voltage[12];
+  hashParamTable[52].size = sizeof(device.isacs.output.interpolator.settings.voltage[12]);
+  hashParamTable[53].hash = 0x481faae9;
+  hashParamTable[53].ref = &device.isacs.output.interpolator.settings.code[5];
+  hashParamTable[53].size = sizeof(device.isacs.output.interpolator.settings.code[5]);
+  hashParamTable[54].hash = 0x48cba6df;
+  hashParamTable[54].ref = &device.plcs.sequencer.settings.sequence[19];
+  hashParamTable[54].size = sizeof(device.plcs.sequencer.settings.sequence[19]);
+  hashParamTable[55].hash = 0x4977a07a;
+  hashParamTable[55].ref = &device.dither.pulse.state.counter;
+  hashParamTable[55].size = sizeof(device.dither.pulse.state.counter);
+  hashParamTable[56].hash = 0x498a9f45;
+  hashParamTable[56].ref = &device.controller.I2C.state.buffer[2];
+  hashParamTable[56].size = sizeof(device.controller.I2C.state.buffer[2]);
+  hashParamTable[57].hash = 0x4a8d1886;
+  hashParamTable[57].ref = &device.plcs.sequencer.settings.sequence[29];
+  hashParamTable[57].size = sizeof(device.plcs.sequencer.settings.sequence[29]);
+  hashParamTable[58].hash = 0x4b097ccb;
+  hashParamTable[58].ref = &device.controller.SSP.out[0];
+  hashParamTable[58].size = sizeof(device.controller.SSP.out[0]);
+  hashParamTable[59].hash = 0x4b4f72b1;
+  hashParamTable[59].ref = &device.plcs.sequencer.settings.sequence[39];
+  hashParamTable[59].size = sizeof(device.plcs.sequencer.settings.sequence[39]);
+  hashParamTable[60].hash = 0x4c161b74;
+  hashParamTable[60].ref = &device.isacs.input.interpolator.settings.voltage[5];
+  hashParamTable[60].size = sizeof(device.isacs.input.interpolator.settings.voltage[5]);
+  hashParamTable[61].hash = 0x4d10d7df;
+  hashParamTable[61].ref = &device.plcs.output.reset.settings.voltage;
+  hashParamTable[61].size = sizeof(device.plcs.output.reset.settings.voltage);
+  hashParamTable[62].hash = 0x4df06184;
+  hashParamTable[62].ref = &device.dither.detector.settings.weight[19];
+  hashParamTable[62].size = sizeof(device.dither.detector.settings.weight[19]);
+  hashParamTable[63].hash = 0x4df39a9f;
+  hashParamTable[63].ref = &device.dither.detector.settings.weight[8];
+  hashParamTable[63].size = sizeof(device.dither.detector.settings.weight[8]);
+  hashParamTable[64].hash = 0x4e006434;
+  hashParamTable[64].ref = &device.plcs.sequencer.settings.sequence[49];
+  hashParamTable[64].size = sizeof(device.plcs.sequencer.settings.sequence[49]);
+  hashParamTable[65].hash = 0x4ed53055;
+  hashParamTable[65].ref = &device.plcs.sequencer.state.counter;
+  hashParamTable[65].size = sizeof(device.plcs.sequencer.state.counter);
+  hashParamTable[66].hash = 0x4f3b47da;
+  hashParamTable[66].ref = &device.plcs.output.interpolator.settings.points;
+  hashParamTable[66].size = sizeof(device.plcs.output.interpolator.settings.points);
+  hashParamTable[67].hash = 0x4fb6dfdd;
+  hashParamTable[67].ref = &device.dither.detector.settings.weight[29];
+  hashParamTable[67].size = sizeof(device.dither.detector.settings.weight[29]);
+  hashParamTable[68].hash = 0x4fc20e03;
+  hashParamTable[68].ref = &device.plcs.sequencer.settings.sequence[59];
+  hashParamTable[68].size = sizeof(device.plcs.sequencer.settings.sequence[59]);
+  hashParamTable[69].hash = 0x5091ae04;
+  hashParamTable[69].ref = &device.controller.I2C.state.buffer[3];
+  hashParamTable[69].size = sizeof(device.controller.I2C.state.buffer[3]);
+  hashParamTable[70].hash = 0x5094c761;
+  hashParamTable[70].ref = &device.plcs.detector.state.delta;
+  hashParamTable[70].size = sizeof(device.plcs.detector.state.delta);
+  hashParamTable[71].hash = 0x51049ba8;
+  hashParamTable[71].ref = &device.isacs.output.interpolator.settings.code[4];
+  hashParamTable[71].size = sizeof(device.isacs.output.interpolator.settings.code[4]);
+  hashParamTable[72].hash = 0x51d0979e;
+  hashParamTable[72].ref = &device.plcs.sequencer.settings.sequence[18];
+  hashParamTable[72].size = sizeof(device.plcs.sequencer.settings.sequence[18]);
+  hashParamTable[73].hash = 0x52124d8a;
+  hashParamTable[73].ref = &device.controller.SSP.out[1];
+  hashParamTable[73].size = sizeof(device.controller.SSP.out[1]);
+  hashParamTable[74].hash = 0x525443f0;
+  hashParamTable[74].ref = &device.plcs.sequencer.settings.sequence[38];
+  hashParamTable[74].size = sizeof(device.plcs.sequencer.settings.sequence[38]);
+  hashParamTable[75].hash = 0x525b6730;
+  hashParamTable[75].ref = &device.controller.I2C.state.enabled;
+  hashParamTable[75].size = sizeof(device.controller.I2C.state.enabled);
+  hashParamTable[76].hash = 0x539629c7;
+  hashParamTable[76].ref = &device.plcs.sequencer.settings.sequence[28];
+  hashParamTable[76].size = sizeof(device.plcs.sequencer.settings.sequence[28]);
+  hashParamTable[77].hash = 0x542e0c62;
+  hashParamTable[77].ref = &device.controller.flash.settings.hashSector;
+  hashParamTable[77].size = sizeof(device.controller.flash.settings.hashSector);
+  hashParamTable[78].hash = 0x5489817b;
+  hashParamTable[78].ref = &device.dither.carrier.settings.scale;
+  hashParamTable[78].size = sizeof(device.dither.carrier.settings.scale);
+  hashParamTable[79].hash = 0x54e8abde;
+  hashParamTable[79].ref = &device.dither.detector.settings.weight[9];
+  hashParamTable[79].size = sizeof(device.dither.detector.settings.weight[9]);
+  hashParamTable[80].hash = 0x54eb50c5;
+  hashParamTable[80].ref = &device.dither.detector.settings.weight[18];
+  hashParamTable[80].size = sizeof(device.dither.detector.settings.weight[18]);
+  hashParamTable[81].hash = 0x550d2a35;
+  hashParamTable[81].ref = &device.isacs.input.interpolator.settings.voltage[4];
+  hashParamTable[81].size = sizeof(device.isacs.input.interpolator.settings.voltage[4]);
+  hashParamTable[82].hash = 0x5623a17a;
+  hashParamTable[82].ref = &device.dither.cycle.settings.enabled;
+  hashParamTable[82].size = sizeof(device.dither.cycle.settings.enabled);
+  hashParamTable[83].hash = 0x56adee9c;
+  hashParamTable[83].ref = &device.dither.detector.settings.weight[28];
+  hashParamTable[83].size = sizeof(device.dither.detector.settings.weight[28]);
+  hashParamTable[84].hash = 0x56d93f42;
+  hashParamTable[84].ref = &device.plcs.sequencer.settings.sequence[58];
+  hashParamTable[84].size = sizeof(device.plcs.sequencer.settings.sequence[58]);
+  hashParamTable[85].hash = 0x571b5575;
+  hashParamTable[85].ref = &device.plcs.sequencer.settings.sequence[48];
+  hashParamTable[85].size = sizeof(device.plcs.sequencer.settings.sequence[48]);
+  hashParamTable[86].hash = 0x58fd647e;
+  hashParamTable[86].ref = &device.controller.SSP.in[3];
+  hashParamTable[86].size = sizeof(device.controller.SSP.in[3]);
+  hashParamTable[87].hash = 0x5a8f12ce;
+  hashParamTable[87].ref = &device.dither.cycle.state.enabled;
+  hashParamTable[87].size = sizeof(device.dither.cycle.state.enabled);
+  hashParamTable[88].hash = 0x5c011290;
+  hashParamTable[88].ref = &device.isacs.output.interpolator.settings.voltage[5];
+  hashParamTable[88].size = sizeof(device.isacs.output.interpolator.settings.voltage[5]);
+  hashParamTable[89].hash = 0x5c8a53b6;
+  hashParamTable[89].ref = &device.plcs.output.interpolator.settings.voltage[1];
+  hashParamTable[89].size = sizeof(device.plcs.output.interpolator.settings.voltage[1]);
+  hashParamTable[90].hash = 0x5ca5c6ca;
+  hashParamTable[90].ref = &device.isacs.input.interpolator.settings.code[0];
+  hashParamTable[90].size = sizeof(device.isacs.input.interpolator.settings.code[0]);
+  hashParamTable[91].hash = 0x5d875040;
+  hashParamTable[91].ref = &device.isacs.output.interpolator.settings.code[10];
+  hashParamTable[91].size = sizeof(device.isacs.output.interpolator.settings.code[10]);
+  hashParamTable[92].hash = 0x5dd88c4f;
+  hashParamTable[92].ref = &device.plcs.regulator.state.reference;
+  hashParamTable[92].size = sizeof(device.plcs.regulator.state.reference);
+  hashParamTable[93].hash = 0x5f67d4a3;
+  hashParamTable[93].ref = &device.isacs.output.interpolator.settings.voltage[13];
+  hashParamTable[93].size = sizeof(device.isacs.output.interpolator.settings.voltage[13]);
+  hashParamTable[94].hash = 0x60239107;
+  hashParamTable[94].ref = &device.isacs.input.interpolator.settings.points;
+  hashParamTable[94].size = sizeof(device.isacs.input.interpolator.settings.points);
+  hashParamTable[95].hash = 0x62a7cc86;
+  hashParamTable[95].ref = &device.controller.I2C.state.buffer[1];
+  hashParamTable[95].size = sizeof(device.controller.I2C.state.buffer[1]);
+  hashParamTable[96].hash = 0x6332f92a;
+  hashParamTable[96].ref = &device.isacs.output.interpolator.settings.code[6];
+  hashParamTable[96].size = sizeof(device.isacs.output.interpolator.settings.code[6]);
+  hashParamTable[97].hash = 0x634b9e76;
+  hashParamTable[97].ref = &device.isacs.regulator.settings.start.scale;
+  hashParamTable[97].size = sizeof(device.isacs.regulator.settings.start.scale);
+  hashParamTable[98].hash = 0x635b8d69;
+  hashParamTable[98].ref = &device.controller.I2C.settings.trigger;
+  hashParamTable[98].size = sizeof(device.controller.I2C.settings.trigger);
+  hashParamTable[99].hash = 0x664c6cbe;
+  hashParamTable[99].ref = &device.controller.timer[0].state.TCR;
+  hashParamTable[99].size = sizeof(device.controller.timer[0].state.TCR);
+  hashParamTable[100].hash = 0x664ca255;
+  hashParamTable[100].ref = &device.plcs.output.state.enabled;
+  hashParamTable[100].size = sizeof(device.plcs.output.state.enabled);
+  hashParamTable[101].hash = 0x673b48b7;
+  hashParamTable[101].ref = &device.isacs.input.interpolator.settings.voltage[6];
+  hashParamTable[101].size = sizeof(device.isacs.input.interpolator.settings.voltage[6]);
+  hashParamTable[102].hash = 0x674eeb85;
+  hashParamTable[102].ref = &device.controller.uart[0].state.DLL;
+  hashParamTable[102].size = sizeof(device.controller.uart[0].state.DLL);
+  hashParamTable[103].hash = 0x6771d50;
+  hashParamTable[103].ref = &device.lightUp.settings.sequence;
+  hashParamTable[103].size = sizeof(device.lightUp.settings.sequence);
+  hashParamTable[104].hash = 0x688f56ab;
+  hashParamTable[104].ref = &device.isacs.regulator.state.scale;
+  hashParamTable[104].size = sizeof(device.isacs.regulator.state.scale);
+  hashParamTable[105].hash = 0x68ed9659;
+  hashParamTable[105].ref = &device.plcs.reset.settings.heating.level.center;
+  hashParamTable[105].size = sizeof(device.plcs.reset.settings.heating.level.center);
+  hashParamTable[106].hash = 0x69cbe9e2;
+  hashParamTable[106].ref = &device.plcs.sequencer.settings.voltage;
+  hashParamTable[106].size = sizeof(device.plcs.sequencer.settings.voltage);
+  hashParamTable[107].hash = 0x6acb06fc;
+  hashParamTable[107].ref = &device.controller.SSP.in[1];
+  hashParamTable[107].size = sizeof(device.controller.SSP.in[1]);
+  hashParamTable[108].hash = 0x6c31fa7d;
+  hashParamTable[108].ref = &device.plcs.output.interpolator.settings.code[8];
+  hashParamTable[108].size = sizeof(device.plcs.output.interpolator.settings.code[8]);
+  hashParamTable[109].hash = 0x6cb0982;
+  hashParamTable[109].ref = &device.controller.I2C.state.buffer[5];
+  hashParamTable[109].size = sizeof(device.controller.I2C.state.buffer[5]);
+  hashParamTable[110].hash = 0x6d51b621;
+  hashParamTable[110].ref = &device.isacs.output.interpolator.settings.voltage[11];
+  hashParamTable[110].size = sizeof(device.isacs.output.interpolator.settings.voltage[11]);
+  hashParamTable[111].hash = 0x6e377012;
+  hashParamTable[111].ref = &device.isacs.output.interpolator.settings.voltage[7];
+  hashParamTable[111].size = sizeof(device.isacs.output.interpolator.settings.voltage[7]);
+  hashParamTable[112].hash = 0x6e93a448;
+  hashParamTable[112].ref = &device.isacs.input.interpolator.settings.code[2];
+  hashParamTable[112].size = sizeof(device.isacs.input.interpolator.settings.code[2]);
+  hashParamTable[113].hash = 0x6ebc3134;
+  hashParamTable[113].ref = &device.plcs.output.interpolator.settings.voltage[3];
+  hashParamTable[113].size = sizeof(device.plcs.output.interpolator.settings.voltage[3]);
+  hashParamTable[114].hash = 0x6fb132c2;
+  hashParamTable[114].ref = &device.isacs.output.interpolator.settings.code[12];
+  hashParamTable[114].size = sizeof(device.isacs.output.interpolator.settings.code[12]);
+  hashParamTable[115].hash = 0x712f5803;
+  hashParamTable[115].ref = &device.plcs.regulator.settings.scale;
+  hashParamTable[115].size = sizeof(device.plcs.regulator.settings.scale);
+  hashParamTable[116].hash = 0x71697778;
+  hashParamTable[116].ref = &device.plcs.detector.settings.enabled;
+  hashParamTable[116].size = sizeof(device.plcs.detector.settings.enabled);
+  hashParamTable[117].hash = 0x73d037bd;
+  hashParamTable[117].ref = &device.controller.SSP.in[0];
+  hashParamTable[117].size = sizeof(device.controller.SSP.in[0]);
+  hashParamTable[118].hash = 0x744a8760;
+  hashParamTable[118].ref = &device.isacs.output.interpolator.settings.voltage[10];
+  hashParamTable[118].size = sizeof(device.isacs.output.interpolator.settings.voltage[10]);
+  hashParamTable[119].hash = 0x744db923;
+  hashParamTable[119].ref = &device.plcs.detector.state.delay;
+  hashParamTable[119].size = sizeof(device.plcs.detector.state.delay);
+  hashParamTable[120].hash = 0x749c63a6;
+  hashParamTable[120].ref = &device.isacs.potentiometers.state.a;
+  hashParamTable[120].size = sizeof(device.isacs.potentiometers.state.a);
+  hashParamTable[121].hash = 0x74b19550;
+  hashParamTable[121].ref = &device.dither.cycle.state.pin1;
+  hashParamTable[121].size = sizeof(device.dither.cycle.state.pin1);
+  hashParamTable[122].hash = 0x752acb3c;
+  hashParamTable[122].ref = &device.plcs.output.interpolator.settings.code[9];
+  hashParamTable[122].size = sizeof(device.plcs.output.interpolator.settings.code[9]);
+  hashParamTable[123].hash = 0x75bbf441;
+  hashParamTable[123].ref = &device.controller.timer[0].state.MCR;
+  hashParamTable[123].size = sizeof(device.controller.timer[0].state.MCR);
+  hashParamTable[124].hash = 0x75e3c2e;
+  hashParamTable[124].ref = &device.isacs.output.interpolator.settings.code[2];
+  hashParamTable[124].size = sizeof(device.isacs.output.interpolator.settings.code[2]);
+  hashParamTable[125].hash = 0x76aa0383;
+  hashParamTable[125].ref = &device.isacs.output.interpolator.settings.code[13];
+  hashParamTable[125].size = sizeof(device.isacs.output.interpolator.settings.code[13]);
+  hashParamTable[126].hash = 0x772c4153;
+  hashParamTable[126].ref = &device.isacs.output.interpolator.settings.voltage[6];
+  hashParamTable[126].size = sizeof(device.isacs.output.interpolator.settings.voltage[6]);
+  hashParamTable[127].hash = 0x776aef73;
+  hashParamTable[127].ref = &device.plcs.detector.state.phase;
+  hashParamTable[127].size = sizeof(device.plcs.detector.state.phase);
+  hashParamTable[128].hash = 0x77889509;
+  hashParamTable[128].ref = &device.isacs.input.interpolator.settings.code[3];
+  hashParamTable[128].size = sizeof(device.isacs.input.interpolator.settings.code[3]);
+  hashParamTable[129].hash = 0x77a70075;
+  hashParamTable[129].ref = &device.plcs.output.interpolator.settings.voltage[2];
+  hashParamTable[129].size = sizeof(device.plcs.output.interpolator.settings.voltage[2]);
+  hashParamTable[130].hash = 0x79064bad;
+  hashParamTable[130].ref = &device.plcs.input.average;
+  hashParamTable[130].size = sizeof(device.plcs.input.average);
+  hashParamTable[131].hash = 0x7a29c86b;
+  hashParamTable[131].ref = &device.isacs.output.interpolator.settings.code[7];
+  hashParamTable[131].size = sizeof(device.isacs.output.interpolator.settings.code[7]);
+  hashParamTable[132].hash = 0x7b92b7f4;
+  hashParamTable[132].ref = &device.dither.oscillation.state.error;
+  hashParamTable[132].size = sizeof(device.dither.oscillation.state.error);
+  hashParamTable[133].hash = 0x7bbcfdc7;
+  hashParamTable[133].ref = &device.controller.I2C.state.buffer[0];
+  hashParamTable[133].size = sizeof(device.controller.I2C.state.buffer[0]);
+  hashParamTable[134].hash = 0x7d95c657;
+  hashParamTable[134].ref = &device.isacs.potentiometers.settings.a;
+  hashParamTable[134].size = sizeof(device.isacs.potentiometers.settings.a);
+  hashParamTable[135].hash = 0x7e2079f6;
+  hashParamTable[135].ref = &device.isacs.input.interpolator.settings.voltage[7];
+  hashParamTable[135].size = sizeof(device.isacs.input.interpolator.settings.voltage[7]);
+  hashParamTable[136].hash = 0x80122cd7;
+  hashParamTable[136].ref = &device.plcs.sequencer.settings.sequence[11];
+  hashParamTable[136].size = sizeof(device.plcs.sequencer.settings.sequence[11]);
+  hashParamTable[137].hash = 0x8208e177;
+  hashParamTable[137].ref = &device.plcs.regulator.settings.enabled;
+  hashParamTable[137].size = sizeof(device.plcs.regulator.settings.enabled);
+  hashParamTable[138].hash = 0x8254928e;
+  hashParamTable[138].ref = &device.plcs.sequencer.settings.sequence[21];
+  hashParamTable[138].size = sizeof(device.plcs.sequencer.settings.sequence[21]);
+  hashParamTable[139].hash = 0x826f47ea;
+  hashParamTable[139].ref = &device.plcs.sequencer.state.voltage;
+  hashParamTable[139].size = sizeof(device.plcs.sequencer.state.voltage);
+  hashParamTable[140].hash = 0x82aa732b;
+  hashParamTable[140].ref = &device.dither.pulse.state.rise;
+  hashParamTable[140].size = sizeof(device.dither.pulse.state.rise);
+  hashParamTable[141].hash = 0x82f85228;
+  hashParamTable[141].ref = &device.controller.uart[1].state.FCR;
+  hashParamTable[141].size = sizeof(device.controller.uart[1].state.FCR);
+  hashParamTable[142].hash = 0x83843183;
+  hashParamTable[142].ref = &device.user.address;
+  hashParamTable[142].size = sizeof(device.user.address);
+  hashParamTable[143].hash = 0x8396f8b9;
+  hashParamTable[143].ref = &device.plcs.sequencer.settings.sequence[31];
+  hashParamTable[143].size = sizeof(device.plcs.sequencer.settings.sequence[31]);
+  hashParamTable[144].hash = 0x8448adf0;
+  hashParamTable[144].ref = &device.isacs.input.interpolator.settings.code[15];
+  hashParamTable[144].size = sizeof(device.isacs.input.interpolator.settings.code[15]);
+  hashParamTable[145].hash = 0x8529eb8c;
+  hashParamTable[145].ref = &device.dither.detector.settings.weight[11];
+  hashParamTable[145].size = sizeof(device.dither.detector.settings.weight[11]);
+  hashParamTable[146].hash = 0x852a1097;
+  hashParamTable[146].ref = &device.dither.detector.settings.weight[0];
+  hashParamTable[146].size = sizeof(device.dither.detector.settings.weight[0]);
+  hashParamTable[147].hash = 0x8533135e;
+  hashParamTable[147].ref = &device.isacs.output.reset.settings.voltage;
+  hashParamTable[147].size = sizeof(device.isacs.output.reset.settings.voltage);
+  hashParamTable[148].hash = 0x855d3a52;
+  hashParamTable[148].ref = &device.plcs.sequencer.settings.sequence[61];
+  hashParamTable[148].size = sizeof(device.plcs.sequencer.settings.sequence[61]);
+  hashParamTable[149].hash = 0x85ded725;
+  hashParamTable[149].ref = &device.controller.timer[0].state.MR0;
+  hashParamTable[149].size = sizeof(device.controller.timer[0].state.MR0);
+  hashParamTable[150].hash = 0x86ad3fe2;
+  hashParamTable[150].ref = &device.dither.detector.settings.weight[31];
+  hashParamTable[150].size = sizeof(device.dither.detector.settings.weight[31]);
+  hashParamTable[151].hash = 0x86d9ee3c;
+  hashParamTable[151].ref = &device.plcs.sequencer.settings.sequence[41];
+  hashParamTable[151].size = sizeof(device.plcs.sequencer.settings.sequence[41]);
+  hashParamTable[152].hash = 0x86eaf322;
+  hashParamTable[152].ref = &device.plcs.sequencer.state.io;
+  hashParamTable[152].size = sizeof(device.plcs.sequencer.state.io);
+  hashParamTable[153].hash = 0x871b840b;
+  hashParamTable[153].ref = &device.plcs.sequencer.settings.sequence[51];
+  hashParamTable[153].size = sizeof(device.plcs.sequencer.settings.sequence[51]);
+  hashParamTable[154].hash = 0x876f55d5;
+  hashParamTable[154].ref = &device.dither.detector.settings.weight[21];
+  hashParamTable[154].size = sizeof(device.dither.detector.settings.weight[21]);
+  hashParamTable[155].hash = 0x88226cfe;
+  hashParamTable[155].ref = &device.dither.detector.state.error;
+  hashParamTable[155].size = sizeof(device.dither.detector.state.error);
+  hashParamTable[156].hash = 0x8934e9dd;
+  hashParamTable[156].ref = &device.plcs.output.interpolator.settings.code[13];
+  hashParamTable[156].size = sizeof(device.plcs.output.interpolator.settings.code[13]);
+  hashParamTable[157].hash = 0x8a6372c3;
+  hashParamTable[157].ref = &device.plcs.output.interpolator.settings.voltage[13];
+  hashParamTable[157].size = sizeof(device.plcs.output.interpolator.settings.voltage[13]);
+  hashParamTable[158].hash = 0x8ad9720d;
+  hashParamTable[158].ref = &device.plcs.reset.settings.heating.delay.slope;
+  hashParamTable[158].size = sizeof(device.plcs.reset.settings.heating.delay.slope);
+  hashParamTable[159].hash = 0x8bec977c;
+  hashParamTable[159].ref = &device.controller.uart[1].state.DLM;
+  hashParamTable[159].size = sizeof(device.controller.uart[1].state.DLM);
+  hashParamTable[160].hash = 0x8c3597d3;
+  hashParamTable[160].ref = &device.plcs.sequencer.settings.sequence[6];
+  hashParamTable[160].size = sizeof(device.plcs.sequencer.settings.sequence[6]);
+  hashParamTable[161].hash = 0x8d48e8ff;
+  hashParamTable[161].ref = &device.plcs.output.interpolator.settings.voltage[8];
+  hashParamTable[161].size = sizeof(device.plcs.output.interpolator.settings.voltage[8]);
+  hashParamTable[162].hash = 0x8d677d83;
+  hashParamTable[162].ref = &device.isacs.input.interpolator.settings.code[9];
+  hashParamTable[162].size = sizeof(device.isacs.input.interpolator.settings.code[9]);
+  hashParamTable[163].hash = 0x8f6fd7fe;
+  hashParamTable[163].ref = &device.controller.uart[1].state.LCR;
+  hashParamTable[163].size = sizeof(device.controller.uart[1].state.LCR);
+  hashParamTable[164].hash = 0x8fc523b6;
+  hashParamTable[164].ref = &device.plcs.output.interpolator.settings.code[3];
+  hashParamTable[164].size = sizeof(device.plcs.output.interpolator.settings.code[3]);
+  hashParamTable[165].hash = 0x9020a8a4;
+  hashParamTable[165].ref = &device.dither.pulse.settings.rise;
+  hashParamTable[165].size = sizeof(device.dither.pulse.settings.rise);
+  hashParamTable[166].hash = 0x902fd89c;
+  hashParamTable[166].ref = &device.plcs.output.interpolator.settings.code[12];
+  hashParamTable[166].size = sizeof(device.plcs.output.interpolator.settings.code[12]);
+  hashParamTable[167].hash = 0x90d1dba3;
+  hashParamTable[167].ref = &device.plcs.reset.settings.cooling.delay.center;
+  hashParamTable[167].size = sizeof(device.plcs.reset.settings.cooling.delay.center);
+  hashParamTable[168].hash = 0x93784382;
+  hashParamTable[168].ref = &device.plcs.output.interpolator.settings.voltage[12];
+  hashParamTable[168].size = sizeof(device.plcs.output.interpolator.settings.voltage[12]);
+  hashParamTable[169].hash = 0x93d7325;
+  hashParamTable[169].ref = &device.isacs.output.interpolator.settings.voltage[15];
+  hashParamTable[169].size = sizeof(device.isacs.output.interpolator.settings.voltage[15]);
+  hashParamTable[170].hash = 0x94360535;
+  hashParamTable[170].ref = &device.isacs.regulator.state.reference;
+  hashParamTable[170].size = sizeof(device.isacs.regulator.state.reference);
+  hashParamTable[171].hash = 0x9453d9be;
+  hashParamTable[171].ref = &device.plcs.output.interpolator.settings.voltage[9];
+  hashParamTable[171].size = sizeof(device.plcs.output.interpolator.settings.voltage[9]);
+  hashParamTable[172].hash = 0x947c4cc2;
+  hashParamTable[172].ref = &device.isacs.input.interpolator.settings.code[8];
+  hashParamTable[172].size = sizeof(device.isacs.input.interpolator.settings.code[8]);
+  hashParamTable[173].hash = 0x952ea692;
+  hashParamTable[173].ref = &device.plcs.sequencer.settings.sequence[7];
+  hashParamTable[173].size = sizeof(device.plcs.sequencer.settings.sequence[7]);
+  hashParamTable[174].hash = 0x958ecda;
+  hashParamTable[174].ref = &device.dither.oscillation.state.enabled;
+  hashParamTable[174].size = sizeof(device.dither.oscillation.state.enabled);
+  hashParamTable[175].hash = 0x96d795b;
+  hashParamTable[175].ref = &device.isacs.regulator.settings.reset.reference;
+  hashParamTable[175].size = sizeof(device.isacs.regulator.settings.reset.reference);
+  hashParamTable[176].hash = 0x96de12f7;
+  hashParamTable[176].ref = &device.plcs.output.interpolator.settings.code[2];
+  hashParamTable[176].size = sizeof(device.plcs.output.interpolator.settings.code[2]);
+  hashParamTable[177].hash = 0x97dea178;
+  hashParamTable[177].ref = &device.controller.QEI.state.position;
+  hashParamTable[177].size = sizeof(device.controller.QEI.state.position);
+  hashParamTable[178].hash = 0x99091d96;
+  hashParamTable[178].ref = &device.plcs.sequencer.settings.sequence[10];
+  hashParamTable[178].size = sizeof(device.plcs.sequencer.settings.sequence[10]);
+  hashParamTable[179].hash = 0x9949353e;
+  hashParamTable[179].ref = &device.dither.carrier.state.scale;
+  hashParamTable[179].size = sizeof(device.dither.carrier.state.scale);
+  hashParamTable[180].hash = 0x9a8dc9f8;
+  hashParamTable[180].ref = &device.plcs.sequencer.settings.sequence[30];
+  hashParamTable[180].size = sizeof(device.plcs.sequencer.settings.sequence[30]);
+  hashParamTable[181].hash = 0x9ae15d5f;
+  hashParamTable[181].ref = &device.dither.carrier.settings.enabled;
+  hashParamTable[181].size = sizeof(device.dither.carrier.settings.enabled);
+  hashParamTable[182].hash = 0x9b4fa3cf;
+  hashParamTable[182].ref = &device.plcs.sequencer.settings.sequence[20];
+  hashParamTable[182].size = sizeof(device.plcs.sequencer.settings.sequence[20]);
+  hashParamTable[183].hash = 0x9c3121d6;
+  hashParamTable[183].ref = &device.dither.detector.settings.weight[1];
+  hashParamTable[183].size = sizeof(device.dither.detector.settings.weight[1]);
+  hashParamTable[184].hash = 0x9c32dacd;
+  hashParamTable[184].ref = &device.dither.detector.settings.weight[10];
+  hashParamTable[184].size = sizeof(device.dither.detector.settings.weight[10]);
+  hashParamTable[185].hash = 0x9c43a506;
+  hashParamTable[185].ref = &device.isacs.input.voltage;
+  hashParamTable[185].size = sizeof(device.isacs.input.voltage);
+  hashParamTable[186].hash = 0x9c460b13;
+  hashParamTable[186].ref = &device.plcs.sequencer.settings.sequence[60];
+  hashParamTable[186].size = sizeof(device.plcs.sequencer.settings.sequence[60]);
+  hashParamTable[187].hash = 0x9d3992dd;
+  hashParamTable[187].ref = &device.plcs.detector.state.output;
+  hashParamTable[187].size = sizeof(device.plcs.detector.state.output);
+  hashParamTable[188].hash = 0x9d539cb1;
+  hashParamTable[188].ref = &device.isacs.input.interpolator.settings.code[14];
+  hashParamTable[188].size = sizeof(device.isacs.input.interpolator.settings.code[14]);
+  hashParamTable[189].hash = 0x9e00b54a;
+  hashParamTable[189].ref = &device.plcs.sequencer.settings.sequence[50];
+  hashParamTable[189].size = sizeof(device.plcs.sequencer.settings.sequence[50]);
+  hashParamTable[190].hash = 0x9e746494;
+  hashParamTable[190].ref = &device.dither.detector.settings.weight[20];
+  hashParamTable[190].size = sizeof(device.dither.detector.settings.weight[20]);
+  hashParamTable[191].hash = 0x9ee1f9a5;
+  hashParamTable[191].ref = &device.isacs.regulator.settings.reset.scale;
+  hashParamTable[191].size = sizeof(device.isacs.regulator.settings.reset.scale);
+  hashParamTable[192].hash = 0x9ef65be2;
+  hashParamTable[192].ref = &device.controller.chip;
+  hashParamTable[192].size = sizeof(device.controller.chip);
+  hashParamTable[193].hash = 0x9fb60ea3;
+  hashParamTable[193].ref = &device.dither.detector.settings.weight[30];
+  hashParamTable[193].size = sizeof(device.dither.detector.settings.weight[30]);
+  hashParamTable[194].hash = 0x9fc2df7d;
+  hashParamTable[194].ref = &device.plcs.sequencer.settings.sequence[40];
+  hashParamTable[194].size = sizeof(device.plcs.sequencer.settings.sequence[40]);
+  hashParamTable[195].hash = 0xa14e2100;
+  hashParamTable[195].ref = &device.plcs.output.interpolator.settings.voltage[10];
+  hashParamTable[195].size = sizeof(device.plcs.output.interpolator.settings.voltage[10]);
+  hashParamTable[196].hash = 0xa219ba1e;
+  hashParamTable[196].ref = &device.plcs.output.interpolator.settings.code[10];
+  hashParamTable[196].size = sizeof(device.plcs.output.interpolator.settings.code[10]);
+  hashParamTable[197].hash = 0xa2471925;
+  hashParamTable[197].ref = &device.isacs.regulator.settings.start.enabled;
+  hashParamTable[197].size = sizeof(device.isacs.regulator.settings.start.enabled);
+  hashParamTable[198].hash = 0xa454a98f;
+  hashParamTable[198].ref = &device.dither.oscillation.settings.scale;
+  hashParamTable[198].size = sizeof(device.dither.oscillation.settings.scale);
+  hashParamTable[199].hash = 0xa4e87075;
+  hashParamTable[199].ref = &device.plcs.output.interpolator.settings.code[0];
+  hashParamTable[199].size = sizeof(device.plcs.output.interpolator.settings.code[0]);
+  hashParamTable[200].hash = 0xa5bb516;
+  hashParamTable[200].ref = &device.isacs.output.interpolator.settings.voltage[3];
+  hashParamTable[200].size = sizeof(device.isacs.output.interpolator.settings.voltage[3]);
+  hashParamTable[201].hash = 0xa718c410;
+  hashParamTable[201].ref = &device.plcs.sequencer.settings.sequence[5];
+  hashParamTable[201].size = sizeof(device.plcs.sequencer.settings.sequence[5]);
+  hashParamTable[202].hash = 0xa80ee333;
+  hashParamTable[202].ref = &device.lightUp.state.sequence;
+  hashParamTable[202].size = sizeof(device.lightUp.state.sequence);
+  hashParamTable[203].hash = 0xa8bbab7a;
+  hashParamTable[203].ref = &device.plcs.sequencer.settings.sequence[32];
+  hashParamTable[203].size = sizeof(device.plcs.sequencer.settings.sequence[32]);
+  hashParamTable[204].hash = 0xa979c14d;
+  hashParamTable[204].ref = &device.plcs.sequencer.settings.sequence[22];
+  hashParamTable[204].size = sizeof(device.plcs.sequencer.settings.sequence[22]);
+  hashParamTable[205].hash = 0xab3f7f14;
+  hashParamTable[205].ref = &device.plcs.sequencer.settings.sequence[12];
+  hashParamTable[205].size = sizeof(device.plcs.sequencer.settings.sequence[12]);
+  hashParamTable[206].hash = 0xab67157c;
+  hashParamTable[206].ref = &device.plcs.detector.state.enabled;
+  hashParamTable[206].size = sizeof(device.plcs.detector.state.enabled);
+  hashParamTable[207].hash = 0xab790994;
+  hashParamTable[207].ref = &device.isacs.output.interpolator.settings.points;
+  hashParamTable[207].size = sizeof(device.isacs.output.interpolator.settings.points);
+  hashParamTable[208].hash = 0xac36d7c8;
+  hashParamTable[208].ref = &device.plcs.sequencer.settings.sequence[52];
+  hashParamTable[208].size = sizeof(device.plcs.sequencer.settings.sequence[52]);
+  hashParamTable[209].hash = 0xac420616;
+  hashParamTable[209].ref = &device.dither.detector.settings.weight[22];
+  hashParamTable[209].size = sizeof(device.dither.detector.settings.weight[22]);
+  hashParamTable[210].hash = 0xad0f430;
+  hashParamTable[210].ref = &device.plcs.output.interpolator.settings.voltage[7];
+  hashParamTable[210].size = sizeof(device.plcs.output.interpolator.settings.voltage[7]);
+  hashParamTable[211].hash = 0xadf4bdff;
+  hashParamTable[211].ref = &device.plcs.sequencer.settings.sequence[42];
+  hashParamTable[211].size = sizeof(device.plcs.sequencer.settings.sequence[42]);
+  hashParamTable[212].hash = 0xae04b84f;
+  hashParamTable[212].ref = &device.dither.detector.settings.weight[12];
+  hashParamTable[212].size = sizeof(device.dither.detector.settings.weight[12]);
+  hashParamTable[213].hash = 0xae074354;
+  hashParamTable[213].ref = &device.dither.detector.settings.weight[3];
+  hashParamTable[213].size = sizeof(device.dither.detector.settings.weight[3]);
+  hashParamTable[214].hash = 0xae4a424d;
+  hashParamTable[214].ref = &device.isacs.input.interpolator.settings.voltage[15];
+  hashParamTable[214].size = sizeof(device.isacs.input.interpolator.settings.voltage[15]);
+  hashParamTable[215].hash = 0xae706991;
+  hashParamTable[215].ref = &device.plcs.sequencer.settings.sequence[62];
+  hashParamTable[215].size = sizeof(device.plcs.sequencer.settings.sequence[62]);
+  hashParamTable[216].hash = 0xaf2d87f8;
+  hashParamTable[216].ref = &device.plcs.detector.settings.input;
+  hashParamTable[216].size = sizeof(device.plcs.detector.settings.input);
+  hashParamTable[217].hash = 0xaff614c;
+  hashParamTable[217].ref = &device.isacs.input.interpolator.settings.code[6];
+  hashParamTable[217].size = sizeof(device.isacs.input.interpolator.settings.code[6]);
+  hashParamTable[218].hash = 0xb062f00c;
+  hashParamTable[218].ref = &device.plcs.sequencer.settings.sequence[23];
+  hashParamTable[218].size = sizeof(device.plcs.sequencer.settings.sequence[23]);
+  hashParamTable[219].hash = 0xb0a0b534;
+  hashParamTable[219].ref = &device.isacs.output.voltage;
+  hashParamTable[219].size = sizeof(device.isacs.output.voltage);
+  hashParamTable[220].hash = 0xb1a09a3b;
+  hashParamTable[220].ref = &device.plcs.sequencer.settings.sequence[33];
+  hashParamTable[220].size = sizeof(device.plcs.sequencer.settings.sequence[33]);
+  hashParamTable[221].hash = 0xb2244e55;
+  hashParamTable[221].ref = &device.plcs.sequencer.settings.sequence[13];
+  hashParamTable[221].size = sizeof(device.plcs.sequencer.settings.sequence[13]);
+  hashParamTable[222].hash = 0xb4ef8cbe;
+  hashParamTable[222].ref = &device.plcs.sequencer.settings.sequence[43];
+  hashParamTable[222].size = sizeof(device.plcs.sequencer.settings.sequence[43]);
+  hashParamTable[223].hash = 0xb5188450;
+  hashParamTable[223].ref = &device.controller.timer[0].settings.match;
+  hashParamTable[223].size = sizeof(device.controller.timer[0].settings.match);
+  hashParamTable[224].hash = 0xb52de689;
+  hashParamTable[224].ref = &device.plcs.sequencer.settings.sequence[53];
+  hashParamTable[224].size = sizeof(device.plcs.sequencer.settings.sequence[53]);
+  hashParamTable[225].hash = 0xb5593757;
+  hashParamTable[225].ref = &device.dither.detector.settings.weight[23];
+  hashParamTable[225].size = sizeof(device.dither.detector.settings.weight[23]);
+  hashParamTable[226].hash = 0xb71c7215;
+  hashParamTable[226].ref = &device.dither.detector.settings.weight[2];
+  hashParamTable[226].size = sizeof(device.dither.detector.settings.weight[2]);
+  hashParamTable[227].hash = 0xb71f890e;
+  hashParamTable[227].ref = &device.dither.detector.settings.weight[13];
+  hashParamTable[227].size = sizeof(device.dither.detector.settings.weight[13]);
+  hashParamTable[228].hash = 0xb751730c;
+  hashParamTable[228].ref = &device.isacs.input.interpolator.settings.voltage[14];
+  hashParamTable[228].size = sizeof(device.isacs.input.interpolator.settings.voltage[14]);
+  hashParamTable[229].hash = 0xb76b58d0;
+  hashParamTable[229].ref = &device.plcs.sequencer.settings.sequence[63];
+  hashParamTable[229].size = sizeof(device.plcs.sequencer.settings.sequence[63]);
+  hashParamTable[230].hash = 0xb8551041;
+  hashParamTable[230].ref = &device.plcs.output.interpolator.settings.voltage[11];
+  hashParamTable[230].size = sizeof(device.plcs.output.interpolator.settings.voltage[11]);
+  hashParamTable[231].hash = 0xb858e634;
+  hashParamTable[231].ref = &device.plcs.reset.settings.heating.level.slope;
+  hashParamTable[231].size = sizeof(device.plcs.reset.settings.heating.level.slope);
+  hashParamTable[232].hash = 0xb90338b5;
+  hashParamTable[232].ref = &device.dither.oscillation.state.reference;
+  hashParamTable[232].size = sizeof(device.dither.oscillation.state.reference);
+  hashParamTable[233].hash = 0xbaaa4a8f;
+  hashParamTable[233].ref = &device.plcs.sequencer.settings.io;
+  hashParamTable[233].size = sizeof(device.plcs.sequencer.settings.io);
+  hashParamTable[234].hash = 0xbad8b1c;
+  hashParamTable[234].ref = &device.plcs.sequencer.settings.sequence[9];
+  hashParamTable[234].size = sizeof(device.plcs.sequencer.settings.sequence[9]);
+  hashParamTable[235].hash = 0xbb028b5f;
+  hashParamTable[235].ref = &device.plcs.output.interpolator.settings.code[11];
+  hashParamTable[235].size = sizeof(device.plcs.output.interpolator.settings.code[11]);
+  hashParamTable[236].hash = 0xbbacc986;
+  hashParamTable[236].ref = &device.plcs.output.state.voltage;
+  hashParamTable[236].size = sizeof(device.plcs.output.state.voltage);
+  hashParamTable[237].hash = 0xbcfa14ae;
+  hashParamTable[237].ref = &device.controller.uart[1].settings.baudRate;
+  hashParamTable[237].size = sizeof(device.controller.uart[1].settings.baudRate);
+  hashParamTable[238].hash = 0xbd22c6cf;
+  hashParamTable[238].ref = &device.plcs.regulator.state.error;
+  hashParamTable[238].size = sizeof(device.plcs.regulator.state.error);
+  hashParamTable[239].hash = 0xbdf34134;
+  hashParamTable[239].ref = &device.plcs.output.interpolator.settings.code[1];
+  hashParamTable[239].size = sizeof(device.plcs.output.interpolator.settings.code[1]);
+  hashParamTable[240].hash = 0xbe03f551;
+  hashParamTable[240].ref = &device.plcs.sequencer.settings.sequence[4];
+  hashParamTable[240].size = sizeof(device.plcs.sequencer.settings.sequence[4]);
+  hashParamTable[241].hash = 0xc084b571;
+  hashParamTable[241].ref = &device.plcs.output.interpolator.settings.code[4];
+  hashParamTable[241].size = sizeof(device.plcs.output.interpolator.settings.code[4]);
+  hashParamTable[242].hash = 0xc3740114;
+  hashParamTable[242].ref = &device.plcs.sequencer.settings.sequence[1];
+  hashParamTable[242].size = sizeof(device.plcs.sequencer.settings.sequence[1]);
+  hashParamTable[243].hash = 0xc38048cc;
+  hashParamTable[243].ref = &device.controller.I2C.state.counter;
+  hashParamTable[243].size = sizeof(device.controller.I2C.state.counter);
+  hashParamTable[244].hash = 0xc522e404;
+  hashParamTable[244].ref = &device.plcs.output.interpolator.settings.voltage[14];
+  hashParamTable[244].size = sizeof(device.plcs.output.interpolator.settings.voltage[14]);
+  hashParamTable[245].hash = 0xc59f35b4;
+  hashParamTable[245].ref = &device.plcs.detector.settings.delay;
+  hashParamTable[245].size = sizeof(device.plcs.detector.settings.delay);
+  hashParamTable[246].hash = 0xc6757f1a;
+  hashParamTable[246].ref = &device.plcs.output.interpolator.settings.code[14];
+  hashParamTable[246].size = sizeof(device.plcs.output.interpolator.settings.code[14]);
+  hashParamTable[247].hash = 0xc6d70a1e;
+  hashParamTable[247].ref = &device.isacs.regulator.settings.regular.reference;
+  hashParamTable[247].size = sizeof(device.isacs.regulator.settings.regular.reference);
+  hashParamTable[248].hash = 0xc82ec312;
+  hashParamTable[248].ref = &device.dither.detector.settings.weight[26];
+  hashParamTable[248].size = sizeof(device.dither.detector.settings.weight[26]);
+  hashParamTable[249].hash = 0xc85a12cc;
+  hashParamTable[249].ref = &device.plcs.sequencer.settings.sequence[56];
+  hashParamTable[249].size = sizeof(device.plcs.sequencer.settings.sequence[56]);
+  hashParamTable[250].hash = 0xc99878fb;
+  hashParamTable[250].ref = &device.plcs.sequencer.settings.sequence[46];
+  hashParamTable[250].size = sizeof(device.plcs.sequencer.settings.sequence[46]);
+  hashParamTable[251].hash = 0xca092e01;
+  hashParamTable[251].ref = &device.dither.oscillation.state.scale;
+  hashParamTable[251].size = sizeof(device.dither.oscillation.state.scale);
+  hashParamTable[252].hash = 0xca268749;
+  hashParamTable[252].ref = &device.isacs.input.interpolator.settings.voltage[11];
+  hashParamTable[252].size = sizeof(device.isacs.input.interpolator.settings.voltage[11]);
+  hashParamTable[253].hash = 0xca687d4b;
+  hashParamTable[253].ref = &device.dither.detector.settings.weight[16];
+  hashParamTable[253].size = sizeof(device.dither.detector.settings.weight[16]);
+  hashParamTable[254].hash = 0xca6b8650;
+  hashParamTable[254].ref = &device.dither.detector.settings.weight[7];
+  hashParamTable[254].size = sizeof(device.dither.detector.settings.weight[7]);
+  hashParamTable[255].hash = 0xcb093b37;
+  hashParamTable[255].ref = &device.isacs.input.interpolator.settings.code[12];
+  hashParamTable[255].size = sizeof(device.isacs.input.interpolator.settings.code[12]);
+  hashParamTable[256].hash = 0xcb95f3a;
+  hashParamTable[256].ref = &device.plcs.regulator.state.scale;
+  hashParamTable[256].size = sizeof(device.plcs.regulator.state.scale);
+  hashParamTable[257].hash = 0xccd76e7e;
+  hashParamTable[257].ref = &device.plcs.sequencer.settings.sequence[36];
+  hashParamTable[257].size = sizeof(device.plcs.sequencer.settings.sequence[36]);
+  hashParamTable[258].hash = 0xcd150449;
+  hashParamTable[258].ref = &device.plcs.sequencer.settings.sequence[26];
+  hashParamTable[258].size = sizeof(device.plcs.sequencer.settings.sequence[26]);
+  hashParamTable[259].hash = 0xceb6a575;
+  hashParamTable[259].ref = &device.plcs.reset.state.level;
+  hashParamTable[259].size = sizeof(device.plcs.reset.state.level);
+  hashParamTable[260].hash = 0xcf53ba10;
+  hashParamTable[260].ref = &device.plcs.sequencer.settings.sequence[16];
+  hashParamTable[260].size = sizeof(device.plcs.sequencer.settings.sequence[16]);
+  hashParamTable[261].hash = 0xcfc8a2e9;
+  hashParamTable[261].ref = &device.lightUp.state.enabled;
+  hashParamTable[261].size = sizeof(device.lightUp.state.enabled);
+  hashParamTable[262].hash = 0xcfe6d23f;
+  hashParamTable[262].ref = &device.plcs.reset.settings.cooling.level.center;
+  hashParamTable[262].size = sizeof(device.plcs.reset.settings.cooling.level.center);
+  hashParamTable[263].hash = 0xd08349ba;
+  hashParamTable[263].ref = &device.plcs.sequencer.settings.sequence[47];
+  hashParamTable[263].size = sizeof(device.plcs.sequencer.settings.sequence[47]);
+  hashParamTable[264].hash = 0xd135f253;
+  hashParamTable[264].ref = &device.dither.detector.settings.weight[27];
+  hashParamTable[264].size = sizeof(device.dither.detector.settings.weight[27]);
+  hashParamTable[265].hash = 0xd141238d;
+  hashParamTable[265].ref = &device.plcs.sequencer.settings.sequence[57];
+  hashParamTable[265].size = sizeof(device.plcs.sequencer.settings.sequence[57]);
+  hashParamTable[266].hash = 0xd14fa026;
+  hashParamTable[266].ref = &device.controller.flash.settings.dataSector;
+  hashParamTable[266].size = sizeof(device.controller.flash.settings.dataSector);
+  hashParamTable[267].hash = 0xd2120a76;
+  hashParamTable[267].ref = &device.isacs.input.interpolator.settings.code[13];
+  hashParamTable[267].size = sizeof(device.isacs.input.interpolator.settings.code[13]);
+  hashParamTable[268].hash = 0xd33db608;
+  hashParamTable[268].ref = &device.isacs.input.interpolator.settings.voltage[10];
+  hashParamTable[268].size = sizeof(device.isacs.input.interpolator.settings.voltage[10]);
+  hashParamTable[269].hash = 0xd370b711;
+  hashParamTable[269].ref = &device.dither.detector.settings.weight[6];
+  hashParamTable[269].size = sizeof(device.dither.detector.settings.weight[6]);
+  hashParamTable[270].hash = 0xd3734c0a;
+  hashParamTable[270].ref = &device.dither.detector.settings.weight[17];
+  hashParamTable[270].size = sizeof(device.dither.detector.settings.weight[17]);
+  hashParamTable[271].hash = 0xd40e3508;
+  hashParamTable[271].ref = &device.plcs.sequencer.settings.sequence[27];
+  hashParamTable[271].size = sizeof(device.plcs.sequencer.settings.sequence[27]);
+  hashParamTable[272].hash = 0xd43ae1d0;
+  hashParamTable[272].ref = &device.plcs.reset.settings.cooling.level.slope;
+  hashParamTable[272].size = sizeof(device.plcs.reset.settings.cooling.level.slope);
+  hashParamTable[273].hash = 0xd5cc5f3f;
+  hashParamTable[273].ref = &device.plcs.sequencer.settings.sequence[37];
+  hashParamTable[273].size = sizeof(device.plcs.sequencer.settings.sequence[37]);
+  hashParamTable[274].hash = 0xd6488b51;
+  hashParamTable[274].ref = &device.plcs.sequencer.settings.sequence[17];
+  hashParamTable[274].size = sizeof(device.plcs.sequencer.settings.sequence[17]);
+  hashParamTable[275].hash = 0xd7dd8713;
+  hashParamTable[275].ref = &device.plcs.input.voltage;
+  hashParamTable[275].size = sizeof(device.plcs.input.voltage);
+  hashParamTable[276].hash = 0xd914cf5e;
+  hashParamTable[276].ref = &device.isacs.regulator.state.error;
+  hashParamTable[276].size = sizeof(device.isacs.regulator.state.error);
+  hashParamTable[277].hash = 0xd99d2fe8;
+  hashParamTable[277].ref = &device.controller.uart[0].settings.baudRate;
+  hashParamTable[277].size = sizeof(device.controller.uart[0].settings.baudRate);
+  hashParamTable[278].hash = 0xd99f8430;
+  hashParamTable[278].ref = &device.plcs.output.interpolator.settings.code[5];
+  hashParamTable[278].size = sizeof(device.plcs.output.interpolator.settings.code[5]);
+  hashParamTable[279].hash = 0xda6f3055;
+  hashParamTable[279].ref = &device.plcs.sequencer.settings.sequence[0];
+  hashParamTable[279].size = sizeof(device.plcs.sequencer.settings.sequence[0]);
+  hashParamTable[280].hash = 0xdb8486a8;
+  hashParamTable[280].ref = &device.isacs.regulator.settings.reset.enabled;
+  hashParamTable[280].size = sizeof(device.isacs.regulator.settings.reset.enabled);
+  hashParamTable[281].hash = 0xdbe35c4a;
+  hashParamTable[281].ref = &device.dither.carrier.state.enabled;
+  hashParamTable[281].size = sizeof(device.dither.carrier.state.enabled);
+  hashParamTable[282].hash = 0xdbefbf30;
+  hashParamTable[282].ref = &device.dither.noise.settings.period;
+  hashParamTable[282].size = sizeof(device.dither.noise.settings.period);
+  hashParamTable[283].hash = 0xdc1b0dfc;
+  hashParamTable[283].ref = &device.plcs.regulator.settings.reference;
+  hashParamTable[283].size = sizeof(device.plcs.regulator.settings.reference);
+  hashParamTable[284].hash = 0xdc39d545;
+  hashParamTable[284].ref = &device.plcs.output.interpolator.settings.voltage[15];
+  hashParamTable[284].size = sizeof(device.plcs.output.interpolator.settings.voltage[15]);
+  hashParamTable[285].hash = 0xdf0e1fa9;
+  hashParamTable[285].ref = &device.plcs.sequencer.state.enabled;
+  hashParamTable[285].size = sizeof(device.plcs.sequencer.state.enabled);
+  hashParamTable[286].hash = 0xdf6e4e5b;
+  hashParamTable[286].ref = &device.plcs.output.interpolator.settings.code[15];
+  hashParamTable[286].size = sizeof(device.plcs.output.interpolator.settings.code[15]);
+  hashParamTable[287].hash = 0xdf8421c1;
+  hashParamTable[287].ref = &device.dither.oscillation.settings.enabled;
+  hashParamTable[287].size = sizeof(device.dither.oscillation.settings.enabled);
+  hashParamTable[288].hash = 0xe02468f4;
+  hashParamTable[288].ref = &device.isacs.input.interpolator.settings.code[11];
+  hashParamTable[288].size = sizeof(device.isacs.input.interpolator.settings.code[11]);
+  hashParamTable[289].hash = 0xe0a35478;
+  hashParamTable[289].ref = &device.isacs.input.interpolator.settings.voltage[9];
+  hashParamTable[289].size = sizeof(device.isacs.input.interpolator.settings.voltage[9]);
+  hashParamTable[290].hash = 0xe10bd48a;
+  hashParamTable[290].ref = &device.isacs.input.interpolator.settings.voltage[12];
+  hashParamTable[290].size = sizeof(device.isacs.input.interpolator.settings.voltage[12]);
+  hashParamTable[291].hash = 0xe1452e88;
+  hashParamTable[291].ref = &device.dither.detector.settings.weight[15];
+  hashParamTable[291].size = sizeof(device.dither.detector.settings.weight[15]);
+  hashParamTable[292].hash = 0xe1464bf6;
+  hashParamTable[292].ref = &device.plcs.detector.settings.delta;
+  hashParamTable[292].size = sizeof(device.plcs.detector.settings.delta);
+  hashParamTable[293].hash = 0xe146d593;
+  hashParamTable[293].ref = &device.dither.detector.settings.weight[4];
+  hashParamTable[293].size = sizeof(device.dither.detector.settings.weight[4]);
+  hashParamTable[294].hash = 0xe2b52b38;
+  hashParamTable[294].ref = &device.plcs.sequencer.settings.sequence[45];
+  hashParamTable[294].size = sizeof(device.plcs.sequencer.settings.sequence[45]);
+  hashParamTable[295].hash = 0xe30390d1;
+  hashParamTable[295].ref = &device.dither.detector.settings.weight[25];
+  hashParamTable[295].size = sizeof(device.dither.detector.settings.weight[25]);
+  hashParamTable[296].hash = 0xe377410f;
+  hashParamTable[296].ref = &device.plcs.sequencer.settings.sequence[55];
+  hashParamTable[296].size = sizeof(device.plcs.sequencer.settings.sequence[55]);
+  hashParamTable[297].hash = 0xe47ee9d3;
+  hashParamTable[297].ref = &device.plcs.sequencer.settings.sequence[15];
+  hashParamTable[297].size = sizeof(device.plcs.sequencer.settings.sequence[15]);
+  hashParamTable[298].hash = 0xe49c97ed;
+  hashParamTable[298].ref = &device.isacs.potentiometers.settings.b;
+  hashParamTable[298].size = sizeof(device.isacs.potentiometers.settings.b);
+  hashParamTable[299].hash = 0xe4aae5e5;
+  hashParamTable[299].ref = &device.isacs.output.interpolator.settings.code[9];
+  hashParamTable[299].size = sizeof(device.isacs.output.interpolator.settings.code[9]);
+  hashParamTable[300].hash = 0xe638578a;
+  hashParamTable[300].ref = &device.plcs.sequencer.settings.sequence[25];
+  hashParamTable[300].size = sizeof(device.plcs.sequencer.settings.sequence[25]);
+  hashParamTable[301].hash = 0xe6bb75e9;
+  hashParamTable[301].ref = &device.plcs.reset.settings.cooling.delay.slope;
+  hashParamTable[301].size = sizeof(device.plcs.reset.settings.cooling.delay.slope);
+  hashParamTable[302].hash = 0xe6c6e9fd;
+  hashParamTable[302].ref = &device.plcs.reset.state.delay;
+  hashParamTable[302].size = sizeof(device.plcs.reset.state.delay);
+  hashParamTable[303].hash = 0xe7445461;
+  hashParamTable[303].ref = &device.dither.pulse.state.fall;
+  hashParamTable[303].size = sizeof(device.dither.pulse.state.fall);
+  hashParamTable[304].hash = 0xe7f0684b;
+  hashParamTable[304].ref = &device.isacs.regulator.settings.start.reference;
+  hashParamTable[304].size = sizeof(device.isacs.regulator.settings.start.reference);
+  hashParamTable[305].hash = 0xe7fa3dbd;
+  hashParamTable[305].ref = &device.plcs.sequencer.settings.sequence[35];
+  hashParamTable[305].size = sizeof(device.plcs.sequencer.settings.sequence[35]);
+  hashParamTable[306].hash = 0xe85952d7;
+  hashParamTable[306].ref = &device.plcs.sequencer.settings.sequence[2];
+  hashParamTable[306].size = sizeof(device.plcs.sequencer.settings.sequence[2]);
+  hashParamTable[307].hash = 0xe9af6cdd;
+  hashParamTable[307].ref = &device.isacs.output.interpolator.settings.voltage[8];
+  hashParamTable[307].size = sizeof(device.isacs.output.interpolator.settings.voltage[8]);
+  hashParamTable[308].hash = 0xeae5bf6a;
+  hashParamTable[308].ref = &device.controller.I2C.state.CON0;
+  hashParamTable[308].size = sizeof(device.controller.I2C.state.CON0);
+  hashParamTable[309].hash = 0xeb7b0244;
+  hashParamTable[309].ref = &device.plcs.detector.state.sequencer;
+  hashParamTable[309].size = sizeof(device.plcs.detector.state.sequencer);
+  hashParamTable[310].hash = 0xeba9e6b2;
+  hashParamTable[310].ref = &device.plcs.output.interpolator.settings.code[7];
+  hashParamTable[310].size = sizeof(device.plcs.output.interpolator.settings.code[7]);
+  hashParamTable[311].hash = 0xed95321c;
+  hashParamTable[311].ref = &device.isacs.potentiometers.state.b;
+  hashParamTable[311].size = sizeof(device.isacs.potentiometers.state.b);
+  hashParamTable[312].hash = 0xedb8c4ea;
+  hashParamTable[312].ref = &device.dither.cycle.state.pin2;
+  hashParamTable[312].size = sizeof(device.dither.cycle.state.pin2);
+  hashParamTable[313].hash = 0xf0b45d9c;
+  hashParamTable[313].ref = &device.isacs.output.interpolator.settings.voltage[9];
+  hashParamTable[313].size = sizeof(device.isacs.output.interpolator.settings.voltage[9]);
+  hashParamTable[314].hash = 0xf1426396;
+  hashParamTable[314].ref = &device.plcs.sequencer.settings.sequence[3];
+  hashParamTable[314].size = sizeof(device.plcs.sequencer.settings.sequence[3]);
+  hashParamTable[315].hash = 0xf2b2d7f3;
+  hashParamTable[315].ref = &device.plcs.output.interpolator.settings.code[6];
+  hashParamTable[315].size = sizeof(device.plcs.output.interpolator.settings.code[6]);
+  hashParamTable[316].hash = 0xf3e346b6;
+  hashParamTable[316].ref = &device.plcs.detector.settings.output;
+  hashParamTable[316].size = sizeof(device.plcs.detector.settings.output);
+  hashParamTable[317].hash = 0xf49a6f2b;
+  hashParamTable[317].ref = &device.dither.detector.settings.offset;
+  hashParamTable[317].size = sizeof(device.dither.detector.settings.offset);
+  hashParamTable[318].hash = 0xf5ce8fee;
+  hashParamTable[318].ref = &device.dither.pulse.settings.fall;
+  hashParamTable[318].size = sizeof(device.dither.pulse.settings.fall);
+  hashParamTable[319].hash = 0xf5e09bfe;
+  hashParamTable[319].ref = &device.dither.oscillation.settings.reference;
+  hashParamTable[319].size = sizeof(device.dither.oscillation.settings.reference);
+  hashParamTable[320].hash = 0xf810e5cb;
+  hashParamTable[320].ref = &device.isacs.input.interpolator.settings.voltage[13];
+  hashParamTable[320].size = sizeof(device.isacs.input.interpolator.settings.voltage[13]);
+  hashParamTable[321].hash = 0xf85de4d2;
+  hashParamTable[321].ref = &device.dither.detector.settings.weight[5];
+  hashParamTable[321].size = sizeof(device.dither.detector.settings.weight[5]);
+  hashParamTable[322].hash = 0xf85e1fc9;
+  hashParamTable[322].ref = &device.dither.detector.settings.weight[14];
+  hashParamTable[322].size = sizeof(device.dither.detector.settings.weight[14]);
+  hashParamTable[323].hash = 0xf93f59b5;
+  hashParamTable[323].ref = &device.isacs.input.interpolator.settings.code[10];
+  hashParamTable[323].size = sizeof(device.isacs.input.interpolator.settings.code[10]);
+  hashParamTable[324].hash = 0xf9b86539;
+  hashParamTable[324].ref = &device.isacs.input.interpolator.settings.voltage[8];
+  hashParamTable[324].size = sizeof(device.isacs.input.interpolator.settings.voltage[8]);
+  hashParamTable[325].hash = 0xfa18a190;
+  hashParamTable[325].ref = &device.dither.detector.settings.weight[24];
+  hashParamTable[325].size = sizeof(device.dither.detector.settings.weight[24]);
+  hashParamTable[326].hash = 0xfa6c704e;
+  hashParamTable[326].ref = &device.plcs.sequencer.settings.sequence[54];
+  hashParamTable[326].size = sizeof(device.plcs.sequencer.settings.sequence[54]);
+  hashParamTable[327].hash = 0xfbae1a79;
+  hashParamTable[327].ref = &device.plcs.sequencer.settings.sequence[44];
+  hashParamTable[327].size = sizeof(device.plcs.sequencer.settings.sequence[44]);
+  hashParamTable[328].hash = 0xfc0531d4;
+  hashParamTable[328].ref = &device.controller.QEI.state.delta;
+  hashParamTable[328].size = sizeof(device.controller.QEI.state.delta);
+  hashParamTable[329].hash = 0xfceba7ea;
+  hashParamTable[329].ref = &device.controller.uart[1].state.DLL;
+  hashParamTable[329].size = sizeof(device.controller.uart[1].state.DLL);
+  hashParamTable[330].hash = 0xfd65d892;
+  hashParamTable[330].ref = &device.plcs.sequencer.settings.sequence[14];
+  hashParamTable[330].size = sizeof(device.plcs.sequencer.settings.sequence[14]);
+  hashParamTable[331].hash = 0xfd724f85;
+  hashParamTable[331].ref = &device.plcs.output.start.settings.voltage;
+  hashParamTable[331].size = sizeof(device.plcs.output.start.settings.voltage);
+  hashParamTable[332].hash = 0xfdb1d4a4;
+  hashParamTable[332].ref = &device.isacs.output.interpolator.settings.code[8];
+  hashParamTable[332].size = sizeof(device.isacs.output.interpolator.settings.code[8]);
+  hashParamTable[333].hash = 0xfee10cfc;
+  hashParamTable[333].ref = &device.plcs.sequencer.settings.sequence[34];
+  hashParamTable[333].size = sizeof(device.plcs.sequencer.settings.sequence[34]);
+  hashParamTable[334].hash = 0xff2366cb;
+  hashParamTable[334].ref = &device.plcs.sequencer.settings.sequence[24];
+  hashParamTable[334].size = sizeof(device.plcs.sequencer.settings.sequence[24]);
 }
 
 void InitHashFuncTable(void) {