diff --git a/Firmware/Olfactometer/app.c b/Firmware/Olfactometer/app.c index 05e4cb8..57fb257 100644 --- a/Firmware/Olfactometer/app.c +++ b/Firmware/Olfactometer/app.c @@ -60,7 +60,7 @@ void hwbp_app_initialize(void) uint8_t hwH = 1; uint8_t hwL = 0; uint8_t fwH = 1; - uint8_t fwL = 1; + uint8_t fwL = 2; uint8_t ass = 0; /* Start core */ @@ -121,6 +121,10 @@ void init_calibration_values(void) index = index0; CH0_calibration_values[0] = eeprom_rd_byte(index); + + if (CH0_calibration_values[0] == 0) + return; + CH0_calibration_values[0] = ((CH0_calibration_values[0] << 8) & 0xFF00) | eeprom_rd_byte(++index); CH0_calibration_values[1] = eeprom_rd_byte(++index); CH0_calibration_values[1] = ((CH0_calibration_values[1] << 8) & 0xFF00) | eeprom_rd_byte(++index); diff --git a/Firmware/Olfactometer/app_funcs.c b/Firmware/Olfactometer/app_funcs.c index 1c883a0..29fb9c0 100644 --- a/Firmware/Olfactometer/app_funcs.c +++ b/Firmware/Olfactometer/app_funcs.c @@ -283,6 +283,17 @@ bool app_write_REG_CHANNEL0_USER_CALIBRATION(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL0_USER_CALIBRATION[0] = reg[0]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[1] = reg[1]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[2] = reg[2]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[3] = reg[3]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[4] = reg[4]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[5] = reg[5]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[6] = reg[6]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[7] = reg[7]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[8] = reg[8]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[9] = reg[9]; + app_regs.REG_CHANNEL0_USER_CALIBRATION[10] = reg[10]; + return true; } @@ -302,6 +313,17 @@ bool app_write_REG_CHANNEL1_USER_CALIBRATION(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL1_USER_CALIBRATION[0] = reg[0]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[1] = reg[1]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[2] = reg[2]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[3] = reg[3]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[4] = reg[4]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[5] = reg[5]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[6] = reg[6]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[7] = reg[7]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[8] = reg[8]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[9] = reg[9]; + app_regs.REG_CHANNEL1_USER_CALIBRATION[10] = reg[10]; + return true; } @@ -321,6 +343,16 @@ bool app_write_REG_CHANNEL2_USER_CALIBRATION(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL2_USER_CALIBRATION[0] = reg[0]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[1] = reg[1]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[2] = reg[2]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[3] = reg[3]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[4] = reg[4]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[5] = reg[5]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[6] = reg[6]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[7] = reg[7]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[8] = reg[8]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[9] = reg[9]; + app_regs.REG_CHANNEL2_USER_CALIBRATION[10] = reg[10]; return true; } @@ -340,6 +372,16 @@ bool app_write_REG_CHANNEL3_USER_CALIBRATION(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL3_USER_CALIBRATION[0] = reg[0]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[1] = reg[1]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[2] = reg[2]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[3] = reg[3]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[4] = reg[4]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[5] = reg[5]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[6] = reg[6]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[7] = reg[7]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[8] = reg[8]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[9] = reg[9]; + app_regs.REG_CHANNEL3_USER_CALIBRATION[10] = reg[10]; return true; } @@ -359,6 +401,16 @@ bool app_write_REG_CHANNEL4_USER_CALIBRATION(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL4_USER_CALIBRATION[0] = reg[0]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[1] = reg[1]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[2] = reg[2]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[3] = reg[3]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[4] = reg[4]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[5] = reg[5]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[6] = reg[6]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[7] = reg[7]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[8] = reg[8]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[9] = reg[9]; + app_regs.REG_CHANNEL4_USER_CALIBRATION[10] = reg[10]; return true; } @@ -378,6 +430,16 @@ bool app_write_REG_CHANNEL3_USER_CALIBRATION_AUX(void *a) uint16_t *reg = ((uint16_t*)a); app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[0] = reg[0]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[1] = reg[1]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[2] = reg[2]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[3] = reg[3]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[4] = reg[4]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[5] = reg[5]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[6] = reg[6]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[7] = reg[7]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[8] = reg[8]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[9] = reg[9]; + app_regs.REG_CHANNEL3_USER_CALIBRATION_AUX[10] = reg[10]; return true; }