Die C-Library hat ihren Ort auf dem Linuxsystem, welches den Host für die Skalen-Elektronik und -Software bildet. Sie besteht aus kompilierten und in einem Archiv zusammenfassten C-Funktionen, sowie aus einer Header-Datei, welche die Funktionsprototypen für den Zugriff auf die Bibliotheksfunktionen durch Anwender-Programme enthält.

 

Funktionen der Library:


i2c_to_rc5(command);

mit command (0 - 63).

 

Es wird dem IR-Sender, realisiert mit einem Arduino, über die  I2C-Adresse 0x20 das Kommandobyte übergeben. Dieses wird im RC5 - Code als Infrarot-Signal zur Drehwaage übertragen und steuert diese dann in Abhängigkeit vom Wert des Kommandos. Die folgenden Funktionen sind weitgehend selbsterklärend.

 

laserON(void);

laserOFF(void);

 

fieldmass_left_pos(void);

fieldmass_right_pos(void);

fieldmass_middle_pos(void);

 

spot1on(void);

spot1off(void);

spot2on(void);

spot2off(void);

 

adc_group_select(char n);

read_single_ads7828(arrayposition);

read_all_ads7828(void);

 

adc_groupselect(char n) ist notwendig, um auf die beiden ADC-Gruppen a 4 AD-Wandler zuzugreifen, da der Adressraum der ADS7828 für den I2C-Bus herstellerbedingt auf 4 Adressen beschränkt ist. n kann dann 0 oder 1 sein.

read_single_ads7828(arrayposition) liest den Wert ADC-Kanal eines Fotosensors wobei 'arrayposition' sich aus dem Skalenwert (-31 bis +32) plus 31 ergibt. Die Werte werden in einem Array mit 64 Elementen vorgehalten.

read_all_ads() liest alle ADC-Kanäle und schreibt diese in ein Array mit 64 Elementen.

Bibliotheken (auch 'Libraries' oder 'libs') sind kompilierte Programmodule, welche mittels der Direktive

#include<...>

in ein Anwenderprogramm eingebunden werden müssen. Im vorliegenden Fall dient die Bibliothek als Schnittstelle zu Applikationen, welche die Drehwaage für die Bedienung im Web verfügbar macht. 

Eine ausführliche Erläuterung zur Programmierung findet man in: Wolf,J., Linux-UNIX Programmierung, Bonn 2009