import controlP5.*; import processing.serial.*; ControlP5 cp5; Serial myPort; // Create object from Serial class int pixelnumber; int last_pixelnumber; int pixelvalue; Slider slPixel; Slider slPixelValue; int numpixels=600; int maxpixelvalue=254; Slider slSpawnPos; int spawnpos; Slider slSpawnLength; int spawnlength; int maxspawnlength=100; Slider slSpawnStartvel; int spawnstartvel; int maxspawnstartvel=100; Slider slSpawnStartacc; int spawnstartacc; int maxspawnstartacc=100; Slider slSpawnMass; int spawnmass; int maxspawnmass=10000; Slider slSpawnColor; int spawncolor; int maxspawncolor=255; void setup() { size(700, 300); frameRate(100); background(0); cp5 = new ControlP5(this); /* slLinks = cp5.addSlider("links") .setRange((float)-1, (float)1) .setValue(0) .setPosition(10,10) .setSize(400,20) ; slRechts = cp5.addSlider("rechts") .setRange((float)-1,(float)1) .setValue(0) .setPosition(10,40) .setSize(400,20); */ slPixel = cp5.addSlider("pixelnumber") .setRange(0,numpixels-1) .setValue(0) .setPosition(10,20) .setSize(numpixels,20); slPixelValue = cp5.addSlider("pixelvalue") .setRange(0,maxpixelvalue) .setValue(0) .setPosition(10,50) .setSize(maxpixelvalue,20); cp5.addButton("Set") .setPosition(10, 80) .setSize(60, 60); cp5.addButton("ClearHeightmap") .setPosition(10, 80+60+5) .setSize(100, 10); cp5.addButton("Remove") .setPosition(100, 80) .setSize(50, 50); cp5.addButton("SpawnRandom") .setPosition(160, 80+55) .setSize(50, 30); cp5.addButton("Spawn") .setPosition(160, 80) .setSize(50, 50); slSpawnPos = cp5.addSlider("spawnpos") .setRange(0,numpixels-1) .setValue(590) .setPosition(220,80) .setSize(300,10); slSpawnLength = cp5.addSlider("spawnlength") .setRange(0,maxspawnlength) .setValue(30) .setPosition(220,80+15*1) .setSize(maxspawnlength,10); slSpawnStartvel = cp5.addSlider("spawnstartvel") .setRange(-maxspawnstartvel,maxspawnstartvel) .setValue(-20) .setPosition(220,80+15*2) .setSize(maxspawnstartvel*2,10); slSpawnStartacc = cp5.addSlider("spawnstartacc") .setRange(0,maxspawnstartacc) .setValue(0) .setPosition(220,80+15*3) .setSize(maxspawnstartacc,10); slSpawnMass = cp5.addSlider("spawnmass") .setRange(1,maxspawnmass) .setValue(1000) .setPosition(220,80+15*4) .setSize(maxspawnmass/100-1,10); slSpawnColor = cp5.addSlider("spawncolor") .setRange(0,maxspawncolor) .setValue(150) .setPosition(220,80+15*5) .setSize(maxspawncolor,10); cp5.addButton("Debug") .setPosition(10, 200) .setSize(100, 30); cp5.addButton("Run") .setPosition(10, 240) .setSize(100, 30); cp5.addButton("FX_Scanner") .setPosition(200, 200) .setSize(100, 20); myPort = new Serial(this, "/dev/ttyUSB0", 115200); } void Set() { String writeserial="setpx="+pixelnumber+","+pixelvalue+"\n"; myPort.write(writeserial); } void ClearHeightmap(){ String writeserial="clear\n"; myPort.write(writeserial); } void Debug() { String writeserial="debug\n"; myPort.write(writeserial); } void Run() { String writeserial="run\n"; myPort.write(writeserial); } void Remove() { String writeserial="remove\n"; myPort.write(writeserial); } void Spawn() { //String writeserial="spawn\n"; //random String writeserial="spawn="+spawnpos+","+spawnlength+","+spawnstartvel+","+spawnstartacc+","+spawnmass+","+spawncolor+"\n"; myPort.write(writeserial); } void SpawnRandom() { //String writeserial="spawn\n"; //random String writeserial="spawn\n"; myPort.write(writeserial); } void FX_Scanner() { String writeserial="fx_scanner\n"; myPort.write(writeserial); } void draw() { if (last_pixelnumber!=pixelnumber){ last_pixelnumber=pixelnumber; String writeserial="px="+pixelnumber+"\n"; myPort.write(writeserial); } String inBuffer = myPort.readString(); if (inBuffer != null) { println(inBuffer); } }