From d2a14219fa5a2503a634c9b194f39c07fd442e05 Mon Sep 17 00:00:00 2001 From: Fisch Date: Tue, 3 Dec 2024 21:09:07 +0100 Subject: [PATCH] use mqtt data to draw dots --- .../mqtt_flipdot_simulator.pde | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/mqtt_flipdot_simulator/mqtt_flipdot_simulator.pde b/mqtt_flipdot_simulator/mqtt_flipdot_simulator.pde index 0e18380..455ad46 100644 --- a/mqtt_flipdot_simulator/mqtt_flipdot_simulator.pde +++ b/mqtt_flipdot_simulator/mqtt_flipdot_simulator.pde @@ -11,26 +11,42 @@ static float pixelborderweight=1; color colorWhite=color(240,255,150); color colorBlack=color(50,50,50); +color colorBG=color(127,127,127); String lastDataReceived=""; +int lastDataReceivedTime=0; PGraphics pg; +PFont smallfont; +// The font must be located in the sketch's +// "data" directory to load successfully + + void setup() { size(1300,300); + smooth(0); pg = createGraphics(int(displaywidth*pixeldistance+pixelborderweight/2),int(displayheight*pixeldistance+pixelborderweight/2)); - background(127); + background(colorBG); + + //printArray(PFont.list()); + smallfont = createFont("Monospaced.plain", 12); + + + client = new MQTTClient(this); client.connect("mqtt://192.168.1.6", "processing-flipdot"); } void draw() { + fill(colorBG); + rect(0,0,width,height); pg.beginDraw(); pg.clear(); for (int y=0;yx*displayheight+y){ + return lastDataReceived.charAt(x*displayheight+y)=='1'; + }else{ + return false; + } } void clientConnected() { @@ -58,6 +89,7 @@ void messageReceived(String topic, byte[] payload) { //println("new message: " + topic + " - " + new String(payload)); println("new message: " + topic + " len= " + (new String(payload)).length()); lastDataReceived=new String(payload); + lastDataReceivedTime=millis(); } void connectionLost() {