MCP2221 Baustein ansprechen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.

Re: MCP2221 Baustein ansprechen

Beitragvon Mathias » 22. Sep 2016, 21:12 Re: MCP2221 Baustein ansprechen

Ach ja und noch was ist mir aufgefallen: Warum hast du den eigentlich an die Grafikkarte angeschlossen?

Ich habe nicht den MCP2221 an der Grafikkarte angeschlossen, sonder ein ADS1115.
Wie schon gesagt, der MCP2221 muss ich erst bestellen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 23. Sep 2016, 05:34 Re: MCP2221 Baustein ansprechen

Person von den ich mein I²C Adapter habe, hat folgendes geschrieben dazu:
USB <-> I²C gibts diverse Lösungen, der FTDI auf dem N900 Adapter
den ich gezeigt hatte, kann z.B. auch I²C. Der große Unterschied
zu I2C-Tiny-USB: Fehlender out-of-the-box Support im Linux-Kernel.
Ich bin zu faul gewesen einen Kernel-Treiber zu schreiben

USB basierte I2C-Master, welche vom Kernel supportet werden:

* https://diolan.com/u2c12 (ausverkauft, 90$)
* https://diolan.com/dln-2 (90$)
* http://nanorivertech.com/viperboard.html (~110$)
* http://www.harbaum.org/till/i2c_tiny_usb/index.shtml (das ist die Lösung von mir)
* http://headfuzz.co.uk/USBtoI2C (ne andere selbstbau variante)
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6672
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 23. Sep 2016, 17:05 Re: MCP2221 Baustein ansprechen

http://www.harbaum.org/till/i2c_tiny_usb/index.shtml (das ist die Lösung von mir)

Gibt es für den auch einen Arduino-Sketch ?
Die Download auf der Seite gehen alle ins leere.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 24. Sep 2016, 08:42 Re: MCP2221 Baustein ansprechen

Ich kann es runterladen.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6672
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 25. Sep 2016, 16:05 Re: MCP2221 Baustein ansprechen

Jetzt geht es bei mir auch, ich hätte nicht gedacht, das der Scetch dazu so komplex ist. :shock:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 25. Sep 2016, 17:51 Re: MCP2221 Baustein ansprechen

Zum Glück liegt, die Firmware ja scheinbar als HEX Datei vor. Was ja ganz Praktisch ist.
Ich habe eben nur "Grob" drüber geschaut.

Bei meinen ersten Test, klappte es ganz gut.
Es gibt aber auch Fertige Platinen für I²C nach USB. Die im Prinzip das gleiche machen, wie der I²CTinyUSB.

Was ich auch noch testen möchte ist, ob ich auch eigene I²C Platinen Einbinden kann oder eben weitere Komponenten. Wenn ich wieder Zuhause bin, werde ich es mal ausprobieren, bei einer Gelegenheit.

Im Prinzip sollte es eigentlich zu keinen Messfehlern kommen, wenn du den I²C von der Grafikkarte nutzt, aber ich frage die Tage noch nach.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6672
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 25. Sep 2016, 18:49 Re: MCP2221 Baustein ansprechen

Ich denke, es wird bei einem Eigenbau einfacher sein, das Ganze mit einem MCP2221 zu bauen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 25. Sep 2016, 19:08 Re: MCP2221 Baustein ansprechen

Ich denke, es wird bei einem Eigenbau einfacher sein, das Ganze mit einem MCP2221 zu bauen.

Das sehe ich auch so. Ich haben das Bauteil zwar nicht direkt angesehen. Aber meine "Quelle" meinte, dass es dafür noch keine direkte Treiber Unterstützung gibt.

Auf der anderen Seite:
Die Paar Bauteile auf der Platine sahen jetzt auch nicht so aufwendig auf. Man könnte es auch einfach auf ein Lochraster löten.
Du brauchst ja keine SMD Bauteile zu verwenden.

Jedenfalls für diesen Baustein, wenn ich es richtig in Erinnerung habe.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6672
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 25. Sep 2016, 19:21 Re: MCP2221 Baustein ansprechen

