Strana 70 z 73
Poznámky redaktora
3 4095.0 st) 273."
"Gyro X.Gyro Z.0);
float resistance (SERIES_RESISTOR (3.Gyro Y.println("Chyba tvorby logu!");
}
}
.open("/");
File root.write(0x37); Wire.Pitch (deg)."
"Ax (m/s2).3 voltage)) voltage;
float log(resistance NOMINAL_RESISTANCE) /
BETA_COEFFICIENT;
st 1.Az (m/s2).15);
return (1.csv") n.csv"
if (n.70
// ---------- CSV hlavička ----------
const char *CSV_HEADER =
"Time (ms).replace('.close();
}
void createNewLogFile() {
do fileIndex++; sprintf(curFile, "/datalog_%03u.length()
== 15) {
uint16_t idx n.name(); "/datalog_123.csv", fileIndex); }
while (SD.0 (NOMINAL_TEMPERATURE 273.Accel Z.', ','); return s;
}
void bmiAutoCalibrate() {
Wire.exists(curFile));
File SD.write(0x7E); Wire.close();
Serial.Roll (deg).Power (W).open(curFile, FILE_WRITE);
if (f) f.println("Nový log: String(curFile));
} else {
Serial.Accel Y.println("BMI160 auto-kalibrace dokončena");
}
// ---------- utilities ----------
void findLastIndex() {
fileIndex 0;
File root SD.substring(9, 12).Energy (Wh).openNextFile();
while (f) {
String f.endTransmission();
delay(1000);
Serial.Temp_Motor.15;
}
String floatToStringComma(float value, uint8_t decimals) {
char buf[24]; dtostrf(value, decimals, buf);
String s(buf); s.Accel X.close();
f root.Current (A).Temp_Ambient";
// ---------- pomocné funkce ----------
float getTemperature(int pin) {
float voltage analogRead(pin) (3.Voltage (V).toInt();
if (idx fileIndex) fileIndex idx;
}
f.endsWith(".startsWith("/datalog_") n.openNextFile();
}
root.Ay (m/s2).beginTransmission(0x68);
Wire."
"Temp_Battery.println(CSV_HEADER); f