Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler

geschrieben von Chriss 
repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
28. January 2015 10:20
Hallo zusammen,

folgendes ist mir im Zusammenhang mit der Verwendung von EEPROM und SD Card aufgefallen:
sobald ich den EEPROM aktiviere (EEPROM_MODE <> 0) hängt sich die Firmware beim Start auf (Display bleibt leer; wenn ich mit dem Repetier Host verbinde erscheint die Meldung "x Befehle warten"). Deaktiviere ich in dieser Situation die SD Card (SDSUPPORT 0) klappt der Start und alles (bis auf die SD Card) läuft wie gewünscht.

Deaktiviere ich den EEPROM (EEPROM_MODE 0) und aktiviere die SD Card (SDSUPPORT 1) klappt auch dies...

Ich habe schon den Sourcecode untersucht, komme dort aber nicht wirklich weiter, zumindest finde ich auf Anhieb keine großen Änderungen, die das Zusammenspiel beeinflussen können. Die EEPROM Version wurde angehoben auf v12 (die lauffähige v0.91 hatte EEPROM v6), vielleicht liegt hier ein Fehler vor. Den EEPROM habe ich zwischen 0.91 und 0.92 komplett gelöscht (arduino Beispiel eeprom_erase auf 4kB erweitert). Beim Verbinden mit dem seriellen Monitor unter arduino gibt der Controller fortlaufend "reset" aus (bei den Varianten, die nicht funktionieren).

Hat noch jemand einen Tip, woran es liegen könnte, wo ich nachschauen kann oder wie ich repetier ordentlich debugge?

Daten:
Firmware: Repetier v0.92 von github
Mainboard: PiBot v1.4 (315) und PiExpandBoard (8 oder CONTROLLER_PIBOT20X4)
Repetier Host: v1.0.0

Wenn ihr noch weitere Angaben benötigt, einfach Bescheid sagen! winking smiley

Vielen Dank!
Schöne Grüße aus dem Sauerland!
Chriss

1-mal bearbeitet. Zuletzt am 30.01.15 09:42.
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
30. January 2015 08:04
Hi zusammen,

keiner eine Idee? winking smiley
Ok, hänge mal die verwendete Software samt Config an, vielleicht hilft das ja! winking smiley
Repetier_v0.92_github.zip

Und mal ein Bild vom Drucker (da kommt auch iwann mal, wenn er "fertig" ist, ein Bericht, immerhin sind wir schon über 1 Jahr an der Konstruktion samt Optimierungen... winking smiley )


Schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
30. January 2015 09:25
Quote
Chriss
sobald ich den EEPROM aktiviere (EEPROM_MODE <> 0) hängt sich die Firmware beim Start auf (Display bleibt leer; wenn ich mit dem Repetier Host verbinde erscheint die Meldung "x Befehle warten"). Deaktiviere ich in dieser Situation die SD Card (SDSUPPORT 0) klappt der Start und alles (bis auf die SD Card) läuft wie gewünscht.

Deaktiviere ich den EEPROM (EEPROM_MODE >0; meist 1 oder 2) und aktiviere die SD Card (SDSUPPORT 1) klappt auch dies...

Deine Fehlerbeschreibung ist unverständlich. Wo ist jetzt das Problem?

Herzl. Grüße
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
30. January 2015 09:41
Hi,

ok, kam vielleicht nicht deutlich rüber: ich bekomme aktiviertes EEPROM und die SD Karte nicht zusammen zum Laufen! winking smiley

Zudem müsste es heißen: "Deaktiviere ich den EEPROM (EEPROM_MODE 0) und aktiviere die SD Card (SDSUPPORT 1) klappt auch dies..."
Entschuldigt, ist korrigiert! winking smiley

Schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
30. January 2015 12:03
Die alte und neue eeprom.cpp behandeln im wesentlichen nur die Baudrate unterschiedlich. In Deiner config.h ist diese auf 57600 eingestellt. Dies ist die entsprechende Stelle in der neuen eeprom.cpp, könnte den permanenten Reset erklären (zumindest in Verbindung mit aktiviertem "Reset on connect" im Host).
Die SD-Card wird ja schon früher initialisiert.
if (USE_CONFIGURATION_BAUD_RATE)
        {
            // Used if eeprom gets unusable baud rate set and communication wont work at all.
            if(HAL::eprGetInt32(EPR_BAUDRATE) != BAUDRATE)
            {
                HAL::eprSetInt32(EPR_BAUDRATE,BAUDRATE);
                baudrate = BAUDRATE;
                uint8_t newcheck = computeChecksum();
                if(newcheck != HAL::eprGetByte(EPR_INTEGRITY_BYTE))
                    HAL::eprSetByte(EPR_INTEGRITY_BYTE,newcheck);
            }
            Com::printFLN(PSTR("EEprom baud rate restored from configuration."));
            Com::printFLN(PSTR("RECOMPILE WITH USE_CONFIGURATION_BAUD_RATE == 0 to alter baud rate via EEPROM"));
        }