Die Paar Bauteile auf der Platine sahen jetzt auch nicht so aufwendig auf. Man könnte es auch einfach auf ein Lochraster löten.
Du brauchst ja keine SMD Bauteile zu verwenden.

Das habe ich auch vor, das ist ein grosser Vorteil des MCP2221, das dieser auch als normaler DIP erhältlich ist.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 6. Okt 2016, 22:01 Re: MCP2221 Baustein ansprechen

Kann man mit fpIOCtl noch andere Parameter ausser die Adresse des I²C-Gerätes einstellen ?

Code: Alles auswählen
  fpIOCtl(I2CHandle, I2C_SLAVE, pointer(i2C_Addr));


Das man mit fpIOCtl auch die COM-Ports einstellen kann, das hat Google ausgespuckt.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Socke » 7. Okt 2016, 11:46 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:Kann man mit fpIOCtl noch andere Parameter ausser die Adresse des I²C-Gerätes einstellen ?

Code: Alles auswählen
  fpIOCtl(I2CHandle, I2C_SLAVE, pointer(i2C_Addr));


Das man mit fpIOCtl auch die COM-Ports einstellen kann, das hat Google ausgespuckt.

Der System-Call IOCtl ist sehr generisch. Unter Linux wird verschiedene Hardware über Dateien im Dateisystem angesprochen. Daher hängt es von den hinter den Dateien liegenden Treibern ab, welche Befehle für die jeweilige Datei unterstützt werden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2548
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon Mathias » 7. Okt 2016, 17:13 Re: MCP2221 Baustein ansprechen

Der System-Call IOCtl ist sehr generisch. Unter Linux wird verschiedene Hardware über Dateien im Dateisystem angesprochen. Daher hängt es von den hinter den Dateien liegenden Treibern ab, welche Befehle für die jeweilige Datei unterstützt werden.

Ich könnte mir vorstellen, wen man als device /dev/hda nehmen würde, könnte man damit sogar den Kopf der HD positionieren und somit dann mit fpWrite in den richtigen Sektor schreiben.

fpxxxx sieht mir stark nach Free-Pascal aus, ich denke, es gibt sicher irgendwo eine Tabelle, wo die Kommandos beschrieben sind.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Socke » 7. Okt 2016, 21:40 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:fpxxxx sieht mir stark nach Free-Pascal aus, ich denke, es gibt sicher irgendwo eine Tabelle, wo die Kommandos beschrieben sind.

Die Unit BaseUnix macht die wichtigsten POSIX-Betriebssystemaufrufe (System Call) in jeweils einer Funktion verfügbar. Es wird einfach ein fp vor den Namen des System Calls gesetzt. Die Parameter werden aber direkt an das Betriebssystem weitergeleitet.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2548
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon Mathias » 27. Okt 2016, 17:15 Re: MCP2221 Baustein ansprechen

So nun habe ich den MCP2221 bekommen und angeschlossen.
Immerhin wird er mal unter den USB-Geräten gelistet.

Code: Alles auswählen
Bus 002 Device 006: ID 04d8:00dd Microchip Technology, Inc. 
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 27. Okt 2016, 19:23 Re: MCP2221 Baustein ansprechen

Der Serielle UART-Teil, erscheint sogar ohne externe Treiber als /dev/ttyACMx.

So nun habe ich die Treiber gemäss dieser Anleitung installiert. Somit habe ich eine Device /dev/i2c-3 bekommen, die Device 0-2 sind von der Graka schon verbucht.
Jetzt habe ich für meine Messeinheit vom VGA-I²C getrennt und an den MCP2221 angeschlossen, und es scheint auf Anhieb zu laufen.

Ein grosser Wermuttropfen hat es trotzdem, es misst schätzungsweise etwa über 10x langsamer, als über den VGA.

Wird der USB-Zugriff irgendwo abgebremst, so wie es unter Windows, bei "Systemsteuerung/System/Hardware/Geräte-Manager/Anschlüsse/USB-Serial/Anschlusseinstellungen/Erweitert/Delay" , bei denUSC-COM-Port der Fall ist ?
Dort ist Standard-mässig ein sehr grosses Delay eingestellt.

Oder kann man etwas mit fpIOCtl() machen ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4328
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried