import processing.serial.*; Serial port; int baudrate = 9600; byte[][] tempBitmap; int currentImage=0; PFont metaBold; boolean first = true; void setup() { size((64*2)*3, 64*5); smooth(); fill(126); metaBold = loadFont("AmericanTypewriter-44.vlw"); textFont(metaBold, 44); frameRate(10); tempBitmap = new byte[8*126][8]; //this is what we play with for (int i=0;i<8*126;i++) for (int ii=0;ii<8;ii++) tempBitmap[i][ii]=0; // List all the available serial ports: println(Serial.list()); try { port = new Serial(this, Serial.list()[0], baudrate); } catch(Exception e) { print(port); } if(port !=null) println(port); int i=0; tempBitmap[i][0] = (byte)unbinary("00000000"); tempBitmap[i][1] = (byte)unbinary("00110110"); tempBitmap[i][2] = (byte)unbinary("01001001"); tempBitmap[i][3] = (byte)unbinary("01000001"); tempBitmap[i][4] = (byte)unbinary("00100010"); tempBitmap[i][5] = (byte)unbinary("00010100"); tempBitmap[i][6] = (byte)unbinary("00001000"); tempBitmap[i][7] = (byte)unbinary("00000000"); i++; tempBitmap[i][0] = (byte)unbinary("00000000"); tempBitmap[i][1] = (byte)unbinary("00110110"); tempBitmap[i][2] = (byte)unbinary("01111111"); tempBitmap[i][3] = (byte)unbinary("01111111"); tempBitmap[i][4] = (byte)unbinary("00111110"); tempBitmap[i][5] = (byte)unbinary("00011100"); tempBitmap[i][6] = (byte)unbinary("00001000"); tempBitmap[i][7] = (byte)unbinary("00000000"); i++; tempBitmap[i][0] = (byte)unbinary("00000000"); tempBitmap[i][1] = (byte)unbinary("00000000"); tempBitmap[i][2] = (byte)unbinary("00000000"); tempBitmap[i][3] = (byte)unbinary("00000000"); tempBitmap[i][4] = (byte)unbinary("00000000"); tempBitmap[i][5] = (byte)unbinary("00000000"); tempBitmap[i][6] = (byte)unbinary("00000000"); tempBitmap[i][7] = (byte)unbinary("00000000"); i++; tempBitmap[i][0] = (byte)unbinary("11111111"); tempBitmap[i][1] = (byte)unbinary("11111111"); tempBitmap[i][2] = (byte)unbinary("11111111"); tempBitmap[i][3] = (byte)unbinary("11111111"); tempBitmap[i][4] = (byte)unbinary("11111111"); tempBitmap[i][5] = (byte)unbinary("11111111"); tempBitmap[i][6] = (byte)unbinary("11111111"); tempBitmap[i][7] = (byte)unbinary("11111111"); i++; tempBitmap[i][0] = (byte)unbinary("00000000"); tempBitmap[i][1] = (byte)unbinary("00000000"); tempBitmap[i][2] = (byte)unbinary("00100100"); tempBitmap[i][3] = (byte)unbinary("00000000"); tempBitmap[i][4] = (byte)unbinary("01000010"); tempBitmap[i][5] = (byte)unbinary("00100100"); tempBitmap[i][6] = (byte)unbinary("00011000"); tempBitmap[i][7] = (byte)unbinary("00000000"); i++; } void serialEvent(int serial) { println("serial!!!"); } byte populateByteOn(byte x, byte value) { return x |= (1 << (7-value)); } byte populateByteOff(byte x, byte value) { return x &= (1 << (7-value)); } void keyPressed() { if (key == '2') { currentImage++; } if (key == '1') { currentImage--; } if(currentImage ==-1) currentImage=0; println(currentImage); if (port!=null) { for (int i=0;i<8;i++) { port.write("3"); port.write((byte)i); port.write( (byte)tempBitmap[currentImage][i]); } } redraw(); } void draw() { background(0); text(" " + binary(tempBitmap[currentImage][0]),5,30); text(" " + binary(tempBitmap[currentImage][1]),5,62); text(" " + binary(tempBitmap[currentImage][2]),5,95); text(" " + binary(tempBitmap[currentImage][3]),5,95+35); text(" " + binary(tempBitmap[currentImage][4]),5,95+(35*2)); text(" " + binary(tempBitmap[currentImage][5]),5,95+(35*3)); text(" " + binary(tempBitmap[currentImage][6]),5,95+(35*4)); text(" " + binary(tempBitmap[currentImage][7]),5,95+(35*5)); fill(0,120,0); } void stop() { port.stop(); println("stopped"); }