Reine Vermutung!

Herzl. Grüße
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
30. January 2015 14:36
Hallo Bastler,

vielen Dank für den Hinweis, habe ich direkt mal ausprobiert, habe ein wenig mit den Einstellungen gespielt, Baudrate erändert, EEPROM Mode umgestellt..., leider ohne Erfolg! sad smiley
Ich bekomme die SD Card UND eeprom nicht zusammen ans Laufen!

Vieleicht hat noch jemand ne Idee? smiling smiley

Vielen Dank & schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
06. February 2015 04:06
Hallo zusammen,

mir ist da noch was aufgefallen, wenn ich die Firmware aufs PiBot übertrage, bekomme ich am Ende einen verification error. Da ich die Arduino-IDE ausschließen wollte, habe ich das HEXfile per USBasp via avrdude aufgespielt, auch hier bekomme ich am Ende einen verification error:
V:\avrdude>avrdude -c usbasp -p m2560 -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U lfuse:
w:0xFF:m -U flash:w:Repetier.cpp.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e9801
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xFD"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFD:
avrdude: load data efuse data from input file 0xFD:
avrdude: input file 0xFD contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xD8"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% -0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% -0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "Repetier.cpp.hex"
avrdude: input file Repetier.cpp.hex auto detected as Intel Hex
avrdude: writing flash (144874 bytes):

Writing | ################################################## | 100% 243.84s



avrdude: 144874 bytes of flash written
avrdude: verifying flash memory against Repetier.cpp.hex:
avrdude: load data flash data from input file Repetier.cpp.hex:
avrdude: input file Repetier.cpp.hex auto detected as Intel Hex
avrdude: input file Repetier.cpp.hex contains 144874 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 224.82s



avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Bei v0.91 läuft alles ohne Probleme durch!? Jemand eine Idee, wo ich noch schauen kann?

Vielen Dank & schöne Grüße aus dem Sauerland!
Chriss

1-mal bearbeitet. Zuletzt am 06.02.15 04:15.
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
06. February 2015 09:47
Da es mit v0.91 funktioniert: Bist Du ganz sicher, daß Du die richtige v0.92 benutzt?
Ansonsten: setz' mal probehalber den -u Schalter (disable safemode).

Herzl. Grüße
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
06. February 2015 10:01
Hi Bastler,

hoffe, ich benutze die richtige Version! winking smiley Habe mir sowohl die bei github geladen, als auch aus dem Online-Konfigurator! winking smiley
Werde mir nochmal eine Frische v0.92 von github holen und auch nochmal eine aktuelle v0.91 (gleube meine funktionierende war ein wenig älter) und alles am Wochenende nochmal in Ruhe testen! smiling smiley

Auch den safemode werde ich mal abschalten! winking smiley

Vielen Dank & schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
06. February 2015 14:57
Was mir noch eingefallen ist:
Liegt dein Reset-Pin zuverlässig auf High (mal nachmessen, ich kenne die Schaltung des PiBot nicht)?
Hast Du evtl aus Versehen die fuses verstellt?
Lies' die fuses doch mal aus, um den Ist-Zustand festzustellen.
Was ist Laufwerk V:/ bei Dir für ein Typ? Extern? Evtl. zu langsam(z.B. durch heuristischen Virenscanner)?

Herzl. Grüße
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
06. February 2015 15:23
Hi Bastler,

V ist ein Netzlaufwerk, welches auf ein internes Laufwerk verweist, liegt quasi auf der Dropbox, damit ich auf verschiedenen Rechnern die gleichen Bedingungen habe! winking smiley

Aber ich habe mit einer ganz neuen Config & Sourcen begonnen und konnte bisher alles problemlos kompilieren und hochladen, denke, es war ein Fehler in meiner Config! winking smiley

Sobald ich ein komplettes, valides Ergebnis habe, melde ich mich nochmal! smiling smiley

Vielen Dank für deine Hilfe! winking smiley
Schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
02. September 2015 10:35
Hallo zusammen,

nach etwas längerer Abwesenheit und der Nutzung von v0.91 weil ich die v0.92 nicht ans Laufen bekommen habe, gelang es mir heute, die aktuelle Firmware zu kompilieren und hochzuladen!
Zunächst hatte ich Probleme, weil das Display nichts anzeigt, bis ich mal drauf gekommen bin, dass die Pin Belegung in der ui.h für PiBot v1.42 mit PIExpandBoard falsch sind!

