// download SafeString V4.1.5+ library from the Arduino Library manager or from // https://www.forward.com.au/pfod/ArduinoProgramming/SafeString/index.html #include "SafeString.h" void setup() { Serial.begin(115200); //for debug for (int i = 10; i > 0; i--) { delay(500); Serial.print(i); Serial.print(' '); } Serial.println("ESP32 started"); SafeString::setOutput(Serial); // enable error msgs char c[7]; double d = 17.22; cSFA(sfC, c); // wrap the char[] in a SafeString for processin sfC = d; // default 2 dec. Serial.print(F("d=")); Serial.println(c); // OR for more control use SafeString.print( ) sfC = ""; //clear it sfC.print(d, 1); // one dec Serial.print(F("d=")); Serial.println(c); sfC = ""; sfC.print(d, 5, 7); // 5decs padded to width 7, width too large for char[ ] Serial.print(F("d=")); Serial.println(c); sfC = ""; sfC.print(d, 5, 5); // 5decs padded to width 5, dec reduced to fit in requested width Serial.print(F("d=")); Serial.println(c); } void loop() { if (SafeString::errorDetected()) { Serial.print(F("Error in a SafeString operation")); } }