188 lines
3.8 KiB
Plaintext
188 lines
3.8 KiB
Plaintext
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=200;
|
|
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,maxpixelvalue)
|
|
.setValue(0)
|
|
.setPosition(220,80)
|
|
.setSize(maxpixelvalue,10);
|
|
|
|
slSpawnLength = cp5.addSlider("spawnlength")
|
|
.setRange(0,maxspawnlength)
|
|
.setValue(5)
|
|
.setPosition(220,80+15*1)
|
|
.setSize(maxspawnlength,10);
|
|
|
|
slSpawnStartvel = cp5.addSlider("spawnstartvel")
|
|
.setRange(0,maxspawnstartvel)
|
|
.setValue(10)
|
|
.setPosition(220,80+15*2)
|
|
.setSize(maxspawnstartvel,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(10)
|
|
.setPosition(220,80+15*4)
|
|
.setSize(maxspawnmass-1,10);
|
|
|
|
slSpawnColor = cp5.addSlider("spawncolor")
|
|
.setRange(0,maxspawncolor)
|
|
.setValue(0)
|
|
.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);
|
|
|
|
|
|
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 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);
|
|
}
|
|
|
|
|
|
} |