RevPi in C programmieren

Rund um die Software von Revolution Pi
Post Reply
User avatar
rk/vvm
Posts: 13
Joined: 16 Apr 2018, 18:07

RevPi in C programmieren

Post by rk/vvm »

Hallo,

auf der Suche nach einer geeigneten IDE bin ich mittlerweile bei CodeLite
direkt auf dem Pi gelandet. Zugriff auf den Pi via VNC.
ggf auch Notepad++ auf dem Arb.pl. und per Filezilla SSH von und zum
Pi übertragen.

Was ich brauche, ist eine IDE, die als Ergebnis eine compilierte
ausführbare Datei liefert.
Und unabhängig davon ist wahrscheinlich eine Lib mit Funktionen für
den Zugriff aufs Prozessabbild und spezielle Fkt des RevPi. Das brauche
ich natürlich auch.

Was ich auf keinen Fall möchte
- Python, dessen bessere Lesbarkeit sich mir nicht erschliesst
Anweisungsblöcke nur über Einrückungen und ohne eindeutige
Klammerung festzulegen, passt eigentlich auch eher zu Monty Python
als sonstwo hin
- Code, der interpretiert werden muss (vs compilierter Code)
- ein Werkzeug, dessen ausführbares Ergebnis erst dann ausführbar
ist, nachdem irgendein Framework oder noch schlimmer ein getarnter
Interpreter installiert wurde (mono, .net, Java VM ...) und als weitere
Installation Ressourcen des Pis verbraucht und diesen "unnötig" überladen.

Meine konkreten Fragen sind nun:
Falls jmd in C entwickelt, welche IDE oder Toolchain verwendet Ihr?
Und eigentlich wichtiger noch, wie kann ich die Fkt des RevPi wie es
z.B. in piTest manuell möglich ist, von meinem Programm aus nutzen?
Ist da schon eine Lib- und Headerdatei auf dem RevPi, die ich einbinden
kann?

Grüsse Rene
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41

Re: RevPi in C programmieren

Post by volker »

Hi,
ich lasse unsere in C programmierenden Kollegen mal kurz ihre Toolchain beschreiben, die von Visual Studio ausgeht und GNU Compiler nutzt.
Die von Dir gewünschten Headerdateine und die Library findest Du dirket auf Deinem Device im Home-Verzeichnis vom user pi, Unterverzeichnis "demo". Näheres dazu findest Du in den Text- und Videotutorials zu Prozessabbild.
Unser RevPi Motto: Don't just claim it - make it!
Timo
Posts: 44
Joined: 25 Jan 2017, 10:08

Re: RevPi in C programmieren

Post by Timo »

So eine ähnliche Frage gab es schon mal: viewtopic.php?f=8&t=436&p=1692&hilit=gn ... ains#p1692
Damals wurde http://gnutoolchains.com/raspberry/ empfohlen.
Habe es so allerdings nicht zum laufen gebracht, und mein kleines C Programm dann zu Fuß mit Nano auf dem Pi und mit Notepad++ auf dem PC entwickelt (richtige Männer brauchen keine IDE *scnr* ^.^) - inklusive handgeklöppeltem Makefile und .sh-Installationsskript. Als Inspiration für die Anbindung an das Prozessabbild habe ich das in C geschriebene Testprogramm von Kunbus genommen.
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: RevPi in C programmieren

Post by dirk »

Hallo zuasmmen,
wir hier benutzen diese Toolchain zusammen mit VisualStudio

http://gnutoolchains.com/
-> raspberry-gcc-4.9.2-r4.exe (738 MB)
https://visualgdb.com/download/

Nachteil
  • Es ist nicht kostenlos aber 30 Tage Test möglich
Vorteil
  • Remote Debugging problemlos möglich
  • Integriert in VisualStudio
Anleitungen
Ich habe diese Toolchain soeben kurz ausprobiert und es funktioniert bestens.

