I still think you are “barking up the wrong tree” here.rulixa wrote: Mon Jul 11, 2022 5:47 pm So results are:Independent of 100k or 400k fpr I2C the execution time stais at 4,4 ms, per transfer of the new data to si5351
...
Do you have some way to check that the I2C clock frequency actually changed according to what you tried to set it to?
You previously showed Wire.setClock() right at the beginning of your setup() routine, so presumably you are doing that before calling si5351.init(...) ? Try putting the Wire.setClock() after the si5351.init(...) .
Or else try inserting the Wire.setClock() after the Wire.begin() in the init routine in s15351.cpp:
Code: Select all
...
bool Si5351::init(uint8_t xtal_load_c, uint32_t xo_freq, int32_t corr)
{
// Start I2C comms
Wire.begin();
Wire.setClock(xxxxxx); // <<< try different frequencies here
// Check for a device on the bus, bail out if it is not there
Wire.beginTransmission(i2c_bus_addr);
...