Hi inka,

1.:
Die 05_04 ist nicht ok, weil multiio_init() [und orientation_init()] VOR dem Befehl I2CTWI_initMaster(100) stehen.
Das geht nicht, weil die init-Funktionen den I2C-Bus brauchen,- also muss der I2C-Bus VOR den inits gestartet werden.
Daher kannst du die 05_04 vergessen.

2.:
Dass du die 05_05 immer noch nicht selbst funktionsfähig kompilieren kannst (obwohl sie ja von mir kompiliert funktioniert!), verstehe ich weiterhin nicht. Was damit die Funktion normalizeLSM303DLHC_M() zu tun hat, weiß ich auch nicht.
Du könntest aber versuchen, es herauszufinden:
Im 1. Schritt kommentiere mal in der Funktion die Zeilen:
x_axism += OFFSET_X_M;
y_axism += OFFSET_Y_M;
z_axism += OFFSET_Z_M;
... aus.
Funktioniert die Demo bei dir neu kompiliert (und Hilfsdateien gelöscht!) damit?
Im 2. Schritt ersetz mal die Zeilen:
xm = (x_axism - MIN_X_M) / (MAX_X_M - MIN_X_M) * 2 - 1;
ym = (y_axism - MIN_Y_M) / (MAX_Y_M - MIN_Y_M) * 2 - 1;
zm = (z_axism - MIN_Z_M) / (MAX_Z_M - MIN_Z_M) * 2 - 1;
... durch:
xm = (double) x_axism;
ym = (double) y_axism;
zm = (double) z_axism;
Funktioniert die Demo bei dir neu kompiliert (und Hilfsdateien gelöscht!) damit?

frage: lassen sich die funktionierenden werte (also ohne den magnetometer) nicht - wie bei der HDMM - auch in gradzahlen und heading umrechnen?
Der HDMM01 ist ja auch ein Magnetometer!?? Für die Himmelsrichtung braucht man das ja auch,- bei der minIMU ist das dann der Magnetometer im LSM303DLHC. Man kommt also nicht ohne den aus, wenn man die Himmelsrichtung braucht. Oder was meinst du?