char buff [4096];
char * fpn;
char thisline [24];
float avg = 0.0;
float linef = 0.0;
size_t s = 2891;
uint32_t start;
uint16_t count = 0;
bool begin = true;
uint32_t stamp = 1740787200;
uint16_t line = 1;
uint16_t newline = 2;
/*
while (file.available()) {
start = millis();
//Serial.write(file.read());
//memcpy(buff, &file, s);
//sprintf_P(buff,file);
int b = file.readBytesUntil(EOF, buff, file.size());
buff[b] = '\0';
//Serial.println(b);
}
file.close();
*/
const char CSV_FILE[] = R"rawliteral(
time,temp
1740787200000,20.42
1740787800000,19.07
1740788400000,19.49
1740789000000,20.73
1740789600000,20.58
1740790200000,20.30
1740790800000,21.72
1740791400000,20.44
1740792000000,21.78
1740792600000,19.23
1740793200000,20.09
1740793800000,21.40
1740794400000,19.65
1740795000000,20.92
1740795600000,21.42
1740796200000,19.87
1740796800000,21.03
1740797400000,20.27
1740798000000,21.29
1740798600000,19.40
1740799200000,20.12
1740799800000,19.03
1740800400000,20.69
1740801000000,19.09
1740801600000,21.57
1740802200000,20.60
1740802800000,19.33
1740803400000,19.99
1740804000000,19.78
1740804600000,20.16
1740805200000,21.35
1740805800000,19.97
1740806400000,19.26
1740807000000,21.12
1740807600000,19.67
1740808200000,20.10
1740808800000,19.33
1740809400000,19.79
1740810000000,19.49
1740810600000,21.79
1740811200000,19.21
1740811800000,19.67
1740812400000,21.72
1740813000000,20.93
1740813600000,19.36
1740814200000,20.85
1740814800000,21.45
1740815400000,20.28
1740816000000,19.91
1740816600000,21.94
1740817200000,20.57
1740817800000,20.01
1740818400000,19.53
1740819000000,21.08
1740819600000,21.44
1740820200000,21.68
1740820800000,21.90
1740821400000,19.24
1740822000000,21.96
1740822600000,19.30
1740823200000,20.03
1740823800000,19.22
1740824400000,20.66
1740825000000,21.49
1740825600000,21.24
1740826200000,20.01
1740826800000,21.53
1740827400000,20.77
1740828000000,20.08
1740828600000,21.28
1740829200000,20.33
1740829800000,21.98
1740830400000,20.81
1740831000000,21.35
1740831600000,19.13
1740832200000,20.65
1740832800000,21.14
1740833400000,21.63
1740834000000,19.36
1740834600000,20.25
1740835200000,21.69
1740835800000,19.15
1740836400000,19.94
1740837000000,20.29
1740837600000,19.01
1740838200000,19.17
1740838800000,19.95
1740839400000,20.05
1740840000000,20.04
1740840600000,19.51
1740841200000,20.98
1740841800000,21.88
1740842400000,19.23
1740843000000,19.05
1740843600000,19.82
1740844200000,21.52
1740844800000,21.66
1740845400000,19.16
1740846000000,21.37
1740846600000,19.38
1740847200000,20.44
1740847800000,21.01
1740848400000,21.97
1740849000000,19.71
1740849600000,20.28
1740850200000,20.37
1740850800000,20.58
1740851400000,21.77
1740852000000,21.97
1740852600000,21.94
1740853200000,21.04
1740853800000,21.09
1740854400000,20.31
1740855000000,21.45
1740855600000,19.75
1740856200000,20.35
1740856800000,19.98
1740857400000,20.42
1740858000000,20.99
1740858600000,19.68
1740859200000,21.12
1740859800000,19.60
1740860400000,20.57
1740861000000,21.94
1740861600000,21.08
1740862200000,21.95
1740862800000,20.68
1740863400000,20.13
1740864000000,20.30
1740864600000,20.06
1740865200000,20.62
1740865800000,20.42
1740866400000,21.65
1740867000000,19.82
1740867600000,19.52
1740868200000,19.67
1740868800000,19.21
1740869400000,20.95
1740870000000,20.12
1740870600000,20.71
1740871200000,20.01
1740871800000,21.90
1740872400000,21.31
1740873000000,19.38
)rawliteral";
void processFile(){
char output[4096];
start = millis();
memcpy(buff,CSV_FILE,s);
//Serial.println(buff);
Serial.printf("Done in %lu ms\n", millis() - start);
//Serial.println("Got here...");
fpn = strtok (buff, ",\n");
while (fpn != NULL)
{
if (count > 1 && count % 2 == 1) {
if (begin) {
//printf("0 time,temp\n1 %lu000,%s\n", stamp, fpn);
sprintf(output,"0 time,temp\n1 %lu000,%s\n", stamp, fpn);
begin = false;
}
linef = atof(fpn);
//printf ("%d Got fpn:%s atof = %.2f\n", line, fpn, linef);
avg += linef;
if (line % 6 == 0) {
stamp += 3600;
//printf("Avg. temp %.2f\n", avg / 6);
sprintf(thisline, "%d %lu000,%.2f\n", newline++, stamp, avg / 6);
//printf ("%d %lu000,%.2f\n", newline++, stamp, avg / 6);
strcat(output,thisline);
thisline[0] = 0;
avg = 0.0;
}
line++;
}
count++;
fpn = strtok (NULL, ",\n");
}
Serial.println(output);
output[0] = 0;
buff[0] = 0;
count = 0;
Serial.printf("Done in %lu ms\n", millis() - start);
}
void setup() {
Serial.begin(115200);
Serial.println("Hiya");
processFile();
//writeFile(LittleFS, "/01032025.csv", CSV_FILE);
//listDir(LittleFS, "/", 0);
//readFile(LittleFS, "/01032025.csv");
//readFile(LittleFS, "/01032025.csv");
//readFile(LittleFS, "/01032025.csv");
}
void loop() {
}