PrintWriter output; import processing.serial.*; Serial myPort; String setting = "999,0,16,1,0"; PFont f; String rinput[]; int[] input = new int[1000]; int[] d = new int[500]; float all; float average; float mid; int run; void setup() { String filename = "data" + " " + month() + "-" + day() + " " + hour() +"-"+ minute() +".csv"; output = createWriter(filename); println(Serial.list()); myPort = new Serial(this, Serial.list()[0], 9600); myPort.bufferUntil('\n'); size(500, 550); background(0); f = createFont("Arial", 16, true); } void draw() { background(0); textFont(f, 16); fill(255); text("setting(n(<1000),skip(ms),gain(0,1,2,4,8 or 16),repeat,interval:",1,20); text(setting, 1, 40); text("last shot: average: middle:",1,60); text(average,140,60); text(mid,310,60); text("("+run+")",470,60); for (int i = 0;i<500;i++){ stroke(255); line(i,549,i,549-d[i]); } } void serialEvent (Serial myPort) { String inString = myPort.readStringUntil('\n'); if (inString != null) { output.print(inString); output.println(month() + "/" + day() +"/" +year() + " "+ hour() + ":" +minute() +":" + second()); output.flush(); String[] rinput =split(inString,','); average = 0; for(int i = 0;i 0) { setting = setting.substring(0, setting.length()-1); } else if (key == ENTER ||key == RETURN) { myPort.write(setting); run = 0; } else { setting += key; } }