From d0eba1fcfafbd7ad5d7f1b6df9d2dff8bb5d71c6 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 18:27:49 +0200 Subject: [PATCH 1/3] XYZcal fix --- Firmware/mesh_bed_calibration.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index f6cb70d86..1d6bf2372 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2035,7 +2035,11 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level // SERIAL_ECHO(int(verbosity_level)); // SERIAL_ECHOPGM(""); +#ifdef NEW_XYZCAL + { +#else //NEW_XYZCAL while (iteration < 3) { +#endif //NEW_XYZCAL SERIAL_ECHOPGM("Iteration: "); MYSERIAL.println(int(iteration + 1)); From 8af8108f6d9aff87ce09cdc452e97b255eb7a8ff Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 18:48:45 +0200 Subject: [PATCH 2/3] XYZcal - threshold changed from 32 to 16 --- Firmware/xyzcal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 506f60d45..fb80082ba 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -425,7 +425,7 @@ void xyzcal_draw_pattern_12x12_in_32x32(uint8_t* pattern, uint32_t* pixels, int int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* pixels, uint8_t c, uint8_t r) { - uint8_t thr = 32; + uint8_t thr = 16; int16_t match = 0; for (uint8_t i = 0; i < 12; i++) for (uint8_t j = 0; j < 12; j++) From 82f991a5ff7c6b6a2177d9cf28b408f750b99ea9 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 20:11:39 +0200 Subject: [PATCH 3/3] XYZcal - better filtering --- Firmware/xyzcal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index fb80082ba..725150f31 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -370,7 +370,7 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) { uint8_t l; uint16_t max_c = histo[0]; - uint8_t max_l = 0; + uint8_t max_l = 1; for (l = 1; l < 16; l++) { uint16_t c = histo[l]; @@ -384,7 +384,7 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) for (l = 15; l > 8; l--) if (histo[l] >= 10) break; - uint8_t pix_min = (max_l + 2) << 4; + uint8_t pix_min = (max_l + 1) << 4; uint8_t pix_max = l << 4; uint8_t pix_dif = pix_max - pix_min; DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif);