// Example by Tom Igoe import controlP5.*;//Display library ControlP5 cp5tl; Textlabel tl1,tl2;//for Display import processing.serial.*;//USB Serial library PrintWriter output;//Filing library int lf = 10; // Linefeed in ASCII int cr=13; //Carriage Return in ASCII String myString1 = null;//1st Recieved data as string String myString2 = null;//2nd Recieved data as string String myString3 = null;//3rd Recieved data as string String [] splt_arry1=new String[100]; String [] splt_arry2=new String[100]; String [] splt_arry3=new String[100]; Serial myPort1; // 1st serial port Serial myPort2; //2nd serial port Serial myPort3; //2nd serial port int i,j; int elapsedTime; int startTime; int endTime; int endFlag=0; String [] V1=new String[1100];//1stArray declaration Buffer memory recived 600K data String [] V2=new String[1100];//2nd Array declaration Buffer memory recived 600K data String [] V3=new String[1100];//3rd Array declaration Buffer memory recived 600K data int dummy; float stx,sty,stx_1,sty_1; void setup() { frameRate(2000); //===================Display setup=================== size(1000,500); background(255); PFont font; font=createFont("Times New Roman",30); textFont(font); cp5tl=new ControlP5(this); tl1=cp5tl.addTextlabel("lable1"); tl1.setText(" Data Sampling ==>Push 'q ' save CSV&Stop"); tl1.setFont(font); //======================================================= // ********************Serial setup=********************** //List all the available serial ports printArray(Serial.list()); // Open the port you are using at the rate you want: myPort1 = new Serial(this, Serial.list()[0], 115200); myPort1.clear(); myPort2 = new Serial(this, Serial.list()[1], 115200); myPort2.clear(); myPort3 = new Serial(this, Serial.list()[2], 115200); myPort3.clear(); // Throw out the first reading, in case we started reading // in the middle of a string from the sender. myString1 = myPort1.readStringUntil(lf); myString1 = null; myString2 = myPort2.readStringUntil(lf); myString2 = null; myString3 = myPort3.readStringUntil(lf); myString3 = null; //********************************************************** //------------------Save FIle setup-------------------------------------------------------------- String filename = nf(year(),4) + nf(month(),2) + nf(day(),2) + nf(hour(),2) + nf(minute(),2) ; // 新しいファイルを生成 output = createWriter( filename + ".csv"); i=0; j=0; //----------------------------------------------------------------------------------------------- } void draw() { while (myPort1.available() > 0 && myPort2.available() > 0 && myPort3.available()>0) { //--1ch--------------------------------------- myString1 = myPort1.readStringUntil(cr); //delay(200); myString1 = trim(myString1); if (myString1 != null) { i++; i=i%1000; //print("S1:[",i,"]",myString1); V1[i]=myString1; print("V1[",i,"]",V1[i]); // timGraph(i,V1,2); } //---2ch------------------------------------------- myString2 = myPort2.readStringUntil(lf); //delay(200); myString2 = trim(myString2); if (myString2 != null) { j++; j=j%1000; //print("S2[:",j,"]",myString2); V2[j]=myString2; println("V2[",j,"]",V2[j]); //timGraph(j,V2,3); } //---3ch------------------------------------------- myString3 = myPort3.readStringUntil(lf); //delay(200); myString3 = trim(myString3); if (myString3 != null) { j++; j=j%1000; //print("S2[:",j,"]",myString2); V3[j]=myString3; println("V3[",j,"]",V3[j]); //timGraph(j,V2,3); } } } void keyPressed(){ int k; String matome; if( key == 'q' ){ for(k=0;k