Hallo,
hab da nen Problem.
Und zwar nutze ich die ArduinoConnector um mit einer Flash Applikation zu kommunizieren.
Hierfür füge ich einem ByteArray 6 integer hinzu und schicke sie über den Socket zum Arduino
override public function send():void
{
var byteArray:ByteArray = new ByteArray();
for (var i:int = 0; i < message.length; i++)
{
byteArray.writeByte(message[i]);
}
socket.writeBytes(byteArray);
timer.start();
}
Nun schaffe ich es nicht diese Werte auf Seiten von Arduino vernünftig auszulesen und je nach Wert die richtige Methode auszuführen.
Hier mein bisheriger code:
void loop()
{
//cmdMessenger.feedinSerialData();
checkForSerialData();
layerManager.Trigger();
delay(10);
}
void checkForSerialData()
{
while(Serial.available() > 0)
{
if(index < max_message_length)
{
inByte = Serial.read(); // Read a Byte
Serial.println(inByte);
inData[index] = inByte; // Store it
index++;
if (index == max_message_length)
{
checkID(inData[0]);
index = 0;
}
}
}
}
in der methode checkID() wird dann geprüft ob die erste empfangene Zahl einer ID entspricht, die wiederum zugehörig zu einer Methode ist. Wenn die IDs übereinstimmen wird diese Methode ausgeführt und verwendet dann die restlichen Zahlen aus inData[].
Leider komme ich nie soweit, da die IDs niemals matchen. Wenn ich inByte ausgeben lasse werden ganz andere Zahlen angezeigt als ich schicke.
Was mache ich hier falsch?
btw inByte und inData sind vom Typ int
Ich hoffe mir kann jemand helfen. Weiß nicht mehr weiter.
Vielen Dank schonmal