i2c Probleme in 4.2.3

Hier habt Ihr die Möglichkeit direkt mit dem fischertechnik Team in Kontakt zu treten
Here you have the Possibility to get in direct contact with the fischertechnik-Team

Moderator: fischertechnik Mitarbeiter

Forumsregeln
Bitte beachte die Forumsregeln!

In dieser Unterkategorie können nur fischertechnik-Mitarbeiter und Moderatoren antworten!
Antworten
hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

i2c Probleme in 4.2.3

Beitrag von hamlet » 31 Dez 2015, 14:24

Hallo ft-Team,
Ich möchte nochmal folgendes i2c-Problem in Erinnerung rufen: Fehler im RoboPro I2C-Schreib-Element
Ich hatte erhofft, dass dieses Problem mit der Überarbeitung der i2c-Funktionen für die 4.2.3 Firmware gelöst wird. Auf dem TX ist allerdings der i2c-Schreiben-Befehl im Modus "16bit LSB zuerst" auch mit RoboPro 4.2.3 fehlerhaft. Auf dem TXT tritt das Problem nicht auf.

Zudem wurde mit der RoboPro 4.2.3 folgende TXT-spezifische Einschränkung auch für den TX eingeführt:
aus ReleaseNotes.txt
- ROBOPro/TXT: Support for I2C with TXT (download and online)
Attention: cause of restrictions of the Linux drivers, there are restrictions on how "Keep Open" can be used with I2C.
Keep Open may be used for a number of writes followed by a number of reads in a direct program line without branches.
All other uses of Keep Open result in an error.
Dies hat zur Folge, dass eine ganze Reihe von Treibern und Applikationen, z.B. alle RoboPro Programme für die Pixy CMU 5 Kamera, mit der 4.2.3 Version nicht mehr funktionieren. Diese Applikationen lesen kontinuierlich Daten im "Keep Open"-Mode und analysieren diese gleichzeitig. Das ist mit obiger Einschränkung nicht mehr möglich. Man muss nun für alle Lese-Operationen die "Keep Open"-Funktion deaktivieren, was die bislang schon geringe Übertragungsrate von maximal fünf 16bit-Worten pro Millisekunde beim TX weiter reduziert.
Auch der Versuch obige Einschränkung durch Einführung eines i2c-Lese-Puffers, der auf einem eigenen Thread mit einer Sequenz von "Keep Open"-Lesebefehlen gefüllt wird, zu umgehen, gestaltet sich schwierig. Es sind nämlich nicht nur Verzweigungen zwischen den Lesebefehlen verboten, sondern auch jeglicher Befehl, z.B. zum Inkrementieren der Lese-Puffer-Position, zwischen den "Keep Open"-Lese-Befehlen führt zum Fehler. Die Lese-Befehle müssen direkt aufeinander folgen.

Es wäre klasse, wenn diese Einschränkung des i2c-Moduls mit der nächsten RoboPro-Version behoben werden könnte, zumindest für den TX-Controller.
Beste Grüße,
Helmut

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: i2c Probleme in 4.2.3

Beitrag von Dirk Fox » 03 Jan 2016, 01:32

Liebe RoboPro-Entwickler,

den beiden Bitten von Helmut (Fehler beim i²C-Schreiben LSB first fixen und "Keep Open" auf TX weiterhin durchgehend zulassen) kann ich mich nur anschließen. Wegen des Fehlers in den 4er Versionen von RoboPro habe ich lange auf die Installation verzichtet und auf die I²C-Implementierung gewartet. Nach der Installation musste ich feststellen, dass es nicht besser, sondern schlimmer geworden ist: nun kann ich einige meiner zahlreichen I²C-Sensoren nicht mehr nutzen.

Es gibt (neben der Pixy-Kamera) zahlreiche weitere Sensoren wie z.B. den RFID-Leser PN532, die eine Unterbrechnung des Lesens erfordern - und in einigen Fällen (wie beim PN532) nach einem Stop sogar die nachfolgenden Pakete verwerfen.

Der TX (genauer: meine fünf TX-Controller) wurden damit durch das Update entwertet - und eigentlich hatte ich mir neue Möglichkeiten mit dem TXT (auch davon besitze ich inzwischen drei) erhofft, und keine "Unbrauchbarmachung" vieler meiner zahlreichen I²C-Sensoren und -Treiber, die ich nun an keinem der acht Controller mehr einsetzen kann (es sei denn, ich kaufe mir einen weiteren Computer, auf dem ich eine (ver)alte(te) RoboPro-Version vorhalte, um die Sensoren wenigstens an den TXen nutzen zu können).

Mit bestem Gruß,
Dirk Fox

