Skip to content

Commit 61723c8

Browse files
committed
EXPERIMENTAL_I2CBUS is just skeleton code
1 parent 11d10f3 commit 61723c8

File tree

14 files changed

+22
-23
lines changed

14 files changed

+22
-23
lines changed

Marlin/Configuration_adv.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -3233,8 +3233,9 @@
32333233
/**
32343234
* TWI/I2C BUS
32353235
*
3236-
* Enabling this will allow you to send and receive I2C data from slave devices
3237-
* on the bus.
3236+
* This feature is an EXPERIMENTAL feature so it shall not be used on production
3237+
* machines. Enabling this will allow you to send and receive I2C data from slave
3238+
* devices on the bus.
32383239
*
32393240
* ; Example #1
32403241
* ; This macro send the string "Marlin" to the slave device with address 0x63 (99)
@@ -3257,8 +3258,8 @@
32573258
* echo:i2c-reply: from:99 bytes:5 data:hello
32583259
*/
32593260

3260-
//#define I2CBUS
3261-
#if ENABLED(I2CBUS)
3261+
//#define EXPERIMENTAL_I2CBUS
3262+
#if ENABLED(EXPERIMENTAL_I2CBUS)
32623263
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
32633264
#endif
32643265

Marlin/src/HAL/LPC1768/inc/SanityCheck.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o
191191
//
192192
// Flag any i2c pin conflicts
193193
//
194-
#if ANY(HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC, I2CBUS, I2C_POSITION_ENCODERS, PCA9632, I2C_EEPROM)
194+
#if ANY(HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC, EXPERIMENTAL_I2CBUS, I2C_POSITION_ENCODERS, PCA9632, I2C_EEPROM)
195195
#define USEDI2CDEV_M 1 // <Arduino>/Wire.cpp
196196

197197
#if USEDI2CDEV_M == 0 // P0_27 [D57] (AUX-1) .......... P0_28 [D58] (AUX-1)

Marlin/src/MarlinCore.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
#include "feature/dac/stepper_dac.h"
138138
#endif
139139

140-
#if ENABLED(I2CBUS)
140+
#if ENABLED(EXPERIMENTAL_I2CBUS)
141141
#include "feature/twibus.h"
142142
#endif
143143

