Hallo zusammen,

die Installation (bei mir unter Windows 7) mit den NEUESTEN Programmen hat bei mir tadellos funktioniert. Super finde ich die Kalibierfunktion, die Linien- und Odometriesensoren einstellen soll. Als Nachteil könnte sich das etwas kurze USB-Kabel herausstellen, für mich als Notebookuser ist das allerdings eher vorteilhaft.

Kompilieren und Flashen der im "Tutorial" angegebenen Testprogramme klappt ebenfalls.

Nun wollte ich das letzte Woche vorgestellte Linienverfolgungsprogramm testen um die Kalibrierung zu überprüfen:

Code:
#include <nibobee/iodefs.h> 
#include <nibobee/motpwm.h> 
#include <nibobee/analog.h> 
#include <nibobee/line.h> 
#include <nibobee/led.h> 
#include <nibobee/delay.h> 

#include <avr/io.h> 
#include <avr/interrupt.h> 
#include <util/delay.h> 


int main() { 
  activate_output_group(IO_LEDS);  // LED bits als Output 
  motpwm_init(); 
  motpwm_setLeft(0); 
  motpwm_setRight(0); 
  analog_init(); 
  line_readPersistent(); 
  set_output_group(IO_SENS);       // Pull-ups aktivieren 
  activate_output_bit(IO_LINE_EN); 

  int16_t speed_flt_l=0; 
  int16_t speed_flt_r=0; 

  // Countdown: LEDs blinken lassen 
  for (uint8_t i=0; i<10; ++i) { 
    led_set(LED_L_RD, 1); 
    led_set(LED_R_RD, 1); 
    _delay_ms(10); 
    led_set(LED_L_RD, 0); 
    led_set(LED_R_RD, 0); 
    _delay_ms(990); 
  } 
  led_set(LED_L_YE, 1); 
  led_set(LED_R_YE, 1); 
  _delay_ms(1000); 
  led_set(LED_L_YE, 0); 
  led_set(LED_R_YE, 0); 

  // Hauptschleife: 
  while(1) { 
    sei(); 
    _delay_ms(1); 
    int16_t speed_l=0; 
    int16_t speed_r=0; 

    int16_t lval = line_get(LINE_L); 
    int16_t cval = line_get(LINE_C); 
    int16_t rval = line_get(LINE_R); 

    if (lval+cval+rval < 20) { 
      led_set(LED_L_RD, 0); 
      led_set(LED_R_RD, 0); 
      speed_r=0, speed_l=0; 
    } else if ((lval<cval) && (lval<rval)) { 
      // lval is minimum 
      led_set(LED_L_RD, 1); 
      led_set(LED_R_RD, 0); 
      speed_r=550, speed_l=450-1*(cval-lval); 
    } else if ((rval<cval) && (rval<lval)) { 
      // rval is minimum 
      led_set(LED_L_RD, 0); 
      led_set(LED_R_RD, 1); 
      speed_r=450-1*(cval-rval), speed_l=550; 
    } else { 
      // cval is minimum 
      led_set(LED_L_RD, 1); 
      led_set(LED_R_RD, 1); 
      speed_r=750 + 1*(rval-cval), speed_l=750 + 1*(lval-cval); 
    } 

    speed_flt_l*=3; speed_flt_l+=speed_l; speed_flt_l/=4; 
    speed_flt_r*=3; speed_flt_r+=speed_r; speed_flt_r/=4; 
    
    motpwm_setLeft(speed_flt_l); 
    motpwm_setRight(speed_flt_r); 

  } 
  return 0; 
}
Ich kriege aber leider Fehler:

Code:
Build started 14.11.2009 at 16:39:31
avr-gcc -I"C:\Users\HP\Documents\NibobeeTest\..\..\..\..\Program Files\NIBObeeLib\include"  -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=15000000UL -Os -fsigned-char -D_NIBOBEE_  -MD -MP -MT NibobeeTest.o -MF dep/NibobeeTest.o.d  -c  ../NibobeeTest.c
avr-gcc -mmcu=atmega16  NibobeeTest.o   -L"C:\Program Files\NIBObeeLib\lib"  -lnibobee_base -lnibobee_utils -lnibobee_line  -o NibobeeTest.elf
C:\Program Files\NIBObeeLib\lib\libnibobee_line.a(line.o): In function `line_calibrateBlack':
line.c:(.text.line_calibrateBlack+0x4): undefined reference to `delay'
C:\Program Files\NIBObeeLib\lib\libnibobee_line.a(line.o): In function `line_calibrateWhite':
line.c:(.text.line_calibrateWhite+0x4): undefined reference to `delay'
make: *** [NibobeeTest.elf] Error 1
Build failed with 2 errors and 0 warnings...
Weiss jemand, warum?