chehr
Beiträge: 193
Registriert: 07 Apr 2015, 21:07
Wohnort: Friedrichshafen

Re: i2c Probleme in 4.2.3

Beitrag von chehr » 07 Jan 2016, 18:42

Liebe RoboPro-Entwickler,
es wäre sehr hilfreich wenn es eine genaue elektrische Beschreibung des TXT I2C Interfaces geben würde:
Wie z.B.
(Supply) Voltage and current, Min; Typ; Max und absolute maximum ratings

Auch eine Beschreibung mit Skizze wie man 5V, bzw 3.3V Sensoren anschließen sollte.

Die Schnittstelle kann die funktionalität des TXT enorm erweitern. Hilfreich wäre auch eine kompakte und anwenderfreundliche fischertechnik Lösung der Versorgungspannung für diese Sensoren für mobile Roboter.

Gruß
Christian

Markus Burkhardt
Beiträge: 171
Registriert: 12 Jan 2016, 09:13

Re: i2c Probleme in 4.2.3

Beitrag von Markus Burkhardt » 19 Jan 2016, 18:04

Hallo zusammen,

wie ihr wahrscheinlich schon bemerkt habt, ist I²C gerade ein sehr heißes Thema bei fischertechnik. Auch wenn wir das sehr gerne machen würden, können wir da leider keine Lösung aus dem Hut zaubern. Sprich: wir sind sehr dankbar für eure Anmerkungen und lassen diese auch in den Entwicklungsprozess mit einfließen, jedoch muss ich euch leider auf das neue Update vertrösten. Folgende Punkte habe ich mir notiert:
  • elektrische Beschreibung des TXT I2C Interfaces anbieten
  • i²C-Schreiben "LSB first" beim TX fixen
  • "keep open"-Leseoperationen durchgängig zulassen
Viele Grüße
Markus

Rei Vilo
Beiträge: 94
Registriert: 19 Dez 2015, 15:39

Re: i2c Probleme in 4.2.3

Beitrag von Rei Vilo » 20 Jan 2016, 11:14

Hello Markus:

I don't know where and how the pin 9 as power source has originated. I've posted warnings against using pin 9 as power source (here, there, and there again) and also shared the schematics of the circuit I'm using for testing the I²C port.

I think an official statement from fischertechnik would be welcomed, recommending against such tinkering and clearly stating this would void the warranty.

Kind regards,

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: i2c Probleme in 4.2.3

Beitrag von Dirk Fox » 20 Jan 2016, 11:36

Hallo Markus,

willkommen im Forum! Und vielen Dank für Deine Antwort.

Es ist gut zu wissen, dass Ihr jetzt den TX-I²C-Bug und das "Keep-Open"-Feature beim TX auf der Bug-Liste habt - das erste Posting von Helmut (vom Februar 2015) ist offenbar irgendwo verlorengegangen...

Die Geduld, auf das nächste Update zu warten, haben wir natürlich - uns ist klar, dass Ihr noch eine Reihe anderer Baustellen habt.
Wenn wir beim Thema I²C unterstützen können (Treiber für weitere I²C-Devices, Step-Down-Wandler, Level Shifter etc.), lasst es uns wissen - hier gibt es einige, die sich schon seit ein paar Jahren intensiv mit dem Thema beschäftigen.

Beste Grüße und danke für Deine konstruktiven Beiträge,
Dirk

Markus Burkhardt
Beiträge: 171
Registriert: 12 Jan 2016, 09:13

Re: i2c Probleme in 4.2.3

Beitrag von Markus Burkhardt » 20 Jan 2016, 14:44

Hallo Dirk,

vielen Dank für die Begrüßung (ich bin echt begeistert von dem netten Empfang, den ich jetzt schon von vielen im Forum bekommen habe). Ich habe auch schon gemerkt, dass viele im Forum sehr tief in der Materie drinstecken und ich konnte schon sehr viele wertvolle Informationen durch meine Forumsbesuche gewinnen. Ich komme sicherlich auf dein Angebot zurück.

Viele Grüße
Markus

Rei Vilo
Beiträge: 94
Registriert: 19 Dez 2015, 15:39

Re: i2c Probleme in 4.2.3

Beitrag von Rei Vilo » 20 Jan 2016, 16:36

Schematics of the circuit I'm using for the I²C tests.

Bild

Find more details at How to Connect an I²C Device to the Robotics TXT?

Markus Burkhardt
Beiträge: 171
Registriert: 12 Jan 2016, 09:13

Re: i2c Probleme in 4.2.3

Beitrag von Markus Burkhardt » 25 Jan 2016, 13:09

Hallo zusammen,

die Webseite von Rei Vilo kann ich auch wärmstens empfehlen.

Viele Grüße
Markus

Antworten