[Suche Lösungsansatz] Fehlverhalten – Robaux LL8 springt nach Stepp 13 ständig ungeplant wieder zu Step 1

GuywithBass

Synthesizer Azubi
Liebe Gemeinde,

ich hatte im April 2022 mir den Bausatz vom Robaux LL8 (Trigger-Sequenzer) besorgt und vollständig aufgebaut. (Firmware 0.42) Die Funktionen waren alle fehlerfrei und ich konnte alle 8 Tracks mit bis zu 16 Steps programmieren.

Den Sequenzer hatte ich eine Weile nicht benutzt und vor ca. 6 Wochen erst in das eine Case ein und nach 4 Wochen wieder ausgebaut. Da hatte noch alles einwandfrei funktioniert.

Jetzt in ein neues Setup eingebaut muckt es rum. Ich habe grundsätzlich auf 16 Stepp Länge die Tracks eingestellt, aber sobald der Stepp 14 erreicht wird, wird dieser nicht vollständig ausgeleuchtet und springt sofort wieder zu Stepp 1 und läuft weiter. Auch kann ich die Steps 14, 15 und 16 nicht mehr programmieren, oder leuchten wenn ich diese drücke.

Dann habe ich gemäß Anleitung beim Starten der Stromversorgung den Speicherknopf gedrückt und vermeintlich auf die „factory settings“ „restored“.

1719856848594.png


Frage1: Meine Stepp-Programmierung blieb zu meiner Überraschung nach dem Restore erhalten. Liegt hier ein Bedienungsfehler vor?



Nicht jedes Mal, aber einige Mal konnte ich nach dem Restore bei den Tracks Steps 14, 15 und 16 wieder programmieren. Sobald ich aber wieder ein Clocksignal angeschlossen hatte, wurde nach einem kurzen „absterben“ Aufblitzen der 14 wieder die 1 angesprungen. 14, 15 und 16 konnten auch nicht mehr programmiert werden.
  • Da ich kurzzeitig nach dem restore Stepps 14, 15 und 16 programmieren konnte, liegt kein Hardwarefehler vor. Zudem lief es die Jahre bis vor 2 Wochen ohne Probleme.
  • Ich vermute einen Software Fehler in der Firmware den ich durch ein Firmwareupdate beseitigen könnte. Ggf. noch mal Version 0.42 oder sogar Version 0.69 rauf laden.
Frage2: macht das Sinn? (Bitte meine Schlussfolgerungen kritisieren, wenn ich falsch liege)


Ich versuche jetzt mir die Möglichkeiten für ein Firmware Upgrade zu schaffen, dazu beschaffe ich mir einen Andruino Uno Board. Bei diesen wird dann der Ic „ATmega328P“ ausgebaut und über 4 Drähte der Robaux LL8 angeschlossen (gemäß Vorschlag von Robaux). Darüber kann ich dann die Firmware hochladen.

Frage3: Ich müsste doch auch die Firmware direkt auf den „ATmega328P“ im Andruino Uno Bord laden können und dann den IC einfach Tauschen. Mache ich einen Denkfehler?


Sachdienliche Hinweise, weiterführende Kommentare und Hilfreiche Links sind wie immer willkommen.



Gruß



GWB
 
Zuletzt bearbeitet:
Zu Frage3: als was für eine Datei liegt denn die Firmware vor?
Wenn als *ino-File (=klartext C-Code), dann sollte das mit der Arduino-IDE kein Problem sein.
 
die Firmware liegt als .hex Format vor
Das ist ein bisschen mühsam aber machbar.

Im Prinzip macht die IDE auch nichts anderes als aus dem Klartext-Quellcode erst ein HEX-File zu erzeugen und dieses dann mit avrdude auf den Arduino zu schieben. Wenn man den "verbose output during compilation" in den Settings aktiviert, dann zeigt die IDE (nach vielem anderen) das komplette avrdude-Kommando an. Das machst Du mit irgendeinem *ino-Programm. Dann kannst Du das kopieren und auf der Kommandozeile mit Deiner Hex-Datei ausführen.

