REV 2M Distance Sensor and REV Color Sensor V3 Incompatibility Question

This question was found on another forum, and brought here for more explanation.

On the Control and Expansion Hubs, we have multiple I2C buses - each physical I2C port on the Control Hub is its own I2C bus. It’s intended that devices plug into their own bus, and you have one device per bus. The only exception is that the IMU is also on Bus 0.

On non-FTC controllers, there is usually only ONE I2C bus. All devices chain on that one bus, similar to the IMU on Bus 0 on the Control Hub. Each device on the bus is assigned an address, and those addresses must be configured uniquely (no device can have the same address as any other device) - software then talks to each device on the bus by its address. For example if a device plugged into Port/Bus 0 on a Control Hub has the same address as the IMU, you cannot communicate with the IMU until the offending device is removed.

The REV 2m Distance Sensor and the REV Color Sensor are programmed with the same address at the factory, and the address is not configurable or changeable. On Non-FTC controllers (like the FRC Control System) that have only one I2C bus and must uniquely assign addresses, you cannot have more than one of those devices on the bus.

Therefore, that is a warning to non-FTC folks, not for FTC folks. The REV hubs gave us a way to not care about I2C addresses or address conflicts (except with the IMU).