The line "while (!Wire.available()) ; // wait" after the Wire.requestFrom() in the file "MD_DS3231/src/MD_DS3231.cpp" may be removed. There is nothing to wait for.
When the Wire.requestFrom() returns, the I2C transaction has completely finished and the received data is waiting in a buffer in the Wire library.
The line "
while (!Wire.available()) ; // wait
" after the Wire.requestFrom() in the file "MD_DS3231/src/MD_DS3231.cpp" may be removed. There is nothing to wait for.When the Wire.requestFrom() returns, the I2C transaction has completely finished and the received data is waiting in a buffer in the Wire library.