45 size_t remaining =
sizeof(buf_) - bufLen_;
48 int numCharsWritten = snprintf(buf_ + bufLen_, remaining,
"%lu,%u,%.6f\n",
49 static_cast<long unsigned int>(dataPoint.
timestamp_ms), name,
static_cast<double>(dataPoint.
data));
52 if (numCharsWritten <= 0 || (
size_t)numCharsWritten >= remaining) {
54 if (file_.write(buf_, bufLen_) != bufLen_) {
62 remaining =
sizeof(buf_);
63 numCharsWritten = snprintf(buf_, remaining,
"%lu,%u,%.6f\n",
static_cast<long unsigned int>(dataPoint.
timestamp_ms), name,
static_cast<double>(dataPoint.
data));
64 if (numCharsWritten <= 0 || (
size_t)numCharsWritten >= remaining) {
69 const auto numCharsWritten_u16 =
static_cast<uint16_t
>(numCharsWritten);
70 bufLen_ =
static_cast<uint16_t
>(bufLen_ + numCharsWritten_u16);
73 const auto now =
static_cast<uint32_t
>(millis());
74 bool const bufFull = (bufLen_ >= kBufSize_bytes);
75 bool const manyLines = (linesPending_ >= kFlushLines);
76 bool const timeUp = (now - lastFlushMs_ >= kFlushMs);
78 if (bufFull || manyLines || timeUp) {
79 if (file_.write(buf_, bufLen_) != bufLen_) {