Hier mein Fix in der ui.h (~z1077ff):
#if PiBot_V_1_4==true || PiBot_V_1_6==true
/* not valid for v1.4 !!!
#define BEEPER_PIN             37
#define UI_DISPLAY_RS_PIN      16
#define UI_DISPLAY_RW_PIN      -1
#define UI_DISPLAY_ENABLE_PIN  17
#define UI_DISPLAY_D0_PIN      23
#define UI_DISPLAY_D1_PIN      25
#define UI_DISPLAY_D2_PIN      27
#define UI_DISPLAY_D3_PIN      29
#define UI_DISPLAY_D4_PIN      23
#define UI_DISPLAY_D5_PIN      25
#define UI_DISPLAY_D6_PIN      27
#define UI_DISPLAY_D7_PIN      29
#define UI_ENCODER_A           33
#define UI_ENCODER_B           31
#define UI_ENCODER_CLICK       35
#define UI_RESET_PIN           41
#define UI_DELAYPERCHAR 50
#define UI_BUTTON_OK       4
#define UI_BUTTON_NEXT     6
#define UI_BUTTON_PREVIOUS 5
#define UI_BUTTON_BACK     11
#define UI_BUTTON_SD_PRINT 42
*/

// #define BEEPER_PIN             31
#define BEEPER_PIN              8     // only for silent testing without beeps
#define UI_DISPLAY_RS_PIN      45
#define UI_DISPLAY_RW_PIN      -1
#define UI_DISPLAY_ENABLE_PIN  44
#define UI_DISPLAY_D0_PIN      43
#define UI_DISPLAY_D1_PIN      42
#define UI_DISPLAY_D2_PIN      19
#define UI_DISPLAY_D3_PIN      18
#define UI_DISPLAY_D4_PIN      43
#define UI_DISPLAY_D5_PIN      42
#define UI_DISPLAY_D6_PIN      19
#define UI_DISPLAY_D7_PIN      18
#define UI_ENCODER_A           61
#define UI_ENCODER_B           62
#define UI_ENCODER_CLICK       63
#define UI_RESET_PIN           28
#define UI_DELAYPERCHAR 50
#define UI_BUTTON_OK       49
#define UI_BUTTON_NEXT     48
#define UI_BUTTON_PREVIOUS 47
#define UI_BUTTON_BACK     46
#define UI_BUTTON_SD_PRINT 29
#endif
ACHTUNG: die Belegung passt NICHT für Version 1.6 der PiBot Hardware! PiBot_V_1_4 wird in der aktuellen pins.h nicht mehr gesetzt!

Soweit so gut! Fast bis auf eine "Kleinigkeit"... Die SD Card geht immer noch nicht! Sobald ich SDSUPPORT enable und die passenden Pins setze, gibt es beim Upload den "verification error":
avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0x01
avrdude: verification error; content mismatch

Schalte ich den SD Support ab, klappt alles und das Board erwacht... nur ohne die SD Card, ist logisch...

Hat jemand einen Tip für mich, an welcher Stelle ich noch schauen kann? Auf die SD Card können wir leider nicht verzichten... sad smiley

Vielen Dank & schöne Grüße aus dem Sauerland!
Chriss

P.S.: werde die Tage mal die pins.h und ui.h für PiBot anpassen, dann braucht man da nicht mehr basteln! winking smiley

1-mal bearbeitet. Zuletzt am 02.09.15 10:36.
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
02. September 2015 12:49
Hast Du diese Version mal probiert? Da scheinen einige kleine Änderungen gegenüber Repetier V0.92 (auch in sccard.cpp) vorgenommen worden zu sein.
[github.com]

Herzl. Grüße
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
02. September 2015 14:02
Hi Bastler,

werde mir die Version mal ansehen und die Versionen vergleichen! smiling smiley
Vielen Dank für die Info, die Version kannte ich noch nicht!

Was mich halt wunderte, die v091 läuft ohne Anpassungen, out of configurator, quasi. Aber ich schaue mir die Änderungen zwischen allen 3 Versionen mal an, vielleicht finde ich den Fehler und kann das in der v092 korrigieren. Wenn alles nichts hilft, habe ich noch ein PiBot Board v2 hier liegen, dann wird das eben verwendet! :p

Schönen Abend und schöne Grüße aus dem Sauerland!
Chriss
Re: repetier 0.92 | PiBot v1.4 | SD Card & EEPROM => Fehler
03. September 2015 07:57
Hi Bastler, hi zusammen,

so, habs geschafft, Firmware ist mit allen Optionen drauf... :p Ich konnte nicht direkt flashen, sobald ich über den Bootloader flashen wollte kam der Fehler. Ich nehme an, mit den Optionen war die Flash-Größe zu groß, obwohl nur etwa die Hälfte des Möglichen belegt war. Ich habe den Sketch dann über einen AVRISP MKII direkt auf den Chip geflasht => ohne Probleme! smiling smiley

Denke, der Bootloader hat ne Make, komischerweise bei beiden von mir getesteten Boards...

Werde auf dem Testboard mal nen alternativen Bootloader testen, damit ich in Zukunft auch wieder den "normalen" Flashweg gehen kann... :p

Vielen Dank für die Hilfe & schöne Grüße aus dem Sauerland!
Chriss
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen