81 adc->CALL = SP_ReadCalibrationByte( PROD_SIGNATURES_START + ADCACAL0_offset );
82 adc->CALH = SP_ReadCalibrationByte( PROD_SIGNATURES_START + ADCACAL1_offset );
87 adc->CALL = SP_ReadCalibrationByte( PROD_SIGNATURES_START + ADCBCAL0_offset );
88 adc->CALH = SP_ReadCalibrationByte( PROD_SIGNATURES_START + ADCBCAL1_offset );
107 adc_ch->INTFLAGS = ADC_CH_CHIF_bm;
110 answer = adc_ch->RES - offset;
130 adc_ch->INTFLAGS = ADC_CH_CHIF_bm;
133 answer = adc_ch->RES - signedOffset;
149 adc_ch->INTFLAGS = ADC_CH_CHIF_bm;
171 adc_ch->INTFLAGS = ADC_CH_CHIF_bm;
191 adc_ch->INTFLAGS = ADC_CH_CHIF_bm;
213 uint8_t prescaler_val = adc->PRESCALER;
216 adc->PRESCALER = ADC_PRESCALER_DIV4_gc;
219 delay_us(4*COMMON_MODE_CYCLES);
222 adc->PRESCALER = prescaler_val;
245 uint8_t prescaler_val = adc->PRESCALER;
248 adc->PRESCALER = ADC_PRESCALER_DIV8_gc;
251 delay_us(8*COMMON_MODE_CYCLES);
254 adc->PRESCALER = prescaler_val;
278 for (
int i=0; i<4; i++)
287 return ((uint16_t)(offset>>2));
324 int16_t offset_calc=0;
325 for (
int i=0; i<4; i++)
334 return ((int16_t)(offset_calc/4));
338 int16_t offset_calc=0;
362 uint8_t SP_ReadCalibrationByte( uint8_t index )
367 NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc;
368 result = pgm_read_byte(index);
371 NVM_CMD = NVM_CMD_NO_OPERATION_gc;