From 70b1417d4cc39c9848645e1b656a0e65cbb13cb3 Mon Sep 17 00:00:00 2001 From: Orel Date: Tue, 21 Jan 2020 19:23:18 +0100 Subject: [PATCH 1/5] Mks base + digipot config fails to compile. --- .../src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c | 1 - .../src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h | 1 + Marlin/src/feature/digipot/digipot_mcp4451.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c index 8dc8c61b453d..dd83c7a97193 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c +++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c @@ -36,7 +36,6 @@ #endif #include "digipot_mcp4451_I2C_routines.h" -#include "i2c_util.h" // These two routines are exact copies of the lpc17xx_i2c.c routines. Couldn't link to // to the lpc17xx_i2c.c routines so had to copy them into this file & rename them. diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h index 6d6fafa8bb78..db6715e2b67e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h @@ -33,6 +33,7 @@ #include #include #include +#include "i2c_util.h" uint8_t digipot_mcp4451_start(uint8_t sla); uint8_t digipot_mcp4451_send_byte(uint8_t data); diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp index 13022abad1d0..b10564c7284f 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp @@ -77,7 +77,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) { void digipot_i2c_init() { #if MB(MKS_SBASE) - configure_i2c(); + configure_i2c(0); #else Wire.begin(); #endif From 47cf8487dbf7a1d8d87d86757f1a094e5548bea4 Mon Sep 17 00:00:00 2001 From: Orel Date: Thu, 23 Jan 2020 11:21:51 +0100 Subject: [PATCH 2/5] Fix compilation failure when enabling U8GLIB_SSD1306 --- Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h index 671a1e3746f3..a37d15746b91 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h @@ -45,4 +45,12 @@ #include #include +#ifdef __cplusplus + extern "C" { +#endif + void configure_i2c(const uint8_t clock_option); + +#ifdef __cplusplus + } +#endif \ No newline at end of file From ca81339cc224335464f4e69df589e10545d815a3 Mon Sep 17 00:00:00 2001 From: Orel Date: Thu, 23 Jan 2020 11:25:19 +0100 Subject: [PATCH 3/5] i2c for mcp4451 was originally initialized with 400kHz bit rate --- Marlin/src/feature/digipot/digipot_mcp4451.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp index b10564c7284f..6d79e8842bc0 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp @@ -77,7 +77,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) { void digipot_i2c_init() { #if MB(MKS_SBASE) - configure_i2c(0); + configure_i2c(16); #else Wire.begin(); #endif From 09af30ae6f993e0da30a34a20005def028f1acc2 Mon Sep 17 00:00:00 2001 From: Orel Date: Thu, 23 Jan 2020 11:31:15 +0100 Subject: [PATCH 4/5] Missing newline at the end of file... --- Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h index a37d15746b91..1ca3fc184452 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h @@ -53,4 +53,4 @@ void configure_i2c(const uint8_t clock_option); #ifdef __cplusplus } -#endif \ No newline at end of file +#endif From 3c25e119a73525c3794c6222985540abe00c20b3 Mon Sep 17 00:00:00 2001 From: Orel Date: Fri, 24 Jan 2020 10:44:06 +0100 Subject: [PATCH 5/5] Explain why clock_option is set to 16 in digitpot i2c initialization. --- Marlin/src/feature/digipot/digipot_mcp4451.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp index 6d79e8842bc0..48b4d154be2a 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp @@ -77,7 +77,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) { void digipot_i2c_init() { #if MB(MKS_SBASE) - configure_i2c(16); + configure_i2c(16); // Setting clock_option to 16 ensure the I2C bus is initialized at 400kHz #else Wire.begin(); #endif