- LiFePO4 Speicher Test         
Seite 5 von 8 ErsteErste ... 34567 ... LetzteLetzte
Ergebnis 41 bis 50 von 78

Thema: minIMU-9 v2, software, kalibrierung...

  1. #41
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich meinte damit nur dass Du nicht BEIDE Versionen gleichzeitig installieren sollst.

    Was genau ist denn aktuell noch das Problem?
    Lassen sich die orginalen unveränderten Beispielprogramme übersetzen?
    (falls ja, liegt das Problem nicht bei der avr-gcc Installation )

    MfG,
    SlyD

    EDIT:
    Ach hattest die Ordnerstruktur ja weiter oben was gepostet.
    Aber: Welche Dateien sind genau im Verzeichnis drin und heissen die genau so wie im makefile angegeben?

  2. #42
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo SlyD,

    hier das ganze zusammengefasst:

    Zitat Zitat von SlyD Beitrag anzeigen
    Ich meinte damit nur dass Du nicht BEIDE Versionen gleichzeitig installieren sollst.

    da ich nicht weiss, wo das problem liegt, dachte ich eher daran, die deb version als ersatz zu verwenden, da dort „alles aus einer hand“ und von AVR ist. Nachdem ich über eclipse zu code:blocks kam und mit letzterem eigentlich zufrieden war tauchten diese probleme auf (siehe weiter unten). Jetzt möchte ich wissen, ob ich (so wie Dirk) mit make und makefile weiterkomme...

    der letzter stand, die reaktion auf ein make im terminal, da Suche ich die antwort drauf...

    Code:
    georg@netzserver:~/workspace/gyro_test_3$ make 
     -------- begin -------- avr-gcc (GCC) 4.5.3 Copyright (C) 2010 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. 
     make: *** Keine Regel vorhanden, um das Target »gyro_test_3.elf«,    benötigt von »elf«, zu erstellen.  Schluss.
     georg@netzserver:~/workspace/gyro_test_3$

    Zitat Zitat von SlyD Beitrag anzeigen
    Was genau ist denn aktuell noch das Problem?
    Lassen sich die orginalen unveränderten Beispielprogramme übersetzen?
    (falls ja, liegt das Problem nicht bei der avr-gcc Installation )
    eigentlich weiss weder Dirk, noch ich woran es liegt. Ich versuche mal das problem zu beschreiben:


    dieser code:
    Code:
    #include "RP6ControlLib.h" 
     #include "RP6I2CmasterTWI.h" 
     #include "RP6Control_MultiIOLib.h" 
     #include "RP6Control_I2CMasterLib.h" 
     #include "RP6Control_OrientationLib.h" 
     //#include "RP6ControlServoLib.h" 
      
     #define I2C_RP6_BASE_ADR 10 
      
     /************************variables*****************************************/ 
      
     uint8_t ch; 
     char item[12]; 
     char dir[3]; 
      
      
      
     /*********************I2C-fehlermeldungen******************/ 
      
     void I2C_transmissionError(uint8_t errorState) //gibt I2C fehlermeldungen über LCD aus 
     { 
         clearLCD(); 
         writeStringLCD_P("I2C ERROR -->"); 
         setCursorPosLCD(1, 0);        // line 2 
         writeStringLCD_P("TWI STATE: 0x"); 
         writeIntegerLCD(errorState, HEX); 
     } 
      
     /** 
      * Returns a 2 character string for the eighth 
      * parts of the direction calculated from the 
      * heading value. 
      * 
      * Input: heading -> Heading value [0..359] 
      * 
      */ 
     void calculateDir(char *dir, uint16_t heading) 
     { 
         dir[1] = ' '; 
         dir[2] = '\0'; 
         if ((heading <= 22) || (heading >=338)) dir[0] = 'N'; 
         if ((heading >= 23) && (heading <= 67)) {dir[0] = 'N'; dir[1] = 'E';} 
         if ((heading >= 68) && (heading <= 112)) dir[0] = 'E'; 
         if ((heading >= 113) && (heading <= 157)) {dir[0] = 'S'; dir[1] = 'E';} 
         if ((heading >= 158) && (heading <= 202)) dir[0] = 'S'; 
         if ((heading >= 203) && (heading <= 247)) {dir[0] = 'S'; dir[1] = 'W';} 
         if ((heading >= 248) && (heading <= 292)) dir[0] = 'W'; 
         if ((heading >= 293) && (heading <= 337)) {dir[0] = 'N'; dir[1] = 'W';} 
     } 
      
     /************************Write a floating point number to the LCD.******/ 
      /* 
      * Example: 
      * 
      *            // Write a floating point number to the LCD (no exponent): 
      *            writeDoubleLCD(1234567.890, 11, 3); 
      * 
      * The value of prec (precision) defines the number of decimal places. 
      * For 32 bit floating point variables (float, double ...) 6 is 
      * the max. value for prec (7 relevant digits). 
      * The value of width defines the overall number of characters in the 
      * floating point number including the decimal point. The number of 
      * pre-decimal positions is: (width - prec - 1). 
      */ 
     void writeDoubleLCD(double number, uint8_t width, uint8_t prec) 
     {char buffer[width + 1]; 
         dtostrf(number, width, prec, &buffer[0]); 
         writeStringLCD(&buffer[0]); 
     } 
      
      
     void writeDouble(double number, uint8_t width, uint8_t prec) 
     {char buffer[width + 1]; 
         dtostrf(number, width, prec, &buffer[0]); 
         writeString(&buffer[0]); 
     } 
      
     /*****************gyroscope***************/ 
     void gyroscope(void) //  L3GD20 gyroscope 
     
    
         {
      
     //    orientation_init(); 
         task_I2CTWI(); 
         readL3GD20();                        // Get sensor values 
         normalizeL3GD20(); 
         task_I2CTWI(); 
         setCursorPosLCD(0, 0);        // line 1 
         writeStringLCD_P("X"); 
         writeIntegerLCD(x_axisg, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(0, 8);        // line 1 pos 9 
         writeStringLCD_P("Y"); 
         writeIntegerLCD(y_axisg, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(1, 0);        // line 2 
         writeStringLCD_P("Z"); 
         writeIntegerLCD(z_axisg, DEC); 
         writeStringLCD_P("    "); 
     #ifdef GET_TEMP 
         temperatureg = calcTempL3GD20(temperatureg) + 5; 
         temperatureg += OFFSET_TEMP; 
         setCursorPosLCD(1, 8);        // line 2 pos 9 
         writeStringLCD_P("T"); 
         writeIntegerLCD(temperatureg, DEC); 
         writeStringLCD_P("    "); 
     #endif 
         task_I2CTWI(); 
         mSleep(3000);//4,5 sec 
         clearLCD();
         } 
      
     /************accelerometer****************/ 
        void accelerometer(void) //  LSM303DLHC accelerometer 
         { 
     //    orientation_init(); 
         clearLCD(); 
         task_I2CTWI(); 
         readLSM303DLHC_A();                    // Get sensor values 
         task_I2CTWI(); 
         setCursorPosLCD(0, 0);        // line 1 
         writeStringLCD_P("X"); 
         writeIntegerLCD(x_axisa, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(0, 5);        // line 1 pos 6 
         writeStringLCD_P("Y"); 
         writeIntegerLCD(y_axisa, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(0, 10);        // line 1 pos 11 
         writeStringLCD_P("Z"); 
         writeIntegerLCD(z_axisa, DEC); 
         writeStringLCD_P("    "); 
         normalizeLSM303DLHC_A();            // Normalize data 
         positionLSM303DLHC_A();                // Calculate position 
         setCursorPosLCD(1, 0);        // line 2 
         writeStringLCD_P("P"); 
         writeDoubleLCD(pitch, 6, 1); 
         writeStringLCD_P(" "); 
         setCursorPosLCD(1, 8);        // line 2 pos 9 
         writeStringLCD_P("R"); 
         writeDoubleLCD(roll, 6, 1); 
         writeStringLCD_P(" "); 
         task_I2CTWI(); 
         mSleep(3000); 
         } 
      
     /*****************magnetometer************/ 
     void magnetometer(void) //  LSM303DLHC magnetometer 
         { 
     //    orientation_init(); 
         clearLCD(); 
         task_I2CTWI(); 
         readLSM303DLHC_M();                    // Get sensor values 
         task_I2CTWI(); 
         setCursorPosLCD(0, 0);        // line 1 
         writeStringLCD_P("X"); 
         writeIntegerLCD(x_axism, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(0, 5);        // line 1 pos 6 
         writeStringLCD_P("Y"); 
         writeIntegerLCD(y_axism, DEC); 
         writeStringLCD_P("   "); 
         setCursorPosLCD(0, 10);        // line 1 pos 11 
     #ifndef GET_TEMP_M 
         writeStringLCD_P("Z"); 
         writeIntegerLCD(z_axism, DEC); 
         writeStringLCD_P("    "); 
     #else 
         temperature_imu = (double) temperaturem / 8.0 + OFFSET_TEMP_M; 
         writeStringLCD_P("T"); 
         writeDoubleLCD(temperature_imu, 5, 1); 
     #endif 
         normalizeLSM303DLHC_M();            // Normalize data 
         headingm = headingLSM303DLHC_M();    // Calculate heading 
         calculateDir(dir, headingm); 
         setCursorPosLCD(1, 0);        // line 2 
         writeStringLCD_P("H"); 
         writeIntegerLengthLCD(headingm, DEC, 3); 
         writeStringLCD_P(" "); 
         writeStringLCD(dir); 
         headingtc = headingLSM303DLHC_TC();    // Calculate TILT COMPENSATED 
         calculateDir(dir, headingtc);        // heading 
         writeStringLCD_P(" C"); 
         writeIntegerLengthLCD(headingtc, DEC, 3); 
         writeStringLCD_P(" "); 
         writeStringLCD(dir); 
         writeStringLCD_P(" "); 
         mSleep(3000);//4,5 sec 
         clearLCD(); 
         task_I2CTWI(); 
         } 
      
      
      
     /*************** hauptprogramm ***********/ 
      
     int main(void) 
     { 
      
      
     initRP6Control(); 
     initLCD(); 
      
     setLEDs(0b1111); 
     mSleep(500); 
     setLEDs(0b0000); 
      
     I2CTWI_initMaster(100); 
     I2CTWI_setTransmissionErrorHandler(I2C_transmissionError); //aktiviert I2C fehlermeldungen 
      
     multiio_init(); 
     orientation_init(); 
      
     // Voltage & current sensor test: 
     LTC2990_measure(); 
     setCursorPosLCD(0, 0); 
     //writeStringLCD("BAT Current: "); 
     //writeDoubleLCD(cbat, 6, 1); 
     writeStringLCD(" accu: "); 
     writeDoubleLCD(vbat, 4, 1); 
     writeStringLCD( " V"); 
     mSleep(1500); 
      
      
     showScreenLCD(" RP6Control M32", " gyro_test_3"); 
     mSleep(2500); 
     clearLCD(); 
      
      
      
     while(true) 
     { 
      
     /*****************anzeige gedrückter buttons****************/ 
         clearLCD(); 
         pressedMultiIOButtonNumber = getMultiIOPressedButtonNumber(); 
         setCursorPosLCD(0, 0); 
         writeStringLCD("Button: "); 
         writeIntegerLCD(pressedMultiIOButtonNumber, DEC); 
         mSleep(500); 
      
         uint8_t key = getMultiIOPressedButtonNumber(); 
      
      
     /********************funktion der buttons*********************/ 
         if(key) 
         { 
         switch(key) 
         { 
         case 1:// 
         setLEDs(0b0001); 
         gyroscope(); 
         break; 
      
         case 2:// 
         setLEDs(0b0010); 
         accelerometer(); 
         break; 
      
         case 3:// 
         setLEDs(0b0100); 
         magnetometer(); 
         break; 
      
         case 4:// 
         setLEDs(0b1000); 
         gyroscope(); 
         accelerometer(); 
         magnetometer(); 
         break; 
         } 
         } 
     } 
         return 0; 
     }
    lässt sich:

    • bei Dirk wie auch bei mir fehlerfrei kompilieren
    • bei Dirk kompilierte version läuft bei uns beiden problemlos
    • die bei mir kompilierte version läuft bei mir NICHT (ob sie bei Dirk läuft weiss ich jetzt nicht mehr, vermutlich nicht)




    • Dirk kompiliert mit make und makefile
    • ich arbeite mit code:blocks, welche art der compilierung da im hintergrund läuft weiss ich nicht
    • das problem trat zuerst mit den dateien auf, in denen Dirks libs für das multi-IO board und die minIMU verwendet wurden (RP6Control_OrientationLib.c, RP6Control_Orientation.h, RP6Control_OrientationLib.h)





    Zitat Zitat von SlyD Beitrag anzeigen
    Ach hattest die Ordnerstruktur ja weiter oben was gepostet.
    Aber: Welche Dateien sind genau im Verzeichnis drin und heissen die genau so wie im makefile angegeben?

    files aus der gyro_test_3:

    Code:
    #include "RP6ControlLib.h" 
     #include "RP6I2CmasterTWI.h" 
     #include "RP6Control_MultiIOLib.h" 
     #include "RP6Control_I2CMasterLib.h" 
     #include "RP6Control_OrientationLib.h"
    angaben im makefile:

    Code:
    # you would write: TARGET = RP6Base_MyProgram 
      
     TARGET = gyro_test_3 
      
     ############################################################################### 
      
      
      
     ############################################################################### 
     # Specify relative path to RP6 library files here. 
     # This is "../../RP6lib" or "../RP6lib" usually. 
      
     RP6_LIB_PATH=../RP6lib 
     RP6_LIB_PATH_OTHERS= $(RP6_LIB_PATH)/RP6control $(RP6_LIB_PATH)/RP6common 
      
     ###############################################################################
     
    
     SRC += $(RP6_LIB_PATH)/RP6control/RP6ControlLib.c 
     SRC += $(RP6_LIB_PATH)/RP6common/RP6uart.c 
     #SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CslaveTWI.c 
     SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CmasterTWI.c 
      
     SRC += RP6Control_I2CMasterLib.c 
     SRC += RP6Control_MultiIOLib.c 
     SRC += RP6Control_OrientationLib.c 
     SRC += RP6Control_LFSBumperLib.c 
     SRC += $(RP6_LIB_PATH)/RP6control/RP6ControlServoLib.c
    dateien im verzeichnis:

    Code:
    gyro_test_3.c
     makefile
     RP6Control_I2CMasterLib.c
     RP6Control_I2CMasterLib.h
     RP6Control_LFSBumperLib.c
     RP6Control_LFSBumperLib.h
     RP6Control_MultiIO.h
     RP6Control_MultiIOLib.c
     RP6Control_MultiIOLib.h
     RP6Control_Orientation.h
     RP6Control_OrientationLib.c
     RP6Control_OrientationLib.h
    Geändert von inka (19.07.2013 um 08:26 Uhr)
    gruß inka

  3. #43
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Hallo Inka,

    > ich arbeite mit code:blocks, welche art der compilierung da im hintergrund läuft weiss ich nicht

    Naja wird wohl den avr-gcc verwenden den Du schon installiert hast.
    IDEs erzeugen oft auch nur ein makefile und rufen dann make auf und analysieren die Ausgaben.
    Code::blocks verwendet aber glaube ich was eigenes.


    Einen offensichtlichen Fehler kann ich da im makefile nicht erkennen.
    Pack den ganzen Ordner inklusive RP6Lib mal (zip oder tar.gz) und schick ihn mir per Mail.
    Ich schau mir dass dann mal an.

    Und nochmal die Frage:
    Lassen sich die orginalen unveränderten Beispielprogramme (ohne Code::blocks, direkt mit make!)
    fehlerfrei übersetzen und laufen die dann auch auf dem RP6?
    Das ist der erste Test den Du machen solltest um zu prüfen ob mit dem avr-gcc alles OK ist.



    MfG,
    SlyD

  4. #44
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi SlyD,

    Zitat Zitat von SlyD Beitrag anzeigen
    Einen offensichtlichen Fehler kann ich da im makefile nicht erkennen.
    Pack den ganzen Ordner inklusive RP6Lib mal (zip oder tar.gz) und schick ihn mir per Mail.
    Ich schau mir dass dann mal an.
    ist unterwegs...

    Zitat Zitat von SlyD Beitrag anzeigen
    Und nochmal die Frage:
    Lassen sich die orginalen unveränderten Beispielprogramme (ohne Code::blocks, direkt mit make!)
    fehlerfrei übersetzen und laufen die dann auch auf dem RP6?
    Das ist der erste Test den Du machen solltest um zu prüfen ob mit dem avr-gcc alles OK ist.
    die antwort auf ein make im terminal ist die gleiche - ich wüsste zu gerne welche "regel" er da sucht...

    Code:
    -------- begin --------
    avr-gcc (GCC) 4.5.3
    Copyright (C) 2010 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.
    
    make: *** Keine Regel vorhanden, um das Target »RP6Base_SELFTEST.elf«, 
      benötigt von »elf«, zu erstellen.  Schluss.
    georg@netzserver:~/workspace/RP6_selftest$
    den ordner für diesen test schicke ich auch...
    gruß inka

  5. #45
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Naja das kann so natürlich nicht funktionieren (wenn das exakt die Ordnerstruktur ist die Du verwendest).

    Den Ordner 2012_lib_komplett hast Du gar nicht ins makefile eingetragen.
    (make ist absichtlich dumm gehalten, Du musst dem Tool ALLES explizit mitteilen damit eindeutig klar ist welche Dateien genommen werden sollen)
    Und die Unterordner der RP6Lib sind ja komplett entfernt und alles in einen Ordner gepackt worden (warum?).
    Aber dann muss man auch die Pfade im makefile entsprechend anpassen.

    Das mit dem Selftest kann aus demselben Grund nicht funktionieren - Du hast nicht mehr die Ordnerstruktur aus den Beispielprogrammen - dann kann das makefile was dabei ist nicht funktionieren.
    Mit "mit den orginalen Beispielen probieren" meinte ich: Archiv entpacken und alles genau so lassen nicht einzelne Ordner da rauskopieren

    Die Lösung ist einfach: Pfade anpassen!

    RP6_LIB_PATH=../2012_lib_komplett
    RP6_LIB_PATH_OTHERS= $(RP6_LIB_PATH)/RP6control $(RP6_LIB_PATH)/RP6common

    SRC += $(RP6_LIB_PATH)/RP6ControlLib.c
    SRC += $(RP6_LIB_PATH)/RP6uart.c
    #SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CslaveTWI.c
    SRC += $(RP6_LIB_PATH)/RP6I2CmasterTWI.c

    SRC += RP6Control_I2CMasterLib.c
    SRC += RP6Control_MultiIOLib.c
    SRC += RP6Control_OrientationLib.c
    SRC += RP6Control_LFSBumperLib.c
    SRC += $(RP6_LIB_PATH)/RP6ControlServoLib.c
    Dann läufts problemlos durch.

    MfG,
    SlyD

    - - - Aktualisiert - - -

    PS:
    Im makefile vom Selbsttest ist ein (eigentlich bereits bekannter) winzig kleiner bug drin: RP6Lib versus RP6lib funktioniert unter Linux nicht (Windows unterscheidet nicht zwischen Klein- und Großbuchstaben). Aber das war bei Dir nicht das Problem sondern das oben genannte.

    Hast Dir da aber das einzige Programm aus allen Beispielen rausgepickt wo das der Fall ist bei allen anderen passts
    Den Bug wollte ich schonmal letztes Jahr korrigieren, aber hab wohl nicht mehr dran gedacht.

  6. #46
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Hi SlyD,


    Zitat Zitat von SlyD Beitrag anzeigen
    Naja das kann so natürlich nicht funktionieren (wenn das exakt die Ordnerstruktur ist die Du verwendest).
    auf der gleichen "höhe" der struktur ist auch ein ordner "RP6Lib", der auch die entsprechenden unterordner hat. Das habe ich, nach dem es mit meinem ordner "2012_lib_komplett" nicht funtioniert hat versucht. Habe ich bei dem vielen schreiben vergessen zu erwähnen...


    Zitat Zitat von SlyD Beitrag anzeigen
    Den Ordner 2012_lib_komplett hast Du gar nicht ins makefile eingetragen.
    den pfad im makefile habe ich angepasst gehabt:
    - RP6_LIB_PATH=/2012_lib_komplett
    - RP6_LIB_PATH=../2012_lib_komplett
    - RP6_LIB_PATH=../../2012_lib_komplett

    keine der drei varianten funktionierte...

    Zitat Zitat von SlyD Beitrag anzeigen
    (make ist absichtlich dumm gehalten, Du musst dem Tool ALLES explizit mitteilen damit eindeutig klar ist welche Dateien genommen werden sollen)
    Und die Unterordner der RP6Lib sind ja komplett entfernt und alles in einen Ordner gepackt worden (warum?).
    weil es für code:blocks einfacher war...ansonsten s.o.

    Zitat Zitat von SlyD Beitrag anzeigen
    Die Lösung ist einfach: Pfade anpassen!
    was bedeutet eigentlich nun die fehlermeldung über die fehlende regel? Die kommt doch immer, egal wie ich die pfade gesetzt habe - und irgendeine version der pfade und der verzeichnisse hätte doch funktionieren müssen!?!
    gruß inka

  7. #47
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Zitat Zitat von inka Beitrag anzeigen
    auf der gleichen "höhe" der struktur ist auch ein ordner "RP6Lib", der auch die entsprechenden unterordner hat. Das habe ich, nach dem es mit meinem ordner "2012_lib_komplett" nicht funtioniert hat versucht. Habe ich bei dem vielen schreiben vergessen zu erwähnen...
    Sind in dem RP6Lib Ordner denn auch die ganzen anderen Datei drin die da normalerweise nicht dabei sind (inka.c und der ganze MultiIO kram)?
    Du musst ALLE Ordner und wichtigen lib Dateien im makefile drin haben.
    Wenn Du es auf ZWEI Ordner aufgeteilt hast, muss das entsprechend angepasst werden.


    den pfad im makefile habe ich angepasst gehabt:
    - RP6_LIB_PATH=/2012_lib_komplett
    - RP6_LIB_PATH=../2012_lib_komplett
    - RP6_LIB_PATH=../../2012_lib_komplett

    keine der drei varianten funktionierte...
    ../ heisst ein Verzeichnis höher und ist hier richtig.
    Zwei Verzeichnisse höher passt natürlich nicht.
    / ist das Wurzelverzeichnis (quasi das "C:" von Linux)


    was bedeutet eigentlich nun die fehlermeldung über die fehlende regel? Die kommt doch immer, egal wie ich die pfade gesetzt habe - und irgendeine version der pfade und der verzeichnisse hätte doch funktionieren müssen!?!
    Jede Datei muss über die Angaben im makefile gefunden werden können.
    Wird auch nur eine einzige nicht gefunden, kommt die Fehlermeldung (ist ziemlich nichtssagend, ich weiss, k.a. warum da nicht mal jemand etwas bessere Fehlermeldungen eingebaut hat ).
    Du hast da scheinbar einiges auf zwei Ordner aufgeteilt (dein 2012_komplett Ordner und RP6Lib). Hast das aber nicht im makefile drin stehen.

    Das ist auch das einzige Problem hier: Du hast nicht alle Pfade korrekt angegeben.
    Wie gesagt - wenn ich das hier so wie oben schon gepostet ändere funktioniert es sofort.
    Entpacke doch mal das Archiv das Du mir geschickt hast 1:1 irgendwo hin und passe nur das makefile genau so an wie ich oben geschrieben habe.
    Dann sollte es eigentlich klappen.

    MfG,
    SlyD

  8. #48
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi SlyD,
    Zitat Zitat von SlyD Beitrag anzeigen
    Das ist auch das einzige Problem hier: Du hast nicht alle Pfade korrekt angegeben.
    Wie gesagt - wenn ich das hier so wie oben schon gepostet ändere funktioniert es sofort.
    Entpacke doch mal das Archiv das Du mir geschickt hast 1:1 irgendwo hin und passe nur das makefile genau so an wie ich oben geschrieben habe.
    Dann sollte es eigentlich klappen.
    es waren die pfade

    nach der anpasssung der pfade auf:

    ################################################## #############################
    # Specify relative path to RP6 library files here.
    # für ein gemeinsames verzeichnis "../2012_lib_komplett"

    RP6_LIB_PATH_OTHERS=../2012_lib_komplett
    RP6_LIB_PATH=../2012_lib_komplett

    ################################################## #############################

    und änderungen bei der einbindung der sourcedateien lief es dann. Muss zugeben, bin richtig erschrocken, als make zum erstenmal fehlerfrei durchlief...

    die probleme bei code:blocks sind auch behoben, dort war es eine andere ursache. Nachdem ich das programm deinstalliert habe und eine neuere version installiert habe, meldete sich code:blocks beim ersten kompilieren mit "<bits/predef.h> missing", nach längerem googeln musste ich libc6-dev-i386 nachinstallieren und ein pfad beim compiler von code:blocks ändern...

    so habe ich nun auch die möglichkeit die ergebnisse von code:blocks mit make zu überprüfen...

    vielen dank noch einmal an beide: SlyS und Dirk für euere mühe und geduld...

    @Dirk: ich habe Dir eine *.c und die dazugehörige hex geschickt: welche werte liefert bei Dir button1?
    Geändert von inka (20.07.2013 um 13:36 Uhr)
    gruß inka

  9. #49
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Ah sehr gut!


    Muss zugeben, bin richtig erschrocken, als make zum erstenmal fehlerfrei durchlief...


    MfG,
    SlyD

  10. #50
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @inka:
    ich habe Dir eine *.c und die dazugehörige hex geschickt: welche werte liefert bei Dir button1?
    Du hast eine Mail.
    Gruß
    Dirk

Seite 5 von 8 ErsteErste ... 34567 ... LetzteLetzte

Ähnliche Themen

  1. Arduino und Pololu MinIMU-9 v2
    Von MechMac im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 11.05.2013, 18:44
  2. CMPS03 kalibrierung
    Von rideyourstyle im Forum Sensoren / Sensorik
    Antworten: 10
    Letzter Beitrag: 03.03.2009, 17:01
  3. Kalibrierung
    Von seppo1903 im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 26.10.2007, 08:26
  4. Kalibrierung der Motoren
    Von BeeWee im Forum Asuro
    Antworten: 21
    Letzter Beitrag: 16.07.2007, 23:53
  5. Notebook Akku Kalibrierung
    Von Lars. im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 08.03.2007, 22:04

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress