- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Probleme beim Kompilieren bei ASURO

  1. #1

    Probleme beim Kompilieren bei ASURO

    Anzeige

    E-Bike
    Hallo,
    da bei meinem ASURO der eine Motor schneller dreht als der andere, wollte ich die Geschwindigkeit über die Software anpassen.
    Nun habe ich folgendes Problem beim Kompilieren einer c-datei für den ASURO. Es geht um den Kollisionstaster-Queltext von m.a.r.v.i.n:


    Code:
    /***************************************************************************
     *
     * File Name:   kollisiontest.c
     * Project  :   ASURO
     *
     * Description: Kollisionstest mit Hilfe der Tastensensoren
     *
     * Ver.     Date         Author               Comments
     * -------  ----------   -----------------    ------------------------------
     * 1.0      10.09.2005   m.a.r.v.i.n          initial build
     * 1.1      08.01.2006   m.a.r.v.i.n          2x PollSwitch + Vergleich,
     *                                            anstelle 8x PollSwitch
     *
     * benoetigt die modifizierte Asuro Bibliothek 'asuro.c'
     * von waste, stochri und andun. Zu finden bei www.roboternetz.de
     */
    /***************************************************************************
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   any later version.                                                    *
     ***************************************************************************/
    
    #include "asuro.h"
    
    #define FULL_L 300
    #define FULL_R 220
    
    /* Motor vorwärts */
    void MotorFwd(void)
    {
      MotorDir(FWD,FWD);
      MotorSpeed(FULL_L,FULL_R);
    }
    
    /* Motor rückwärts */
    void MotorRwd(void)
    {
      MotorDir(RWD,RWD);
      MotorSpeed(FULL_L,FULL_R);
    }
    
    /* Motor rückwärts Links */
    void MotorRwdL(void)
    {
      MotorDir(RWD,RWD);
      MotorSpeed(FULL_L,0);
    }
    
    /* Motor rückwärts Rechts */
    void MotorRwdR(void)
    {
      MotorDir(RWD,RWD);
      MotorSpeed(0, FULL_R);
    }
    
    /* Motor stop */
    void MotorStop(void)
    {
      MotorSpeed(0,0);
    }
    
    int main(void)
    {
      unsigned char t1, t2;
    
      Init();
      while (1)
      {
        t1 = PollSwitch();
        t2 = PollSwitch();
        if (t1 == 0 && t2 == 0)         /* keine Taste */
        {
          MotorFwd();          /* vorwärts fahren */
          FrontLED(ON);
          BackLED(OFF,OFF);
        }
        else if (t1 && t2 && t1 == t2)
        {
          MotorStop();
          if (t1 & 0x07) /* Tasten links gedrückt? */
          {
            MotorRwdL();       /* Rückwärtskurve links fahren */
            FrontLED(OFF);
            BackLED(ON,OFF);
          }
          if (t1 & 0x38) /* Tasten rechts gedrückt? */
          {
            MotorRwdR();       /* Rückwärtskurve rechts fahren */
            FrontLED(OFF);
            BackLED(OFF,ON);
          }
          Msleep(1000);        /* 1 Sekunde fahren */
        }
      }
      return 0;
    }
    und dabei folgende Fehlermeldung bekommen:

    > "C:\ASURO_src\FirstTry\Test-all.bat"

    C:\ASURO_src\FirstTry>make all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
    [ -s asuro.d ] || rm -f asuro.d
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
    [ -s test.d ] || rm -f test.d
    -------- begin --------
    avr-gcc --version
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    In file included from asuro.h:34,
    from test.c:25:
    c:/winavr-20100110/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    test.c: In function 'main':
    test.c:94: warning: implicit declaration of function 'Msleep'
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
    In file included from asuro.h:34,
    from asuro.c:29:
    c:/winavr-20100110/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
    test.o: In function `main':
    C:\ASURO_src\FirstTry/test.c:94: undefined reference to `Msleep'
    make: *** [test.elf] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:06
    woran liegts?
    Vielen danke schon mal im vorraus

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Du verwendest das Programm mit der Originalen ASURO-Bibliothek des DLR. Das funktioniert nicht, es ist für die RN-ASURO-Lib programmiert. Diese findest du im ASURO-Bereich des Forums oder auch im ASURO-Wiki verlinkt.

    Grüße,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    scheint immernoch nicht zu funktionieren. Hab die "AFSetup_v280rc2.exe" runtergeladen und installiert. Jedoch nimmt der Kompiler den Msleep() befehl immer nocht nicht an. Muss ich die lib noch irgendwo miteinbinden oder so? oder in einem bestimmten ordner installieren?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo,

    Als Entwickler hat man ein gutes Tool, welches Dateien durchsuchen kann.
    Bei unbekannten Bibliotheken weiss man oft nicht, was jetzt wo versteckt ist.

    Also mal alle .h nach Msleep durchsuchen.
    Die Tools geben dann auch den Fundort, also den Pfad an.

    MfG Peter(TOO)
    Geändert von Peter(TOO) (18.11.2015 um 01:08 Uhr)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Zitat Zitat von Droidicus Beitrag anzeigen
    Muss ich die lib noch irgendwo miteinbinden oder so? oder in einem bestimmten ordner installieren?
    Ja. Dazu gibt es auch eine entsprechende Dokumentation. Durchlesen, umsetzen und wenn es dann noch Probleme gibt, nochmal melden.

    mfG,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

Ähnliche Themen

  1. Asuro - Probleme beim kompilieren
    Von Letscho im Forum Open Source Software Projekte
    Antworten: 1
    Letzter Beitrag: 27.07.2010, 13:41
  2. Probleme beim kompilieren
    Von Gerd_K im Forum Robby RP6
    Antworten: 20
    Letzter Beitrag: 09.04.2010, 23:14
  3. ASURO: Probleme beim Selbsttest
    Von nco im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 27.09.2009, 18:43
  4. Probleme beim kompilieren unter Linux
    Von gandalfsz im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 30.11.2008, 16:54
  5. Probleme beim programmieren von ASURO
    Von murdocg im Forum Asuro
    Antworten: 13
    Letzter Beitrag: 15.10.2008, 23:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen