Library bauen

Grüß Gott,
ich möchte gerne einen MS5541 Sensor von http://www.intersema.ch mit dem Arduino auslesen. Es gibt schon einige Libraries für andere Sensoren dieses Herstellers, aber ich krieg sie nicht angepasst. Auf obiger Seite kann man Dokument AN502 runterladen, das eine Software library für Sensoren des Typs MS55xx enthält. OK, immerhin.
Jetzt steh ich aber da und muss mir eine library basteln und das Beispiel mit dem Morsecode hilft mir nicht weiter, weil für den Sensor einiges mehr zu tun ist. Verstehe ich das richtig, dass ich aus dem Dokument ein *.h-file zusammenstelle, das lediglich die Namen der Variablen und Befehle enthält, und ein *.cpp-file, in dem dann steht, welche Einzelschritte die Befehle enthalten? Als konkretes Beispiel:
Im Dokument steht:

/* ===================================================================== /
/
reset /
/
===================================================================== */
void reset(void)
{
SerialSendLsbFirst(0x55, 8);
SerialSendLsbFirst(0x55, 8);
SerialSendLsbFirst(0x00, 5);
}

In mein *.h-file schreibe ich

void reset(void)

und in das *.cpp-file:

void MS5541::reset(void)
{
SerialSendLsbFirst(0x55, 8);
SerialSendLsbFirst(0x55, 8);
SerialSendLsbFirst(0x00, 5);
}

Und im Arduino-Sketch sieht's dann so aus:

ms5541.reset();

Stimmt das so? Ich bin leider Programmieranfänger und dankbar für jede Hilfe.
Ich hab übrigens probiert, den Sensor über SPI anzusprechen, aber da passt irgendwas nicht und die Werte, die ich bekomme, liegen jenseits des zu Erwartenden. Daher würde ich es mal mit direkter Kommunikation probieren wollen, zumal ich genug IOPins frei haben werde.
Vielen Dank im voraus, schönen Gruß vom Steiß der Welt

Bevor ich eine library baue, würde ich ja erstmal versuchen, das Modul direkt anzusprechen - das ist doch im Datenblatt recht gut dokumentiert.

markbee

Hallo,

da ich mich auch grad i die Libraries-Welt reinkämpfe, kann ich Dir nur empfehlen, erst das Ganze in einem normalen Sketch zum Laufen zu bringen und erst dann, die Funktionen Stück für Stück in einer Library umzusetzen.
Studier auf jeden Fall bestehende Libraries von ähnlichen ICs.
Die kannst Du dann auf die Grundstruktur reduzieren und Deine Funktionen hinzu fügen.

Als Starthilfe lies mal folgendes:

http://www.arduino.cc/playground/Code/Library

Gruß Reinhard

PS.:ich glaub, das "void" in der Klammer kannst Du Dir sparen.
";" nicht vergessen :wink:

Hi,
danke für die schnellen Antworten. Da bin ich ja mal gespannt, ob ich da was hinkriege in einem Sketch. Das Problem an den libraries, die ich habe ist, dass da jede Menge C oder C++ oder so drinsteht, was ich nicht ganz deuten kann. Aber ok, das wird schon noch werden...
Ciao
Sebastian

Einfach hier fragen, wenn du etwas nicht verstehst. Einige können dir das dann beantworten.
Ich habe bis jetzt mehrere Libs geschrieben und bin gut zurecht gekommen.

Hallo,
ich hab es anders hingekriegt, oder sagen wir mal, es sieht ganz gut aus. Ich hab was mit SPI hinbekommen, was nach prinzipiell funktionierender Kommunikation aussieht (hier: http://arduino.cc/forum/index.php/topic,67188.0.html). Der Druckwert steigt aber komischerweise an. Ich werd hier nicht mehr weiter posten - außer, jemand hat ne zündende Idee, wie das Druck-Problem zu beheben ist. Dankeschön!