123
Fork of LG by
Diff: Device.c
- Revision:
- 161:efd949e8d536
- Parent:
- 156:e68ee0bcdcda
- Child:
- 166:c3c0b8a90d81
--- a/Device.c Fri May 13 14:04:22 2016 +0000 +++ b/Device.c Sun May 15 19:12:12 2016 +0000 @@ -10,6 +10,12 @@ SystemInit1(); // Инициализация контроллера: установка тактовых частот SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 100MHz + //Init host commununication protocol + InitUserProtocol(); + //Init hash table + InitHashParamTable(); + InitHashFuncTable(); + //Load default settings DeviceInitAllWithDefaults(); @@ -23,27 +29,23 @@ void DeviceStart(void){ DeviceEnableMeasurementTimer(); DeviceEnableRegularTimer(); - DevicePhotoDetectorSetPotentiometers(); + DeviceISACSSetPotentiometers(); DeviceStartLightUp(); DeviceStartDither(); } void DeviceInitAllWithDefaults(void){ - device.settings.address = 0; - - //Init transmitter variables - device.host.transmitter.position = 0; + device.user.address = 0; //Init controller InitControllerWithDefaults(); //Init units - InitHostProtocolWithDefaults(); InitCountersWithDefaults(); InitLightUpWithDefaults(); - InitPhotoDetectorWithDefaults(); InitDitherWithDefaults(); InitDACWithDefaults(); + InitISACSWithDefaults(); InitPathLengthControlSystemWithDefaults(); } @@ -66,18 +68,16 @@ //Init controller InitController(); - //Init host commununication protocol - InitHostProtocol(); //Init counters InitCounters(); //Init light-up and back light unit InitLightUp(); - //Init photo detector - InitPhotoDetector(); //Init dither InitDither(); //Init DAC of hfo & plcs InitDAC(); + //Init information signal amplitude control system + InitISACS(); //Init path length control system InitPathLengthControlSystem(); } @@ -87,7 +87,7 @@ device.regular.event1Hz--; device.regular.time1Hz++; - DeviceLightUpCycle(); + DeviceLightUpDoCycle(); } } @@ -122,11 +122,11 @@ device.regular.event1K++; } - if ((device.host.response.type == RESPONSE_DELAYED) || (device.host.response.type == RESPONSE_PERIODIC)){ - device.host.response.counter += 100; - if (device.host.response.counter > device.host.response.trigger) { - device.host.response.triggered = 1; - device.host.response.counter = 0; + if ((device.user.response.type == RESPONSE_DELAYED) || (device.user.response.type == RESPONSE_PERIODIC)){ + device.user.response.counter += 100; + if (device.user.response.counter > device.user.response.trigger) { + device.user.response.triggered = 1; + device.user.response.counter = 0; } } } @@ -142,7 +142,7 @@ device.regular.event10K++; } - DeviceDitherCycle(); //Set/reset vibro 1/2 pins + DeviceDitherDoCycle(); //Set/reset vibro 1/2 pins } } @@ -151,6 +151,8 @@ DeviceQEIRead(); //Count DeviceCount(); + //Detect dither phase + DeviceDitherDetectPhase(); //Receive ADCs samples using SSP DeviceSSPReceive(); @@ -161,13 +163,13 @@ device.measurement.counter++; if (device.measurement.counter == device.measurement.length) device.measurement.counter = 0; //Reset dither 10mks resolution counter - if (device.measurement.counter == 0) device.dither.state.counter = 0; //First dither half period - if (device.measurement.counter == 16) device.dither.state.counter = 0;//Second dither half period + if (device.measurement.counter == 0) device.dither.pulse.state.counter = 0; //First dither half period + if (device.measurement.counter == 16) device.dither.pulse.state.counter = 0;//Second dither half period } void DeviceRegularInterruptHandler(void) { device.regular.event100K++; - device.dither.state.counter++; //Dither 10 mks resolution counter + device.dither.pulse.state.counter++; //Dither 10 mks resolution counter } /* @@ -177,4 +179,481 @@ } return -1; } -*/ \ No newline at end of file +*/ + +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); +} + +void InitHashFuncTable(void) { + hashFuncTable[0].hash = 0x71f16e12; + hashFuncTable[0].ref = DeviceFlashWriteAll; + hashFuncTable[0].resultSize = sizeof(void); + hashFuncTable[0].paramCount = 0; + hashFuncTable[1].hash = 0xd84a94cf; + hashFuncTable[1].ref = DeviceFlashReadAll; + hashFuncTable[1].resultSize = sizeof(void); + hashFuncTable[1].paramCount = 0; + hashFuncTable[2].hash = 0xd93b80f4; + hashFuncTable[2].ref = DeviceStartLightUp; + hashFuncTable[2].resultSize = sizeof(void); + hashFuncTable[2].paramCount = 0; +} \ No newline at end of file