import processing.serial.*;
Serial port;
float val;
float[] receiveDatas=new float[440];
int arrayLength=440;
int startIndex=0;
int dataLength=0;
void setup()
{
size(440,440);
frameRate(30);
strokeWeight(2);
smooth();
port=new Serial(this,"COM6",115200);
background(0);
}
void draw()
{
background(0);
if(port.available()>0)
{
String inString = port.readStringUntil('\n');
if(!(inString == null))
{
val=int(trim(inString));
receiveDatas[startIndex]=map(val,0,1023,0,height);
startIndex=(startIndex+1)%arrayLength;
dataLength=min(dataLength+1,arrayLength);}
}
stroke(0,255,0);
for(int i=0;i<dataLength-1;i++)
{
line(i,receiveDatas[(startIndex+i)%arrayLength],i+1,receiveDatas[(startIndex+i+1)%arrayLength]); println(receiveDatas[(startIndex+i)%arrayLength]);
}
}