-
Gesamte Inhalte
3.611 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
61
Alle erstellten Inhalte von borg
-
[Python] LCD eigene Sonderzeichen
Thema antwortete auf borgs jan in: Software, Programmierung und externe Tools
also: lcd.write_line(3, 0, 'T: ' + str(round(temperature,0)) + chr( + 'C') -
Wie ist das denn aufgebaut, kann es sein das du irgendwie mechanisch zwei Bricks oder so zusammen drückst und dadurch einen Kurzschluss machst?
-
I2C-Fehler beim Temp-Bricklet
Thema antwortete auf borgs jan in: Software, Programmierung und externe Tools
Ist nicht persistent, muss bei jedem start gemacht werden (also mit in die Initialisierung packen). -
Massive "reset" Probleme nach Update auf Protokoll 2.0
Thema antwortete auf borgs remotecontrol in: Hardware
Was ein Krampf . Also GainSpan konnte uns da nicht wirklich weiterhelfen. Es gibt undokumentierte Möglichkeiten an den Timeouts rumzustellen, allerdings wurde dadurch die Firmware instabil. Wir hatten ständig disassociation Events. Ich habe jetzt einen 10ms Timer eingebaut der bei eingehenden Nachrichten (neu-)gestartet wird. Eine ausgehende Nachricht stoppt den Timer. Wenn der Timer bei 0 ankommt, wird eine Dummy Nachricht rausgeschickt die das Zurücksenden eines ACKs erzwingt. Dadurch ist aus deinem 5Hz Ruckeln jetzt ein "100Hz Ruckeln" geworden. Rein akustisch klingt ein Servo mit deinem Programm jetzt genauso wie wenn es über USB betrieben wird. Wenn es zwischendurch Ruckler gibt kommen die durch TCP/IP retransmits. Das kannst du sehr schön in Wireshark sehen, immer wenn es ruckelt laufen in Wireshark rote spalten (retransmit oder duplizierte Nachricht) durch. Dagegen können wir natürlich nichts machen, die Daten gehen nunmal über die Luftschnittstelle. Da geht schonmal was verloren und muss neu geschickt werden . Im Anhang ist eine beta der neuen Master Firmware. firmware_master_brick_2.0.6-beta1.bin -
setDefaultText muss bei jedem Start aufgerufen werden (ist nicht persistent).
-
Also prinzipiell müsstest du das GP2Y0A710K0F ans Distance IR Bricklet anschließen können. Allerdings hat es weder die Löcher an den Seiten noch den gleichen Stecker. D.h. du müsstest das irgendwie selbst passend anlöten. Dann musst du dir noch ein eigene "Spannung/Distanz Abbildung" erstellen (oder direkt mit den analogen Werten arbeiten), das ist aber nicht schwierig: http://www.tinkerforge.com/de/doc/Hardware/Bricklets/Distance_IR.html#spannung-distanz-abbildung
-
LCD Cursor in Spalte 0
Thema antwortete auf borgs remotecontrol in: Software, Programmierung und externe Tools
Das ist im LCD fest verdrahtet, das ist keine softwareseitige Zuteilung oder sowas. Diese alphanumerischen LCDs sind aber alle so verdrahtet. Ich vermute das man damit theoretisch jeweils die erste und zweite sowie die dritte und vierte Zeile gleichzeitig schreiben kann (da sie je auf zwei Treiber verteilt sind). Naja die Lösung wäre jeweils den letzten Buchstaben in der Zeile zu überschreiben, wo danach der Cursor dann an der "richtigen" Stelle steht. Also wenn Buchstabe 20 in Zeile 2 geschrieben wird, würden wir danach nochmal Buchstabe 20 in Zeile 1 überschreiben, damit der Cursor danach in Zeile 3 steht. Ich hab es mir auf die TODO Liste geschrieben. Ich befürchte dafür müssten wir uns entweder den geschriebenen Text merken oder wieder auslesen, beides wird im Moment nicht getan und passt vermutlich nicht mehr auf das EEPROM. Da sind beim LCD Plugin nur noch ein paar Byte frei . -
I2C-Fehler beim Temp-Bricklet
Thema antwortete auf borgs jan in: Software, Programmierung und externe Tools
Die neue Firmware ist jetzt online. Es gibt jetzt neue API für setI2CMode und getI2CMode in Firmware Version 2.0.1 . -
Neue Firmware mit "LCD Monoflop" ist jetzt online. Firmware Version 2.0.2 hat jetzt die zusätzlichen funktionen setDefaultText, getDefaultText, setDefaultTextCounter und getDefaultTextCounter. Mit setDefaultText kann der Ausfall-Text gesetzt werden und mit setDefaultTextCounter kann ein Counter gesetzt werden der den default text auf dem LCD anzeigt sobald er abläuft. Du müsstest jetzt also z.B. den Counter alle 5 Minuten auf 10*60*1000 setzen (10 Minuten). Dann stellst du sicher das der Text nicht angezeigt wird solange eine Verbindung da ist, wenn allerdings keine Verbindung mehr da ist wird spätestens nach 10 Minuten der Default Text angezeigt .
-
Firmwares: Servo Brick 2.0.1 Plugins: LCD20x4 Bricklet 2.0.2, Temperature Bricklet 2.0.1 Enable/Disable API für "reached callbacks" hinzugefügt (Servo Brick) Standardtext Funktionalität (LCD20x4 Bricklet) I2C Mode-Switch API (100KHz/400KHz) (Temperature Bricklet) Download Firmware: Servo Brick Download Plugin: LCD20x4 Bricklet, Temperature Bricklet
-
Firmwares: Servo Brick 2.0.1 Plugins: LCD20x4 Bricklet 2.0.2, Temperature Bricklet 2.0.1 Add enable/disable API for reached callbacks (Servo Brick) Add default text functionality (LCD20x4 Bricklet) Add I2C Mode switch API (100KHz/400KHz) (Temperature Bricklet) Download Firmware: Servo Brick Download Plugin: LCD20x4 Bricklet, Temperature Bricklet
-
LCD Cursor in Spalte 0
Thema antwortete auf borgs remotecontrol in: Software, Programmierung und externe Tools
Ja, das ist ein bisschen verwirrend, können wir aber nichts gegen machen. Auf dem LCD sind zwei treiber für je zwei Zeilen. Dabei gehören die Zeilen 0 und 2 sowie 1 und 3 zu je einem Treiber. D.h. er springt von Zeile 2 nach 0 (Treiber 1), von 0 aber nach 3 (von Treiber 1 nach Treiber 2). von 3 springt er nach 1 (Treiber 2) und von 1 wieder zurück nach 2 (von Treiber 2 nach Treiber 1). Das sollten wir Dokumentieren, die Frage ist nur wie man das macht ohne totale Verwirrung zu stiften . -
Wow
-
I2C-Fehler beim Temp-Bricklet
Thema antwortete auf borgs jan in: Software, Programmierung und externe Tools
Die Änderung ist schon im git: https://github.com/Tinkerforge/temperature-bricklet/commit/297302349d14c347b9f85e7f6013227a3d1f255e Ist nur noch nicht veröffentlicht weil die neuen Binding Versionen noch nicht raus sind (gibt ja neue API dafür). Bei den Bindings fügen wir gerade noch Funktionalität hinzu um schneller WIFI disconnects zu erkennen, da fehlen aber nur noch zwei sprachen. Ich denke das ist aber dann am Dienstag soweit. -
Massive "reset" Probleme nach Update auf Protokoll 2.0
Thema antwortete auf borgs remotecontrol in: Hardware
Wir haben noch keine Antwort, die Mühlen mahlen da bei sowas leider langsam . Wir sind noch dran, es gibt zumindest die Möglichkeit das wir händisch eine leere Nachricht rausschicken, wenn nach kurzer Zeit einer Anfrage keine Antwort rausgeht. Also immer wenn eine Nachricht reinkommt wird ein 10ms Timer gestartet. Wenn eine Nachricht rausgeht wird dieser Timer gestoppt (mit der rausgehenden Nachricht wird ja auch ein ACK geschickt). Falls der Timer bei 0 ankommt schicken wir eine Dummy-Nachricht raus, um ein das ACK zu erzwingen. Damit wären dann in deinem Fall die 200ms Wartezeit auf 10ms verringert worden, dafür werden aber "unnötige" Daten geschickt (aber halt auch nur wenn sowieso keine Daten rausgehen). Das IC was wir für die Ethernet Extension verwenden ist sehr low-level verglichen mit dem WIFI Modul. Dadurch gibt es diese Probleme gar nicht (wir haben das sozusagen selbst in der Hand). Da können keine Buffer voll laufen, da dem PC die Größe des Buffers mit der TCP window size mitgeteilt wird, wie es gedacht ist. Das hat natürlich auch nachteile, ich musste z.B. für die Ethernet Extension selbst einen DHCP Client implementieren, das war ganz schön aufwendig. Bei dem WIFI Modul ist die API einfach beschissen. Es ist so, dass mit jedem Byte was wir rausschicken wir auch gleichzeitig eins empfangen. Da kann man nichts gegen machen. Wenn jetzt viele Nachrichten intern generiert werden (z.B. die Reached Callbacks vom Servo) und wir so viele Daten von extern bekommen, das in jeder ms neue Daten zum auslesen da sind, dann brauchen wir die Buffer. In dem Fall ist es nämlich so, das wir z.B. 20 ausgehende Bytes generieren, die eingehenden Paket haben aber nur die Größe 10. Nun können wir aber nur ein Paket gleichzeitig behandeln, d.h. wir müssen 10 Byte Buffern damit wir das 20 Byte Paket überhaupt rausschicken können. Wenn der Buffer voll läuft müssen wir anfangen die ausgehenden Pakete wegzuwerfen. Total bekloppt . Aber das hat nichts mit dem delayed ACK zu tun, wodurch du im Moment diese 5hz siehst. -
I think we will add a watchdog feature for the next Master Brick Firmware release. We currently have not agreed internally if the watchdog should be on or off by default, we will have to discuss that again tomorrow.
-
Each Brick runs the code for his Bricklets. A Brick can be in SPI Master Mode (The bottom Master Brick) and in SPI Slave Mode. The SPI Master builds a routing table of UID<->Stack height/RS485 address/Chibi address. On the basis of this routing table the SPI Master can route messages to the correct Brick. This is the part of the firmware that changed in Protocol V2. In V1 the routing table was create once on startup, that worked fine with USB but had problems with RS485/WIFI. Now the routing table is created dynamically, if the Master doesn't know a UID the packet is just broadcasted. This can mean that the system is a little bit slower for the first few seconds, but that is well worth the other advantages.
-
Das ist leider nicht ganz so einfach. Wenn es nur eine "Kaufzusage" ist, ohne das wirklich Geld fließt, ist die Chance zu hoch das ein Großteil der "Käufer" dann am Ende doch abspringen. Bei der Kaufzusage Geld nehmen und erstmal behalten und das Geld wieder zurück überweisen falls eine gewisse Anzahl nicht erreicht wird ist in Deutschland nicht so einfach legal zu machen. Was vermutlich auch der Grund ist warum es Kickstarter noch nicht für Deutschland gibt. Vorbestellungen mit einem festen Termin für Produkte die bereits in Produktion sind oder einen festen Produktionstermin haben, haben wir ja schon ein paar mal gemacht und machen wir auch grundsätzlich für ausverkaufte Produkte .
-
Massive "reset" Probleme nach Update auf Protokoll 2.0
Thema antwortete auf borgs remotecontrol in: Hardware
Die Ethernet Extension wird absolut stabil sein. Dort wird es keinerlei Verbindungsprobleme geben, versprochen . Wir testen da jetzt schon seit Monaten dran rum um das sicherzustellen. Das hier angesprochene delayed ACK "Problem" gibt es bei der Ethernet Extension auch nicht, dort kann man delayed ACKs nämlich ausstellen . -
Kickstarter Projekte erstellen können nur Amis und Briten:
-
You did add a 4m long antenna (the LCD20x4 Bricklet). It is possible that the long cable increased the inductive load problems. But you could easily try that out by disconnecting the long cable (at the stack, not at the LCD). Do the problems disappear then? Edit: A watchdog could indeed have helped in your scenario.
-
Is there any way to change Timeout duration?
Thema antwortete auf borgs JavaLaurence in: General Discussion
There is: http://www.tinkerforge.com/en/doc/Software/IPConnection_Java.html#IPConnection::setTimeout__i -
Kompilieren in Eclipse
Thema antwortete auf borgs davidkoch in: Software, Programmierung und externe Tools
Schwer zu sagen, ich kenne mich mit SEGGER JLINK nicht aus. Hast du schonmal am Command Set und Protocol Version rumgespielt? -
Dann kann ich ja mal gleich die nächste Frage stellen. Wir haben uns unter anderem einen neuen Controller für den Laser Cutter gekauft, da dieser schneiden und gravieren gleichzeitig kann. Würdet ihr die Wetterstation lieber komplett "blank" haben von außen oder etwas draufgraviert? Innen hatten wir vor die einzelnen Löcher mit einer Beschriftung zu versehen.
-
TimeoutExceptions and stack configuration and/or loading?
Thema antwortete auf borgs JavaLaurence in: General Discussion
1hz should not be enough to overload anything, what do you mean with aggressively polling?