This test was performed on the CPi-C with the I2C bus configured for 1MHz, but only for a few minutes. Only communication with DO modules was tested. For this test, the HEAD module with FET buffer/level-shifter was used.
In this configuration, with DO modules mounted directly next to the HEAD module, communication worked fine without any errors.
In this configuration, modules mounted too far from the HEAD modules, communication failed for ALL DO modules.
황차장님 tested with the CFMEGA module at 500kHz and also noticed errors. He was able to reduce the errors by adding a delay between I2C queries. However, if we need to add a delay between queries, there is no reason to communicate at 1MHz, or even 400kHz, and we should just configure for 100kHz.
Linux, being a multi-tasking operating system, can communicate on multiple I2C channels simultaneously.
Using the configuration in the photograph below, the following is observed:
For this test, the HEAD module with FET buffer/level-shifter was used. Both I2C channels were configured for 1MHz.