CLAR Programme | C - Linux - Arduino - Raspberry |

picamctl camera Raspberry Pi

CLAR Programme | C - Linux - Arduino - Raspberry |

Objektorientierte modulare Lösungen für C Programme auf der GNU-Linux Console und im XTerminal.

Mit dem Projektbrowser chelp kann auf alle Resourcen des Projekts c/ zugegriffen werden.

  • Einfache Erstellung von C Programmen aus Vorlagen
  • Automatische temporäre Strings und sichere Stringfunktionen
  • Flexibles Array Containerobjekt
  • Einfaches Fehlerobjekt
  • Ausgabefunktionen für Console und X-Terminal
  • Sichere Read-Funktion
  • Dialoge: Menü, Listen, Dateiwahl usw.
  • Funktionen für Systemabfragen
  • Konfigurationsdateien schreiben und updaten
  • ... usw.

Alle Funktionen verwenden GNU-Linux und sind in den Headerdateien dokumentiert. Die Verwendung wird mit ausführlichen Testprogrammen gezeigt. Alle Projektdateien befinden sich in einem einzigen verschiebbaren Ordner c/. Die Funktionen sind in freien statischen Bibliotheken abgelegt.

Zielgruppe: C Programmierer, Einsteiger und Umsteiger. Geeignet für einfache Programme und komplexe C-Projekte mit vielen Modulen und langer Laufzeit.

Verwendung: Zur Entwicklung von Lösungen für komplexe Projekte. Oder als Nach­schla­ge­werk für C Lösungen.

Betriebssystem: GNU Linux. Getestet auf PC und Raspberry B+, Pi 3 B+ und Pi 4 B.

email  v.schardinger@gmx.net

Dokus:
  clar_start.pdf    | Projekt c/ einrichten. Die ersten Schritte
  clar_chelp.pdf    | Projekthilfe und Projektmanager
  clar_projekt.pdf    | Ein neues C Programm erstellen
  clar_objekte1.pdf    | Basisobjekte ohne Terminal In/Ouput
  clar_objekte2.pdf    | Terminalsteuerung Box-Objekte für In/Ouput

Beispiele:
  2_picamctl.pdf   | Beispiel: Camera Steuerung für Raspberry Pi
  mtrainer_doku.pdf   | Beispiel: ALSA/MIDI Steuerung mit Setup
  kbdctl_doku.pdf   | Beispiel: Songverwaltung Yamaha PSR-s975
  clar_raspberry.pdf   | Beispiele Raspberry Pi

Download /c:   c.tar.gz, Version/Upload 2023.05.04    | Keine Installation notwendig! | Start mit 'c/1_read.me'



Projektbrowser: chelp

Hifedateien anzeigen | Dateien und Funktionen suchen | Programme anlegen, editieren, compilieren und starten | Bibliotheken durchsuchen editieren und compilieren.

chelp Stichworte Projektdialog Programm Find Neues Programm

Beispiel: infosys

Systemdaten abfragen und einstellen | Keyboardeinstellungen anzeigen | Raspberry Pi administrieren | ALSA Sound einstellen.

infosys Keyboard Keyboard Test
infosys Pi Pi Firmware Netzwerke

Testprogramme für Funktionen der Projekt c/ Library

2libdemo BoxMenu Lib utils Err-Objekt read

Beispiel: Solarsteuerung sun900

Solarsteuerung Raspberry B+ pcf8583

Autonome Solarsteuerung mit Arduino für Warmwasserkollektoren.

In der Entwicklungsphase, zur Kalibrierung, für Einstellarbeiten und für statistische Auswertungen kann der Raspberry über eine USB-Schnittstelle die Kontrolle übernehmen. Die Bedienung mit ssh kann von einem beliebigen, im Netz erreichbaren Rechner, erfolgen.

Beim Start des Raspberrys wird mit crontab das Programm clock8583 (siehe Projekt c/) gestartet. Das Programm setzt die Systemzeit auf die Zeit des Timeservers oder der Echtzeituhr.

Crontab ruft danach fortlaufend den Befehl screenstart sun900 (siehe Projekt c/) auf. Screenstart sorgt dafür, dass immer genau eine Instanz des Steuerprogramms sun900 läuft.

sun900 stellt automatisch eine USB-Verbindung zum Arduino her. Der richtige Arduino wird dabei über eine Sketch-Id identifiziert. Die Verbindung wird laufend geprüft und nach Unterbrechungen automatisch erneuert.

Projekt c/ stellt im Modul comapi.h Funktionen für eine sichere Kommunikation mit mehreren Arduinos bereit. Es werden Datenblöcke mit Slotnummern verwendet. Damit können auch nicht blockierende Verbindungen realisiert werden. Über den Alarmslot 0 können die Arduinos jederzeit Alarmfunktionen aufrufen.

Für die Fernsteuerung wird mit ssh eine Verbindung zum Raspberry hergestellt. Mit dem Befehl screenstart sun900 kann dann die Steuerung übernommen werden. Sollte man aus Versehen sun900 beenden, so startet crontab das Programm neu.

Das folgende Bild zeigt die Terminalausgabe von sun900. Für andere Endgeräte kann ein Webserver verwendet werden.

Die Grafik zeigt automatisch erstellte Messwerte zur Kalibrierung. Die Grafik wurde mit dem Programm turtle erstellt.

Simulation Meswerte

Raspberry Pi: Anzeigen steuern

7 Segment Anzeige LCD Anzeige

Raspberry Pi: Echtzeituhr steuern und Systemzeit ohne Netzwerk setzen

Befehle Befehle

Raspberry Pi: Servosteuerung mit Hardware PWM

Hardware PWM Hardware PWM Hardware PWM

Günther Schardinger Linux GNU, Programmieren in C, gcc make, makefile, Arduiono. Projekt c/, Raspberry Pi 4 B+, GPIO /dev/gpiocihip0, i2c Bus, BCM Broadcom, 1-Wire, USB manuell mounten, Datenübertragung PC nach Raspberry und Arduiono, Echtzeituhr für Raspberry, C im 21. Jahrhundert, Terminalmultiplexer screen.