Paso 4: preparando el código para la comunicación de adb
el bosquejo inicial de la adb fue el ejemplo de la biblioteca de romfont . allí el código necesario algunos cambios para que con éxito podemos portarlo a otros programas.Aquí está el código cambiante y los lugares donde el nuevo código debe ser agregado
para el procesamiento de descomprimir el código y leer bien
el código final del programa anterior es-(sólo el archivo principal, biblioteca no tiene ningún cambio)
importación java.io.IOException;
Import android.util.Log;
servidor privado;
privada int sensorValue;
HScrollbar hs1, hs2, hs3;
void setup()
{
Crear servidor TCP
tamaño (800, 480);
Orientation(landscape);
noStroke();
int x1 = altura/4;
HS1 = nuevo HScrollbar (0, x 1 + 30, 220 de ancho, 16, 16);
HS2 = nuevo HScrollbar (0, 2 * x 1 + 30, 220 de ancho, 16, 16);
HS3 = nuevo HScrollbar (0, 3 * x 1 + 30, 220 de ancho, 16, 16);
servidor = null;
tratar de
{
servidor = new Server(4567);
Server.Start();
}
catch (IOException e)
{
println(e.ToString());
}
this.server.addListener (nuevo AbstractServerListener()
{
público void onReceive (cliente cliente, byte [] datos)
{
Si (data.length < 3) volver;
sensorValue = (datos [0] & 0xff) | () datos [1] & 0xff) | ((datos [2] & 0xff) << 8); Ver el cambio
};
}
);
}
void draw()
{
Background(255);
Fill(63,232,34);
texto ("RGB Color Selector Arduino", 5, 80);
Float img1Pos = hs1.getPos();
Float img2Pos = hs2.getPos();
Float img3Pos = hs3.getPos();
Float r = mapa (img1Pos, 0, ancho-200,0,255);
flotador g = mapa (img2Pos, 0, ancho-200,0,255);
Float b = mapa (img3Pos, 0, ancho-200,0,255);
int rr, gg, bb;
RR=int(r);
GG=int(g);
BB=int(b);
HS1.Update();
HS2.Update();
HS3.Update();
HS3.display();
HS1.display();
HS2.display();
Fill(RR,GG,BB);
strokeWeight(2);
Smooth();
elipse (700, 250, 190, 190);
Stroke(0);
tratar de
{
Server.Send (nuevo byte [] {(byte) (rr),(byte) (gg), (byte) ((bb))}); Ver el cambio
}
catch (IOException e)
{
println ("microbridgeproblem enviar mensaje TCP");
}
}
clase de HScrollbar
{
int swidth, sheight;
flotador xpos, ypos;
OPPS de flotador, newspos;
flotador sposMin, sposMax;
int flojo;
sobre booleanos;
Boolean bloqueado;
relación de flotante;
HScrollbar (xp del flotador, flotador yp, sw de int, int, int l)
{
swidth = sw;
sheight = sh;
int widthtoheight = sw - sh;
cociente = (float) sw / (float) widthtoheight;
XPOS = xp;
YPOS = yp-sheight/2;
OPPS = xpos + swidth/2-sheight/2;
newspos = OPPS;
sposMin = xpos;
sposMax = xpos + swidth - sheight;
suelta = l;
}
void update()
{
{if(overEvent())}
más = true;
} else {}
más = false;
}
Si (mousePressed & & más) {}
bloqueado = true;
}
{if(!mousePressed)}
bloqueado = false;
}
{if(LOCKED)}
newspos = restringir (mouseX-sheight/2, sposMin, sposMax);
}
Si (abs (newspos - OPPS) > 1) {}
OPPS = OPPS + (newspos-OPPS) / sueltas;
}
}
restringir el flotador (flotador val, minv del flotador, flotador maxv)
{
volver min (max (val, minv) maxv);
}
overEvent() Boolean
{
Si (ratonX > xpos & & mouseX < xpos + swidth & & mouseY > ypos & & mouseY < ypos + sheight)
{
verdaderas;
}
otra cosa
{
devuelven el valor false;
}
}
void display()
{
noStroke();
Fill(204);
Rect (xpos, ypos, swidth, sheight);
if(over || Locked)
{
relleno (0, 0, 0);
}
otra cosa
{
relleno (102, 102, 102);
}
Rect (OPPS, ypos, sheight, sheight);
}
flotador getPos()
{
volver OPPS * relación;
}