import processing.serial.*; class EZIO { Serial serial; EZIO (PApplet parent, String portname) { serial = new Serial(parent,portname,57600); serial.clear(); } int readline(int n) { float t; int data; serial.write('r'); serial.write(byte(n)); t=millis(); while(serial.available()<=0) if (millis() > t+100) break; data = serial.read(); serial.clear(); if (data==0) return 1; else if (data==1) return 0; else return data; } int a2d (int n) { float t; int data; serial.write('A'); serial.write(byte(n)); t=millis(); while(serial.available()<=0) if (millis() > t+100) break; data = serial.read(); serial.clear(); return data; } void writeline (int n,int v) { serial.write('w'); serial.write(byte(n)); serial.write(byte(v)); } void pwm (int n,int v) { // split v into 2 bytes int b1 = v & 0xFF00; int b2 = v & 0x00FF; b1 = b1 >>8; println (b1 + " " + b2); serial.write('p'); serial.write(byte(n)); serial.write(byte(b1)); serial.write(byte(b2)); } }