Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Lookahead in Teacup lässt sich nicht kompilieren

geschrieben von Timmschn 
Lookahead in Teacup lässt sich nicht kompilieren
21. May 2013 08:32
Hallo Leute,

heute versuchte ich "lookahead" zu aktivieren, beim Kompilieren erhalte ich nun folgenden Fehler:

dda_lookahead.c: In function 'dda_join_moves':
dda_lookahead.c:215: error: 'for' loop initial declaration used outside C99 mode
dda_lookahead.c:456: error: redefinition of 'sreg_save'
dda_lookahead.c:215: error: previous definition of 'sreg_save' was here
dda_lookahead.c:456: error: redefinition of '__ToDo'
dda_lookahead.c:215: error: previous definition of '__ToDo' was here
dda_lookahead.c:456: error: 'for' loop initial declaration used outside C99 mode

Kann mir jemand helfen, das zu fixen?

MfG
Timm
Re: Lookahead in Teacup lässt sich nicht kompilieren
21. May 2013 19:31
Ich glaube, LOOKAHEAD kompiliert derzeit nur mit einem Kompiler, der C99 will/kann. Die Arduino IDE besteht aber auf C89. Mit dem Makefile sollte es besser klappen.

Eine andere Möglichkeit ist, das ATOMIC_BLOCK() durch einen "handgestrickten" atomic block zu ersetzen. Ein Beispiel dafür gibt's in dda_queue.c, Zeile 65ff, queue_current_movement() und geht so:

  uint8_t save_reg = SREG;
  cli();
  CLI_SEI_BUG_MEMORY_BARRIER();

  ### code, der atomic laufen muss ###

  MEMORY_BARRIER();
  SREG = save_reg;

Wenn das funktioniert, wäre ein passender Patch toll.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen