LabVIEWForum.de
SPI: API (in C) in LV einbinden?? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: SPI: API (in C) in LV einbinden?? (/Thread-SPI-API-in-C-in-LV-einbinden)



SPI: API (in C) in LV einbinden?? - Beinprothese - 16.01.2014 16:32

Hallo zusammen,
ich habe von einem Sensorhersteller eine API bekommen ( http://www.yeitechnology.com/c-code-examples ), welche ich in LV implementieren möchte um mir die SPI-Programmierung zu sparen.
Ist das überhaupt in LV möglich? Das ganze soll autark auf einem sbRIO9636 oder myRio laufen.
Laut eines Kollegen funktioniert dies nur mit der Windows-Bibliothek.

Danke
Jochen


RE: SPI: API (in C) in LV einbinden?? - jg - 16.01.2014 16:53

Rückfrage:
Wir reden hier ja von 2 RT-Systemen mit unterschiedlichem BS (1x VX-Works, 1x Linux-RT).
An welche physikalische Schnittstelle zum SPI-Bus denkst du?
Mglw. die DIOs der RIOs?
Dann würde sich eine Umsetzung des Protokolls im FPGA anbieten. Hierzu gibt es Beispiele (auch für SPI) auf ni.com.

Gruß, Jens

EDIT: Aus dem C-Code müsstest du DLLs erstellen, 1x für VxWorks (Zielsystem 9636), 1x für Linux (Zielsystem myRIO).


RE: SPI: API (in C) in LV einbinden?? - Beinprothese - 16.01.2014 17:01

Hallo Jens,
danke für die schnelle Antwort.
Welches System ist eigentlich egal, lieber wäre mir auf dem myRio, da physikalisch kleiner.
HardwareSchnittstelle sind die DIO (beim myRio sind bestimmte DIO dazu vordefiniert).

ah ok, wie erstellt man eine .dll (hab keine Ahnung von C)
und wie binde ich die dll dann ein?

direkte SPI programmierung probieren Kollegen, was aber offensichtlich auch nicht so trivial ist Angry

Danke
Jochen


RE: SPI: API (in C) in LV einbinden?? - jg - 17.01.2014 10:31

Auf den ersten Blick verweist dein Link "nur" auf eine API, wie Kommandos und Antworten deiner Gegenstelle zu senden bzw. zu interpretieren sind. Ich weiss nicht, ob da die Umsetzung des SPI Bus enthalten ist. Selbst wenn, das dürfte dir bei NI-RIO Zielsystem wenig helfen. Da du den SPI Bus über die DIOs des RIO umsetzen willst, wird dir nicht viel anderes übrigbleiben, als dieses Busprotokoll im FPGA umzusetzen. Alles andere macht IMHO keinen Sinn.

Beim Erstellen einer DLL kann ich dir auch nicht weiterhelfen.
Da du in diesem Punkt keine Ahnung hast, wird es dich mind. genauso viel Zeit kosten, aus dem C-Sourcecode, der Anpassung desselben an das Zielsystem, dem Installieren der entsprechenden Compiler etc. pp. eine DLL zu erstellen (die du dann aber nur auf einem der geplanten System verwenden kannst..., oder du machst das Ganze doppelt), als wenn du dich in die Dokus zur API einliest und diese selber in LabVIEW programmierst.

Gruß, Jens


RE: SPI: API (in C) in LV einbinden?? - Beinprothese - 17.01.2014 10:42

Danke!
Nachdem die SPI-Implementierung gestern Abend auf dem myRIO relative unproblematisch funktionierte werden wir diesen Weg gehen (kein API). Jetzt müssen wir nurnoch sinnvolle Antworten des Sensors bekommen...

Falls jemand eine solches Projekt mal gemacht hat, bitte melden. (das NI-Bsp. ist bekannt)

Gruß