[kein Bug] XBee API - EDip Problem

Hallo,

ich habe die neue XBee API mit einem EDip240 getestet, und bin auf folgendes Problem gestoßen. Sende ich folgendes Testscript an das Display, werden einzelne Zeilen des Scriptes teilweise nicht gesendet. Ich bekomme so nur bei ca. jedem 10. Scriptdurchlauf eine vollständige Ausgabe aller Zeilen auf dem Display. Ohne API lief die Ausgabe ohne Probleme. Das Display läuft mit einer Schnittstellengeschwindigkeit von 115000 Baud.


$port = 57631;
$CLS1 = "#RL,0,0,240,128";
XBee_SendBuffer ($port,"$CLS1".chr(10).chr(13));
XBee_SendBuffer($port,"#ZL,0,80,------------>".chr(10).chr(13));
XBee_SendBuffer($port,"#ZL,0,0,Hallo Welt!".chr(10).chr(13));
XBee_SendBuffer($port,"#ZL,0,40,XBee on IPS :-)".chr(10).chr(13));

Hat jemand diese Konstellation schon getestet?

Grüße, Keule

Hallo Keule,

werfe bitte noch einmal einen Blick in den Befehlsreferenz des eDIP :wink:
Es liegt weder am XBee noch an IPS.
Beispiel Binär-Moduls:


XBee_SendBuffer($port, chr(27)."DL");
XBee_SendBuffer($port, chr(27)."ZL".chr(20).chr(30).GetValueString("CurrentTime").chr(0));

Ein Fehler von Dir: Zeichenkettenende chr(0) ODER chr(10) ODER chr(13)

MST

Hallo Michael,

ich habe den Code geändert, das Problem bleibt aber. :frowning:
Die Befehle scheinen laut Debug auch das ComPort Modul zu durchlaufen, werden von XBee aber nicht gesendet.

Grüße, Keule

werden von XBee aber nicht gesendet

… woher weisst Du das?

Darauf gekommen bin ich, da unser „Babyfon“ (mit Video 2,4 GHz) immer durch die XBee’s gestört wird. Ich hatte ein Testscript laufen, was 2 Befehle im Sekundenabstand sendet. Im Normalfall sind hier dann 2 Störungen im Babyfon zu hören, hier gibt es jedoch über das XBee Modul „Aussetzer“ bei den Störungen.

Ich habe das ganze noch einmal mit folgenden Test überprüft.

  1. EDip in Terminalmode versetzt (EDip gibt jetzt alle empfangenen Zeichen wieder)
  2. Die 3 Zeichenketten „Test1“, „Test2“ und „Test3“ werden im Sekundenabstand gesendet

Ergebnis -> Es werden be jedem Scriptdurchlauf andere Zeichenketten ausgegeben, z.B. nur „Test3“ oder „Test1“ und „Test3“ …usw.

Ich habe hierfür keine Erklärung mehr. :confused:

IPS mit dem XBee Modul läuft auf einem VIA Epia 600 MHz.

Grüße, Keule

PS: Der Rückweg EDip -> IPS klappt ohne Aussetzer.

:confused:
… und was passiert bei 9600 Baud?

MST

Hab ich kurz mit meinem „Babyfonanalysator“ getestet. Mit 9600 Baud werden scheinbar alle Befehle gesendet. Einen ausführlichen Test mit dem EDip, mache ich in einer Woche, nach meinem Urlaub.

Grüße, Keule

Hallo Michael,

ich habe die XBee/EDip Kombination mit 9600 Baud getestet, und es funktioniert.
Hast du eine Erklärung, warum es bei höheren Datenraten Probleme gibt? :frowning:

Grüße, Keule.

Hallo Michael,

gibt es hier schon Neuigkeiten? Ich würde mein Display gern wieder mit höheren Datenraten als 9600 Baud betreiben. :o

Grüße, Keule

Das eDip kann nicht mehr als 9600 Baud vertragen. Siehe Protokoll vom eDip. (Und ich vermute, dass du nicht das SmartProtocol nutzt, welches 19200 erlauben würde)

Deswegen funktioniert auch die höhere Übertragung beim xBee nicht, bzw eigentlich funktioniert sie, nur das eDip kann es nicht verarbeiten, was sich in deinen Beschriebenen Fehlern äußert.

paresy

@paresy
Ich bin auf das Problem gestossen, weil ich seit ca. einem Jahr das EDip am XPort mit 115 KBaud am laufen habe (Smartprotokoll ist deaktiviert). Meine Versuche mit dem XBee ohne das IPS XBee Modul verliefen auch mit 115 KBaud ohne Probleme. Das EDip braucht bei diesen Datenraten halt ein paar Sleeps im Code um es nicht zu „überfahren“.

@Forum
Mit welchen Datenraten betreibt ihr eure EDip’s?

Grüße, Keule

Hi,

ich nutze 9600Baud mit XBEE und 115000Baud mit dem Testboard.

Alles was mit XBEE über 9600 hinausgeht gibt es Aussetzer bei mir.

D.h, die Daten kommen nicht mehr einwandfrei an.