# Using calibration points

ADC | Diameter | Remove
--- | --- | ---

We use above calibration points to estimate filament diameter using linear interpolation.
First and last point are boundary items and can not be removed.
The firmware has been compiled to allow up to $MAX_CALIBRATION_POINTS$ calibration points.

# Create calibration point

Calibration procedure (using drill bit)

1. Measure drill bit using calipers and note the diameter size in mm

2. Insert the drill bit into WInFiDEL sensor and note the ADC value

3. In the input box below enter the measured diameter from step #1

4. Click on `Calibrate` button and wait for page to reload.

5. Verify that the list of calibration points has been updated.

Current ADC value of

ADC

should be calibrated as

mm
Invalid diameter value!

Note: Update existing calibration point by specifying same `mm` diameter.
Note: If new point has same ADC or mm value as the existing one. Existing point will be updated.

# Firmware information

Parameter | Value | Note
--- | --- | ---
MAX_CALIBRATION_POINTS | $MAX_CALIBRATION_POINTS$ | Maximum number of calibration points supported by firmware.
CALIBRATION_POINT_SAMPLE_COUNT | $CALIBRATION_POINT_SAMPLE_COUNT$ | Number of ADC samples taken when creating a calibration point
CALIBRATION_POINT_ACCURACY_POINT | $CALIBRATION_POINT_ACCURACY_POINT$ | When creating calibration point. All ADC samples must be within `$CALIBRATION_POINT_ACCURACY_POINT$` points of each other. Otherwise we will fail to create a calibration point due to ADC noise.
ADC_MIN | $ADC_MIN$ | Minimum value ADC can provide
ADC_MIN_EQUALS_MM | $ADC_MIN_EQUALS_MM$ | Minimum ADC value is treated as `$ADC_MIN_EQUALS_MM$`mm
ADC_MAX | $ADC_MAX$ | Maximum value ADC can provide
ADC_MAX_EQUALS_MM | $ADC_MAX_EQUALS_MM$ | Maximum ADC value is treated as `$ADC_MAX_EQUALS_MM$`mm
BUILD_TIME | $BUILD_TIME$ | Time when firmware was compiled
BUILD_DATE | $BUILD_DATE$ | Date when firmware was compiled
ADC_ALGO | $ADC_ALGO$ | Which alghoritm is used to calculate final ADC value
ADC_CHIP | $ADC_CHIP$ | Which ADC chip is populated on the board

Values in this table are provided for development/debugging purposes (and just for fun).
You should not have to worry about them during devices normal operation.