Projekt /c  |  C - Linux - Arduino - Raspberry


picamctl camera

| Projekt /c | C - Linux - Arduino - Raspberry | Home |

Projekt /c bietet objektorientierte modulare Lösungen für C Programme auf der GNU-Linux Console und im XTerminal.

  • 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.

Projektbrowser chelp bietet eine gut eingerichtete Werkstatt zum Entwickeln von einfachen oder komplexen C-Programmen.
Die gesamte Werkstatt befindet sich in einem beliebigen Ordner unter c/.

Tools aus chelp können den ganzen Entwicklungsprozess begleiten:
Werkstatt anlegen | IDE geany einstellen | Informationssuche intern und extern | Stichwortverzeichnis |
Dokus zu Bibliotheken und Programmen | Versionskontrolle | Programmgerüste anlegen |
Programme compilieren | Startlinks | Projektlinks | Makefiles anlegen | Fehlersuche | UTF-8 Codes anzeigen | 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.


Dokus:
  clar_vorwort.pdf    | Geschichte von Projekt c/
  clar_start.pdf    | Projekt c/ einrichten. Die ersten Schritte
  clar_chelp.pdf    | Projektbrowser einrichten
  clar_projekt.pdf    | Ein neues C Programm erstellen
  clar_objekte1.pdf    | Basisobjekte ohne Terminal In/Ouput
  clar_objekte2.pdf    | Objekte In/Ouput | Farben und Tasten
  clar_objekte3.pdf    | Datenspeicherung | Scripte

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

Projekt /c Download:
  c.tar.gz    | Version 2025.04.11 | Anleitung
  shasum.txt   | Püfsumme | Keine Installation notwendig!

Email:   v.schardinger@gmx.net

Copyright:    Copyright Günther Schardinger, GNU General Public License    

Projektbrowser: clar_chelp.pdf

chelp

Stichwortliste

Stichworte

Projekte bearbeiten, compilieren, linken

Programm

Bibliotheksfunktionen suchen

Find

Neues Programmgerüst anlegen

Neues Programm

Beispiel: infosys

Systemdaten abfragen und einstellen

infosys

Systeminfos für Programmierer: Compiler | sizeof() | Datum/Zeit | usw.

Pointer

Infos für Programmierer: Pointer im Speicher

Pointer

Fortsetzung: Verschiedene Pointer anlegen und freigeben

Pointer

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

Günther Schardinger Linux GNU, Programmieren in C lernen, gcc make, makefile, Arduiono. Projekt c/, chelp, Scripte, Raspberry Pi, GPIO /dev/gpiocihip0, i2c Bus, BCM Broadcom, 1-Wire, USB manuell mounten, Echtzeituhr für Raspberry, Gartensteuerung, Wildcamerea C im 21. Jahrhundert, Terminalmultiplexer screen. Workshop C, Wildkamera, C für dummies, C mit geany