@@ -1532,7 +1532,7 @@ void setup() {
15321532
SETUP_RUN(I2CPEM.init());
15331533
#endif
15341534

1535-
#if ENABLED(I2CBUS) && I2C_SLAVE_ADDRESS > 0
1535+
#if ENABLED(EXPERIMENTAL_I2CBUS) && I2C_SLAVE_ADDRESS > 0
15361536
SETUP_LOG("i2c...");
15371537
i2c.onReceive(i2c_on_receive);
15381538
i2c.onRequest(i2c_on_request);

Marlin/src/feature/twibus.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include "../inc/MarlinConfig.h"
2424

25-
#if ENABLED(I2CBUS)
25+
#if ENABLED(EXPERIMENTAL_I2CBUS)
2626

2727
#include "twibus.h"
2828

@@ -234,4 +234,4 @@ void TWIBus::flush() {
234234

235235
#endif
236236

237-
#endif // I2CBUS
237+
#endif // EXPERIMENTAL_I2CBUS

Marlin/src/gcode/feature/i2c/M260_M261.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include "../../../inc/MarlinConfig.h"
2424

25-
#if ENABLED(I2CBUS)
25+
#if ENABLED(EXPERIMENTAL_I2CBUS)
2626

2727
#include "../../gcode.h"
2828

Marlin/src/gcode/gcode.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
803803
case 256: M256(); break; // M256: Set LCD brightness
804804
#endif
805805

806-
#if ENABLED(I2CBUS)
806+
#if ENABLED(EXPERIMENTAL_I2CBUS)
807807
case 260: M260(); break; // M260: Send data to an i2c slave
808808
case 261: M261(); break; // M261: Request data from an i2c slave
809809
#endif

Marlin/src/gcode/gcode.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@
206206
* M250 - Set LCD contrast: "M250 C<contrast>" (0-63). (Requires LCD support)
207207
* M255 - Set LCD sleep time: "M255 S<minutes>" (0-99). (Requires an LCD with brightness or sleep/wake)
208208
* M256 - Set LCD brightness: "M256 B<brightness>" (0-255). (Requires an LCD with brightness control)
209-
* M260 - i2c Send Data (Requires I2CBUS)
210-
* M261 - i2c Request Data (Requires I2CBUS)
209+
* M260 - i2c Send Data (Requires EXPERIMENTAL_I2CBUS)
210+
* M261 - i2c Request Data (Requires EXPERIMENTAL_I2CBUS)
211211
* M280 - Set servo position absolute: "M280 P<index> S<angle|µs>". (Requires servos)
212212
* M281 - Set servo min|max position: "M281 P<index> L<min> U<max>". (Requires EDITABLE_SERVO_ANGLES)
213213
* M282 - Detach servo: "M282 P<index>". (Requires SERVO_DETACH_GCODE)
@@ -902,7 +902,7 @@ class GcodeSuite {
902902
static void M256_report(const bool forReplay=true);
903903
#endif
904904

905-
#if ENABLED(I2CBUS)
905+
#if ENABLED(EXPERIMENTAL_I2CBUS)
906906
static void M260();
907907
static void M261();
908908
#endif

Marlin/src/inc/SanityCheck.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -668,8 +668,6 @@
668668
#error "MILLISECONDS_PREHEAT_TIME is now PREHEAT_TIME_HOTEND_MS."
669669
#elif defined(EXPERIMENTAL_SCURVE)
670670
#error "EXPERIMENTAL_SCURVE is no longer needed and should be removed."
671-
#elif defined(EXPERIMENTAL_I2CBUS)
672-
#error "EXPERIMENTAL_I2CBUS is now I2CBUS."
673671
#endif
674672

675673
// L64xx stepper drivers have been removed
@@ -2888,7 +2886,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
28882886
/**
28892887
* I2C bus
28902888
*/
2891-
#if ENABLED(I2CBUS) && I2C_SLAVE_ADDRESS > 0
2889+
#if ENABLED(EXPERIMENTAL_I2CBUS) && I2C_SLAVE_ADDRESS > 0
28922890
#if I2C_SLAVE_ADDRESS < 8
28932891
#error "I2C_SLAVE_ADDRESS can't be less than 8. (Addresses 0 - 7 are reserved.)"
28942892
#elif I2C_SLAVE_ADDRESS > 127

buildroot/tests/LPC1769

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ opt_set MOTHERBOARD BOARD_COHESION3D_REMIX \
4747
opt_enable AUTO_BED_LEVELING_BILINEAR EEPROM_SETTINGS EEPROM_CHITCHAT MECHANICAL_GANTRY_CALIBRATION \
4848
TMC_USE_SW_SPI MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z HYBRID_THRESHOLD \
4949
SENSORLESS_PROBING Z_SAFE_HOMING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY Z_STALL_SENSITIVITY TMC_DEBUG \
50-
I2CBUS
50+
EXPERIMENTAL_I2CBUS
5151
opt_disable PSU_CONTROL Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
5252
exec_test $1 $2 "Cohesion3D Remix DELTA + ABL Bilinear + EEPROM + SENSORLESS_PROBING" "$3"
5353

buildroot/tests/rambo

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CO
9494
SDSUPPORT PCA9632 SOUND_MENU_ITEM GCODE_REPEAT_MARKERS \
9595
AUTO_BED_LEVELING_LINEAR PROBE_MANUALLY LCD_BED_LEVELING \
9696
LIN_ADVANCE ADVANCE_K_EXTRA \
97-
INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT I2CBUS M100_FREE_MEMORY_WATCHER \
97+
INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT EXPERIMENTAL_I2CBUS M100_FREE_MEMORY_WATCHER \
9898
NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE \
9999
ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES \
100100
PRINTCOUNTER SERVICE_NAME_1 SERVICE_INTERVAL_1 M114_DETAIL

buildroot/tests/teensy31

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ opt_enable EEPROM_SETTINGS FILAMENT_WIDTH_SENSOR CALIBRATION_GCODE BAUD_RATE_GCO
3131
BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET PRINTCOUNTER SLOW_PWM_HEATERS PIDTEMPBED \
3232
INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \
3333
NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PARK_HEAD_ON_PAUSE \
34-
ARC_SUPPORT BEZIER_CURVE_SUPPORT I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES \
34+
ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES \
3535
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
3636
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
3737
exec_test $1 $2 "Teensy3.1 with many features" "$3"

buildroot/tests/teensy35

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT SDCARD_SORT_A
2626
FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
2727
BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \
2828
PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \
29-
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
29+
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
3030
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
3131
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
3232
exec_test $1 $2 "Teensy3.5 with many features" "$3"

buildroot/tests/teensy41

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ opt_enable MAX31865_SENSOR_OHMS_0 MAX31865_CALIBRATION_OHMS_0 \
2626
FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
2727
BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET \
2828
PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT \
29-
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
29+
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
3030
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
3131
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
3232
opt_add EXTUI_EXAMPLE

ini/features.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ HAS_FILAMENT_SENSOR = src_filter=+<src/feature/runout.cpp> +<
151151
MK2_MULTIPLEXER = src_filter=+<src/feature/snmm.cpp>
152152
HAS_CUTTER = src_filter=+<src/feature/spindle_laser.cpp> +<src/gcode/control/M3-M5.cpp>
153153
HAS_DRIVER_SAFE_POWER_PROTECT = src_filter=+<src/feature/stepper_driver_safety.cpp>
154-
I2CBUS = src_filter=+<src/feature/twibus.cpp> +<src/gcode/feature/i2c>
154+
EXPERIMENTAL_I2CBUS = src_filter=+<src/feature/twibus.cpp> +<src/gcode/feature/i2c>
155155
G26_MESH_VALIDATION = src_filter=+<src/gcode/bedlevel/G26.cpp>
156156
ASSISTED_TRAMMING = src_filter=+<src/feature/tramming.cpp> +<src/gcode/bedlevel/G35.cpp>
157157
HAS_MESH = src_filter=+<src/gcode/bedlevel/G42.cpp>

0 commit comments

Comments
 (0)