diff --git a/App/VL53L0X_API/platform/vl53_calibration_config.h b/App/VL53L0X_API/platform/vl53_calibration_config.h new file mode 100644 index 0000000..a4ed731 --- /dev/null +++ b/App/VL53L0X_API/platform/vl53_calibration_config.h @@ -0,0 +1,53 @@ +#ifndef VL53_CALIBRATION_CONFIG_H +#define VL53_CALIBRATION_CONFIG_H + +#include +#include "vl53l0x_def.h" + +typedef struct { + int32_t offset_micro_meters; + uint8_t offset_calibrated; + FixPoint1616_t xtalk_compensation_rate_mcps; + uint8_t xtalk_calibrated; +} Vl53RuntimeCalibration_t; + +/* + * 运行时直接加载的 VL53 校准值。 + * + * 当前已确认: + * - 左前 offset = 12000 um + * - 左后 offset = 11000 um + * + * 右侧和 XTalk 目前未写入有效标定值,因此 calibrated 标志保持 0。 + */ +static const Vl53RuntimeCalibration_t k_vl53_left_calibration[2] = { + { + .offset_micro_meters = 10000, + .xtalk_compensation_rate_mcps = 0, + .offset_calibrated = 1, + .xtalk_calibrated = 0, + }, + { + .offset_micro_meters = 10000, + .xtalk_compensation_rate_mcps = 0, + .offset_calibrated = 1, + .xtalk_calibrated = 0, + }, +}; + +static const Vl53RuntimeCalibration_t k_vl53_right_calibration[2] = { + { + .offset_micro_meters = 5000, + .xtalk_compensation_rate_mcps = 0, + .offset_calibrated = 1, + .xtalk_calibrated = 0, + }, + { + .offset_micro_meters = 10000, + .xtalk_compensation_rate_mcps = 0, + .offset_calibrated = 1, + .xtalk_calibrated = 0, + }, +}; + +#endif /* VL53_CALIBRATION_CONFIG_H */