Hier mal im Detail mit der Arduino IDE Version 1.8 auf MacOS. Inzwischen gibts 2.3.2, sieht aber wahrscheinlich ähnlich aus.

Also erstmal in den Settings den verbose-Output aktivieren
1719905914229.png

Dann lädst Du mit "File" -> "Example" irgendein Beispiel (zb "Blink")
Dann den Arduino Uno an den USB-Port stecken.
Dann bei "Tools" -> "Board" den Arduino Uno auswählen
Dann bei "Tools" -> "Port" den USB-Port des Uno auswählen und mit "Tools" -> "Info" verifizieren, dass der Uno gefunden wird
Dann mit "Sketch" -> "Upload" das Blink-Programm in den Uno hochladen.

In dem unteren schwarzen Bereich sollte jetzt jede menge Text durchlaufen. Erst weiß, dann orange:
Die letzte Zeile des weißen Textes ist das was du brauchst:
1719906657963.png

Die kopierst Du jetzt erst mal in ein Text file. Das sieht dann zB bei mir auf dem Macbook so aus:

/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -V -patmega328p -carduino -P/dev/cu.usbmodem14101 -b115200 -D -Uflash:w:/var/folders/4y/7dd3bz0s3kx2vpn_hdqd3y_m0000gn/T/arduino_build_3583/Blink.ino.hex:i

Das zwischen dem "w:" und dem ":i" ist der Pfad, den Du jetzt durch den Pfad zu Deinem HEX-file ersetzen musst. Also zB

/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -V -patmega328p -carduino -P/dev/cu.usbmodem14101 -b115200 -D -Uflash:w:/Users/florian/synths/Robaux/firmware42.hex:i

Dies komplette Zeile kopierst Du jetzt auf die Kommandozeile und führst sie aus. Das sieht dann bei mir so aus:

florian@MacBook-Pro:~/synths/Robaux$ /Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -V -patmega328p -carduino -P/dev/cu.usbmodem14101 -b115200 -D -Uflash:w:/Users/florian/synths/Robaux/firmware42.hex:i

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "/Users/florian/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
User configuration file is "/Users/florian/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/cu.usbmodem14101
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "/Users/florian/synths/Robaux/firmware42.hex"
avrdude: writing flash (12134 bytes):

Writing | ################################################## | 100% 1.95s

avrdude: 12134 bytes of flash written

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done. Thank you.



Ich hoffe das hilft.
 
Zuletzt bearbeitet:
Bevor solche Dinge gemacht werden würde ich mindestens nachfragen beim Hersteller, ob und was da kaputt ist und ob er das reparieren kann.
Vielleicht ist das einfacher als das "OS umzucoden".
 
Ich hoffe das hilft.

Ganz vielen Dank für Deine umfangreichen Ausführungen, aber um das .hex-File hoch zu laden werde ich den xLoader nehmen.


1719921576273.png

Zeilen orientiertes arbeiten liegt mir nicht so, da her finde ich die grafische Oberfläche mit der direkten Anwahl für mich besser.

Bevor solche Dinge gemacht werden würde ich mindestens nachfragen beim Hersteller, ob und was da kaputt ist und ob er das reparieren kann.
Vielleicht ist das einfacher als das "OS umzucoden".
Robaux an zusprechen ist mein Plan B und werde ich jetzt auch machen.
 
Der ist sehr freundlich und wird bestimmt hilfreich sein. Das spart dir bestimmt viel geNerde im DIY Bereich. Wäre ja auch eher Reparatur, weniger DIY, weil offensichtlich ein Defekt. Wollte es nur sagen, auch wenn ich bei dir annehme, dass du das auch denkst.
 


Neueste Beiträge

News

Zurück
Oben