Was hat nicht bei dir funtioniert, Timo?
Timo
Posts: 44
Joined: 25 Jan 2017, 10:08

Re: RevPi in C programmieren

Post by Timo »

dirk wrote: 28 May 2018, 15:05Was hat nicht bei dir funtioniert, Timo?
Das kann ich nach der langen Zeit nicht mehr sagen. :oops:
MarkusH
Posts: 9
Joined: 09 Jun 2018, 20:36

Re: RevPi in C programmieren

Post by MarkusH »

Hi,

der Thread ist zwar schon älter, aber ich möchte gerne meine Erkenntnisse zu dem Thema teilen. Ich arbeite mich auch gerade in den RevPI ein und habe bisher "normale" Pis unter Windows mit Eclipse programmiert. Dazu gibt es folgende interessante Anlaufstellen: Voraussetzung ist natürlich eine Java Runtime. Ich habe alles in 32bit installiert, damit hatte ich keine Probleme.

Damit lässt sich unter Windows eine Umgebung einrichten mit einer doch recht komfortablen IDE. Kostenlos noch dazu. Was mir auch gefällt, ist die Möglichkeit die libs auf dem Remotesystem mit der Entwicklungsumgebung zu synchronisieren. So hat man in der IDE Zugriff darauf. Remote Debugging habe ich nicht getestet, hab mich bisher immer davor gedrückt ( :oops: )!

Jetzt gehts erstmal weitere Versuche zu machen, vor allem das Ansprechen der Ports des DIO. Also mal mit dem demo Teil experimentieren.

Btw: Für was ist eigentlich die piControlIf? Dazu habe ich bisher nichts gefunden in irgendwelchen Dokus, lediglich piControl wird erklärt.

Gruß - Markus
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: RevPi in C programmieren

Post by dirk »

Bitte entschuldige die verspätete Antwort, da habe ich wohl etwas übersehen. "PiControlIf" kommt aus dem "PiTest Demo mit Quelltext". Dieses Codebeispiel kannst du im Downloads Bereich herunterladen. Das Codebeispiel soll anhand eines Interfaces beschreiben, wie du Daten mit dem PiCtonrol Treiber austauschen kannst. Daher der Name PiCtontrolIf, der im Dateinamen der Header Dateien steckt.
MarkusH
Posts: 9
Joined: 09 Jun 2018, 20:36

Re: RevPi in C programmieren

Post by MarkusH »

Danke für deine Antwort und ja klar: kaum erklärt es jemand ist es richtig logisch :mrgreen:
Horst
Posts: 1
Joined: 31 Jan 2019, 12:13

Re: RevPi in C programmieren

Post by Horst »

Hallo Zusammen,

wir haben uns dazu entschieden den RevPi zukünftig als Steuerung einzusetzen.
Wir würden den revPi nun auch gern in C im Visual Studio programmieren. Dazu nutze ich die Toolchain mit Visual GDB gemäß der Anleitungen (Beitrag von Dirk vom 02.10.18). Damit ein Hello-World-Programm in Visual Studio zu erstellen (und zu debuggen) klappt wunderbar. Wir haben nur leider Probleme die revPi Dateien (piControl.h,...) einzubinden und zu compilieren.

Es würde uns extrem helfen wenn vielleicht jemand ein VisualStudio-Projekt als Beispiel zur Verfügung stellen könnte in dem zum Beispiel ein Port des DIO Moduls geschaltet wird. Es würde mich sehr freuen wenn mir da jemand weiterhelfen kann!

Viele Grüße,
Horst
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: RevPi in C programmieren

Post by dirk »

Hi es ist leider momentan kein VisualStudio Projekt vorhanden. Aber vielleicht hilft Dir das Video Tutorial 13 – PiTest Sourcecode. Zu diesem Tutorial gibt es im Download Bereich das Codebeispiel LightSwitch.c .
Post Reply