2018-05-06 16:14:11 +00:00
|
|
|
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;
|
2018-07-10 21:18:48 +00:00
|
|
|
int maxspawnmass=10000;
|
2018-05-06 16:14:11 +00:00
|
|
|
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);
|
|
|
|
|
2019-04-07 14:07:55 +00:00
|
|
|
cp5.addButton("load_heightmap")
|
|
|
|
.setPosition(10, 80+60+5+15)
|
|
|
|
.setSize(100, 10);
|
|
|
|
cp5.addButton("save_heightmap")
|
|
|
|
.setPosition(10, 80+60+5+15*2)
|
|
|
|
.setSize(100, 10);
|
|
|
|
|
2020-12-13 11:59:38 +00:00
|
|
|
cp5.addButton("printHeightmap")
|
|
|
|
.setPosition(10, 80+60+5+15*3)
|
|
|
|
.setSize(100, 10);
|
|
|
|
|
|
|
|
|
2018-05-06 16:14:11 +00:00
|
|
|
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")
|
2018-05-06 19:41:33 +00:00
|
|
|
.setRange(0,numpixels-1)
|
2018-07-10 21:18:48 +00:00
|
|
|
.setValue(590)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setPosition(220,80)
|
2018-05-06 19:41:33 +00:00
|
|
|
.setSize(300,10);
|
2018-05-06 16:14:11 +00:00
|
|
|
|
|
|
|
slSpawnLength = cp5.addSlider("spawnlength")
|
|
|
|
.setRange(0,maxspawnlength)
|
2018-05-16 18:48:55 +00:00
|
|
|
.setValue(30)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setPosition(220,80+15*1)
|
|
|
|
.setSize(maxspawnlength,10);
|
|
|
|
|
|
|
|
slSpawnStartvel = cp5.addSlider("spawnstartvel")
|
2018-06-10 17:23:11 +00:00
|
|
|
.setRange(-maxspawnstartvel,maxspawnstartvel)
|
2018-07-10 21:18:48 +00:00
|
|
|
.setValue(-20)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setPosition(220,80+15*2)
|
2018-06-10 17:23:11 +00:00
|
|
|
.setSize(maxspawnstartvel*2,10);
|
2018-05-06 16:14:11 +00:00
|
|
|
|
|
|
|
slSpawnStartacc = cp5.addSlider("spawnstartacc")
|
|
|
|
.setRange(0,maxspawnstartacc)
|
|
|
|
.setValue(0)
|
|
|
|
.setPosition(220,80+15*3)
|
|
|
|
.setSize(maxspawnstartacc,10);
|
|
|
|
|
|
|
|
slSpawnMass = cp5.addSlider("spawnmass")
|
|
|
|
.setRange(1,maxspawnmass)
|
2018-07-10 21:18:48 +00:00
|
|
|
.setValue(1000)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setPosition(220,80+15*4)
|
2018-07-10 21:18:48 +00:00
|
|
|
.setSize(maxspawnmass/100-1,10);
|
2018-05-06 16:14:11 +00:00
|
|
|
|
|
|
|
slSpawnColor = cp5.addSlider("spawncolor")
|
|
|
|
.setRange(0,maxspawncolor)
|
2018-05-16 18:48:55 +00:00
|
|
|
.setValue(150)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setPosition(220,80+15*5)
|
|
|
|
.setSize(maxspawncolor,10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cp5.addButton("Debug")
|
2020-12-13 11:59:38 +00:00
|
|
|
.setPosition(10, 205)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setSize(100, 30);
|
|
|
|
|
|
|
|
cp5.addButton("Run")
|
2020-12-13 11:59:38 +00:00
|
|
|
.setPosition(10, 205+40)
|
2018-05-06 16:14:11 +00:00
|
|
|
.setSize(100, 30);
|
2018-07-10 22:08:14 +00:00
|
|
|
|
|
|
|
|
2020-12-13 11:59:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-10 22:08:14 +00:00
|
|
|
cp5.addButton("FX_Scanner")
|
|
|
|
.setPosition(200, 200)
|
|
|
|
.setSize(100, 20);
|
2018-07-15 15:26:07 +00:00
|
|
|
cp5.addButton("FX_Flash")
|
2020-12-13 11:59:38 +00:00
|
|
|
.setPosition(200, 200+20*1)
|
|
|
|
.setSize(100, 20);
|
|
|
|
|
|
|
|
cp5.addButton("FX_Stars")
|
|
|
|
.setPosition(200, 200+20*2)
|
2018-07-15 15:26:07 +00:00
|
|
|
.setSize(100, 20);
|
2019-04-07 14:07:55 +00:00
|
|
|
|
|
|
|
|
2018-05-06 16:14:11 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2019-04-07 14:07:55 +00:00
|
|
|
void load_heightmap(){
|
|
|
|
String writeserial="load\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
|
|
|
void save_heightmap(){
|
|
|
|
String writeserial="save\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
2020-12-13 11:59:38 +00:00
|
|
|
void printHeightmap() {
|
|
|
|
String writeserial="print\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
2019-04-07 14:07:55 +00:00
|
|
|
|
|
|
|
|
2018-05-06 16:14:11 +00:00
|
|
|
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);
|
|
|
|
}
|
2018-05-06 19:41:33 +00:00
|
|
|
|
|
|
|
void SpawnRandom() {
|
|
|
|
//String writeserial="spawn\n"; //random
|
|
|
|
String writeserial="spawn\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
|
|
|
|
2018-07-10 22:08:14 +00:00
|
|
|
|
|
|
|
void FX_Scanner() {
|
|
|
|
String writeserial="fx_scanner\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
2018-07-15 15:26:07 +00:00
|
|
|
void FX_Flash() {
|
|
|
|
String writeserial="fx_flash\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
2020-12-13 11:59:38 +00:00
|
|
|
void FX_Stars() {
|
|
|
|
String writeserial="fx_stars\n";
|
|
|
|
myPort.write(writeserial);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-10 22:08:14 +00:00
|
|
|
|
2018-05-06 16:14:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-12-13 11:59:38 +00:00
|
|
|
}
|