Skip to content

Commit dd21fed

Browse files
grauerfuchszillarob
authored andcommitted
Fix and optimize MightyBoard (MarlinFirmware#20493)
1 parent 71583de commit dd21fed

3 files changed

Lines changed: 11 additions & 10 deletions

File tree

Marlin/Configuration_adv.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@
10151015
/**
10161016
* I2C-based DIGIPOTs (e.g., Azteeg X3 Pro)
10171017
*/
1018-
//#define DIGIPOT_MCP4018 // Requires https://github.com/stawel/SlowSoftI2CMaster
1018+
//#define DIGIPOT_MCP4018 // Requires https://github.com/felias-fogg/SlowSoftI2CMaster
10191019
//#define DIGIPOT_MCP4451
10201020
#if EITHER(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
10211021
#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT:4 AZTEEG_X3_PRO:8 MKS_SBASE:5 MIGHTYBOARD_REVE:5

Marlin/src/feature/digipot/digipot_mcp4018.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include "digipot.h"
2828

2929
#include <Stream.h>
30-
#include <SlowSoftI2CMaster.h> // https://github.com/stawel/SlowSoftI2CMaster
30+
#include <SlowSoftI2CMaster.h> // https://github.com/felias-fogg/SlowSoftI2CMaster
3131

3232
// Settings for the I2C based DIGIPOT (MCP4018) based on WT150
3333

@@ -46,21 +46,21 @@ static byte current_to_wiper(const float current) {
4646
}
4747

4848
static SlowSoftI2CMaster pots[DIGIPOT_I2C_NUM_CHANNELS] = {
49-
SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_X, DIGIPOTS_I2C_SCL)
49+
SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_X, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
5050
#if DIGIPOT_I2C_NUM_CHANNELS > 1
51-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_Y, DIGIPOTS_I2C_SCL)
51+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_Y, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
5252
#if DIGIPOT_I2C_NUM_CHANNELS > 2
53-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_Z, DIGIPOTS_I2C_SCL)
53+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_Z, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
5454
#if DIGIPOT_I2C_NUM_CHANNELS > 3
55-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E0, DIGIPOTS_I2C_SCL)
55+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E0, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
5656
#if DIGIPOT_I2C_NUM_CHANNELS > 4
57-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E1, DIGIPOTS_I2C_SCL)
57+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E1, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
5858
#if DIGIPOT_I2C_NUM_CHANNELS > 5
59-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E2, DIGIPOTS_I2C_SCL)
59+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E2, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
6060
#if DIGIPOT_I2C_NUM_CHANNELS > 6
61-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E3, DIGIPOTS_I2C_SCL)
61+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E3, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
6262
#if DIGIPOT_I2C_NUM_CHANNELS > 7
63-
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E4, DIGIPOTS_I2C_SCL)
63+
, SlowSoftI2CMaster(DIGIPOTS_I2C_SDA_E4, DIGIPOTS_I2C_SCL, ENABLED(DIGIPOT_ENABLE_I2C_PULLUPS))
6464
#endif
6565
#endif
6666
#endif

Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@
118118
#ifndef DIGIPOT_I2C_ADDRESS_A
119119
#define DIGIPOT_I2C_ADDRESS_A 0x2F // unshifted slave address (5E <- 2F << 1)
120120
#endif
121+
#define DIGIPOT_ENABLE_I2C_PULLUPS // MightyBoard doesn't have hardware I2C pin pull-ups.
121122

122123
//
123124
// Temperature Sensors

0 commit comments

Comments
 (0)