From fb961e3da728491e6f6deac1613eb6e391448a6b Mon Sep 17 00:00:00 2001 From: Fisch Date: Sat, 15 May 2021 21:51:01 +0200 Subject: [PATCH] fix csv comments --- .../logdata_visualization.pde | 46 +++++++++++++++++-- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/logdata_visualization/logdata_visualization.pde b/logdata_visualization/logdata_visualization.pde index 9ae3e82..51b722b 100644 --- a/logdata_visualization/logdata_visualization.pde +++ b/logdata_visualization/logdata_visualization.pde @@ -1,9 +1,15 @@ import processing.serial.*; +/* +TODO +- in teensy controller: erst table header screiben, dann anfangen zu loggen (oder erste zeilen comments hier ignorieren) +*/ + int vis_textsize=12; //copy from Visualization class //String logfile_name="LOG00008_rumfahren_neu.TXT"; -String logfile_name="LOG00181_20210329_trefffahren.TXT"; +String logfile_name="LOG00184_20210515b_Video_Treff_FreewheelCurrentFix.TXT"; +int columnCount=20; boolean useSerial=false; //false=read from csv log, true=read from serial port //String serial_port="COM3"; @@ -57,7 +63,7 @@ long nextTimeData=0; //time of nextID row long lastTimeMillis=0; //local time long nextTimeMillis=0; //local time -boolean newdataforced=false; +boolean newdataforced=true; int dataErrorCount=0; @@ -103,6 +109,17 @@ void setup() { serialString = null; }else{ logdata = loadTable(logfile_name, "header, csv"); + for (int i=0; i < logdata.getRowCount();i++) { + if (logdata.getRow(i).getString(0).charAt(0)=='#') { //check if row starts with # (comment) + print("removed row:"); + for (int is=0;is< logdata.getRow(i).getColumnCount(); is++) + { + print(logdata.getRow(i).getString(is)+","); + } + println(); + logdata.removeRow(i); + } + } logdata_start_time=logdata.getRow(0).getFloat("time"); logdata_end_time = logdata.getRow(logdata.getRowCount()-1).getFloat("time"); println("loaded "+logdata.getRowCount()+" lines. Times: "+logdata_start_time+"s to "+logdata_end_time+"s"); @@ -272,7 +289,7 @@ void draw() { }else{ while (newdataforced || loopmillis>=nextTimeData && nextID+1 0)) { //valid row + if ((nextID+1 < logdata.getRowCount()) && (nextID >= 0)) { //valid row TableRow row = logdata.getRow(nextID); lastTimeData=nextTimeData; @@ -387,6 +404,25 @@ void draw() { } +void keyPressed() { + if (key == CODED) { + /*if (keyCode == UP) { + fillVal = 255; + } else if (keyCode == DOWN) { + fillVal = 0; + } + */ + } else { + //println("key="+keyCode); + if (keyCode==82) { //82=r + println("restart"); + timeoffset=millis(); //rest to time 0 + nextID=0; + newdataforced=true; + } + } +} + void mouseClicked() { if (showTimeline) @@ -394,7 +430,7 @@ void mouseClicked() int temp_timeoffset=(int)(tl.checkMouse(mouseX,mouseY)*1000); if (temp_timeoffset!=0) { - if (!(nextID+1 < logdata.getRowCount()) && (nextID >= 0)) { //nextID not valid + if (!(nextID+1 < logdata.getRowCount()) && (nextID >= 0) || nextID<0) { //nextID not valid nextID=0; //rest to good value } @@ -404,7 +440,7 @@ void mouseClicked() nextID++; } print(" over "+nextID); - while ((nextID+1 < logdata.getRowCount()) && (nextID >= 0) && (millis()-temp_timeoffset < (long)(logdata.getRow(nextID+1).getFloat("time")*1000))) { //jumped backward + while ((nextID+1 < logdata.getRowCount()) && (nextID > 0) && (millis()-temp_timeoffset < (long)(logdata.getRow(nextID+1).getFloat("time")*1000))) { //jumped backward nextID--; } println(" to "+nextID);