Die CodeLite IDE - RevPi in C

Rund um die Software von Revolution Pi
Post Reply
Broxe
Posts: 10
Joined: 11 Jun 2019, 10:59

Die CodeLite IDE - RevPi in C

Post by Broxe »

Moin Leute,
für alle, die den RevPi in C programmieren wollen, stelle ich hier mal meine Herangehensweise vor, insbesondere die IDE.
Da ein Revolution Pi sich sehr ähnlich wie ein Raspberry Pi verhält, kann man vieles von dem übernehmen, womit im Bereich RasPi gearbeitet wird.

Für den Raspberry Pi steht eine ganz Reihe an Compilern, etc. zur Verfügung. Wer das Budget hat, sollte sich auf jeden Fall VisualGDB ansehen, eine Erweiterung für Microsoft Visual Studio. Für alle, die die umfangreiche Funktionalität von VisualGDB nicht benötigen oder etwas knapper bei Kasse sind, gibt's genug Alternativen. Nach etwas Rumprobieren gefiel mir persönlich die IDE CodeLite am besten, sie ist übersichtlich und recht intuitiv in der Bedienung. Als Compiler nutzte ich den der GNU toolchain für den Raspberry Pi.

Und so geht's:
  1. Die GNU Toolchain hier herunter laden und installieren. Dabei darauf achten, dass sie in einem Pfad ohne Leerzeichen installiert wird.
  2. CodeLite hier herunter laden und installieren.
  3. CodeLite starten und dem Wizard folgen. Auf Scan klicken, wenn er nach Compilern fragt. Nach Beenden des Wizards startet CodeLite neu.
  4. CodeLite öffnen und einen neuen Workspace erstellen: Workspace -> Create Workspace
  5. In diesem Workspace ien neues Projekt erstellen: File -> New -> New Project
    Bei dem Projekt als Template "Simple executable (gcc)" auswählen, der Compiler wird dann automatisch auf "Cross GCC (arm-linux-gnueaihf)" eingestellt. Wenn GCC nicht auftaucht, könnte diese Seite hilfreich sein.
Damit kann man nun anfangen, sein Projekt in C umzusetzen. Um die einzelnen Variablen der Module anzusprechen habe ich den Code von piTest genommen und entsprechend abgeändert, mein Code dazu ist im Anhang zu finden. Von mir stammen nur modfuns.c und modfuns.h, der Rest ist aus piTest übernommen. Bei der Benutzung ist allerdings Vorsicht geboten: Der Code kann zu Problemen bei Verwendung eines Profinet-Gateways und der LEDs führen! Nähere Infos sind hier zu finden.
Getestet wurde er bisher nur an einem RevPi Core 3 mit DIO-Modul und Profinet-Gateway, dort hat er wunderbar funktioniert, wenn man entweder die LEDs ignoriert oder den Profinet-Gateway nicht benutzt. Der Code lässt sich recht leicht benutzen:
  1. Die Dateien aus dem ZIP-Ordner ins Projektverzeichnis kopieren.
  2. Die.c-Dateien in das Projekt einfügen: Rechtsklick auf src -> Add an Existing File
  3. Die Datei modfuns.h einbinden: #include "modfuns.h"
  4. Eingänge abfragen: mod_readVariableValue("I_1");
  5. Ausgänge setzen: mod_writeVariableValue("O_1",1);
  6. LEDs setzen: SetPiLED('G','R');
Attachments
Dateien Hinzufügen.png
Dateien Hinzufügen.png (57.56 KiB) Viewed 13048 times
piTest abgeändert.zip
(15.9 KiB) Downloaded 860 times
Post Reply