Fehlermeldung bei Open Robert Lab

#1

Hallo,

ich erhalte unten dargestellte Fehlermeldung bei Open Roberta Lab. Leider kann ich die erwähnten Fehlermeldungen nirgendwo sehen. Könnt Ihr mir bitte einen Tipp geben?!

Ich hänge auch mal den Code meines Programmes hier an. Vielleicht sieht ja einer von Euch, wo der Fehler ist.

Vielen Dank schon mal!

VG Holger

P. S. Ich hoffe, die Formatierung des Codes läßt ein Lesen zu

Fehlermeldung g

#define _GNU_SOURCE

#include “MicroBit.h”
#include “NEPODefs.h”
#include “FourDigitDisplay.h”
#include
#include
#include <stdlib.h>
MicroBit _uBit;FourDigitDisplay fdd(MICROBIT_PIN_P2, MICROBIT_PIN_P8);

double mittele(double neuerWert);

double xMittelwert();

double yMittelwert();

double richtung;
double stelle;
double stelleAlt;
std::list xListe;
std::list yListe;
double xMittel;
double yMittel;
double listenPosition;
double kompassKurs;
double anzahlMittelungen;

int main()
{
_uBit.init();
richtung = 0;
stelle = 0;
stelleAlt = 0;
xListe = {0, 0, 0, 0, 0};
yListe = {0, 0, 0, 0, 0};
xMittel = 0;
yMittel = 0;
listenPosition = 0;
kompassKurs = 0;
anzahlMittelungen = 5;

_uBit.accelerometer.updateSample();
while ( true ) {
    richtung = mittele(_uBit.compass.heading());
    stelle = 3 - floor(log10(richtung));
    if ( stelle > stelleAlt ) {
        fdd.clear();
    }
    fdd.show(richtung, stelle, false);
    stelleAlt = stelle;
    _uBit.sleep(_ITERATION_SLEEP_TIMEOUT);
}
release_fiber();

}

double mittele(double neuerWert) {
_setListElementByIndex(xListe, listenPosition, cos(PI / 180.0 * (neuerWert)));;
_setListElementByIndex(yListe, listenPosition, sin(PI / 180.0 * (neuerWert)));;
listenPosition = listenPosition + 1;
if ( listenPosition > ( anzahlMittelungen - 1 ) ) {
listenPosition = 0;
}
xMittel = xMittelwert();
yMittel = yMittelwert();
kompassKurs = 90 - 180.0 / PI * asin(yMittel);
if ( xMittel < 0 ) {
kompassKurs = 360 - kompassKurs;
}
return kompassKurs;
}

double xMittelwert() {
xMittel = 0;
for (int i = 0; i < anzahlMittelungen; i += 1) {
xMittel = xMittel + _getListElementByIndex(, i);
_uBit.sleep(_ITERATION_SLEEP_TIMEOUT);
}
return xMittel / ((float) anzahlMittelungen);
}

double yMittelwert() {
yMittel = 0;
for (int j = 0; j < anzahlMittelungen; j += 1) {
yMittel = yMittel + _getListElementByIndex(, j);
_uBit.sleep(_ITERATION_SLEEP_TIMEOUT);
}
return yMittel / ((float) anzahlMittelungen);
}

0 Likes

#2

Hab den Fehler gefunden!

1 Like