Selbstbau CUN (MapleCUN)

Begonnen von Telekatz, 09 November 2016, 20:29:52

Vorheriges Thema - Nächstes Thema

A.Harrenberg

Hi,
Zitat von: Telekatz am 07 März 2017, 17:33:02
Der STM32F103 hat nur den seriellen Bootloader. Dieser ist im µC integriert und kann auch nicht gelöscht oder überschrieben werden. Um ein komfortables Flashen über USB zu ermöglichen werden die Boards wie die Arduinos mit einem vorinstallierten USB Bootloader ausgeliefert. Dies ist normalerweise der original Maple Bootloader von LeafLabs. Dieser benötigt 16kB Flash und 3kB RAM. Ein "dfu-util --list" liefert bei aktivem Bootloader folgende Meldung:
jetzt bin ich noch mehr verwirrt... Das würde ja bedeuten das "normalerweise" bereits der einfache Bootloader drauf ist über den man per USB flashen können sollte, oder?

Wie gesagt hat mein Maple-Mini nicht auf den dfu-util Aufruf unter der Arduino Oberfläche reagiert, dort wurde auch kein Port angezeigt...
Könnte es sein das ich Platinen habe die "nackt" sind und nicht mal den LeafLabs Bootloader drauf haben?

Das von Dir verlinkte Wiki hatte ich schon (mehr oder weniger) gelesen, bin aber nicht ganz schlau draus geworden was nun auf einem neuen Maple nun drauf ist. Das es einen "fest eingebauten" gibt hatte ich schon begriffen.

Ich schau mal das ich heute abend noch mal an und versuche das Ding direkt mit dfu-util auszulesen. Ich gehe davon aus das wenn dort keine Rückmeldung kommt ich keinen LeafLabs Bootloader drauf habe, oder? Werde das mal bis dahin probieren und dann mal die Pins anlöten und darüber probieren...

Dieses "Knöpfchendrücken" ist aber in jedem Fall nötig, oder? Bei dem Aufruf von dfu-util kam etwas in der Art das versucht wird ein Reset per USB auszulösen...

Vielen Dank schon mal für die Infos, werde berichten wie es ausgegangen ist.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

stenny73

Hallo

hört sich gut an das Gerät.

Frage mich gerade ob über die UART Schnittstelle ggf auch ZWave Module alla ZM3102 angeschlossen werden?


stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

Telekatz

Zitat von: A.Harrenberg am 07 März 2017, 17:53:46
Hi,jetzt bin ich noch mehr verwirrt... Das würde ja bedeuten das "normalerweise" bereits der einfache Bootloader drauf ist über den man per USB flashen können sollte, oder?

Wie gesagt hat mein Maple-Mini nicht auf den dfu-util Aufruf unter der Arduino Oberfläche reagiert, dort wurde auch kein Port angezeigt...
Könnte es sein das ich Platinen habe die "nackt" sind und nicht mal den LeafLabs Bootloader drauf haben?
Wenn du den Maple Mini einsteckst und er fängt mit etwa 4Hz zu blinken an, ist das der Maple Bootloader. Als Port wird er auch nicht angezeigt weil DFU eine eigene USB Klasse ist.

Zitat von: A.Harrenberg am 07 März 2017, 17:53:46
Dieses "Knöpfchendrücken" ist aber in jedem Fall nötig, oder? Bei dem Aufruf von dfu-util kam etwas in der Art das versucht wird ein Reset per USB auszulösen...
Das Knöpfchendrücken ist für den fest eingebauten Bootloader nötig.

rizzir

Zitat von: Telekatz am 06 März 2017, 22:35:59
Ich will da nicht zu viele Varianten reinbringen.

Ok, das kann ich verstehen.

Zitat von: A.Harrenberg am 07 März 2017, 17:53:46
Hi,jetzt bin ich noch mehr verwirrt... Das würde ja bedeuten das "normalerweise" bereits der einfache Bootloader drauf ist über den man per USB flashen können sollte, oder?

Ja, aber Bootloader ist nicht gleich Bootloader. Man muss eine Firmware immer an einen Bootloader anpassen. Die Firmware von Telekatz ist momentan für den STM32Duino-Bootloader ausgelegt.

Zitat von: A.Harrenberg am 07 März 2017, 17:53:46
Wie gesagt hat mein Maple-Mini nicht auf den dfu-util Aufruf unter der Arduino Oberfläche reagiert, dort wurde auch kein Port angezeigt...
Könnte es sein das ich Platinen habe die "nackt" sind und nicht mal den LeafLabs Bootloader drauf haben?

Möglich ist alles aber sicher ist auch, dass er den bei mir auch nicht anzeigt, obwohl er trotzdem drauf ist. Denn:

Zitat von: A.Harrenberg am 07 März 2017, 17:53:46
Dieses "Knöpfchendrücken" ist aber in jedem Fall nötig, oder? Bei dem Aufruf von dfu-util kam etwas in der Art das versucht wird ein Reset per USB auszulösen...

Das ist der springende Punkt. Man muss dfu-util unmittelbar nach dem drücken der Reset-Taste auf dem Maple ausführen, weil nur dann der USB-Bootloader für wenige Sekunden aktiv ist, bevor das eigentliche Programm auf dem Maple läuft. Den zweiten Button wie beim flashen per serieller Schnittstelle darfst du allerdings nicht drücken. Das gleiche gilt auch für das Flashen per Arduino (was im Endeffekt auch dfu-util nutzt). Um damit ein Programm mit dem integrierten Bootloader zu flashen musst du es erstmal kompilieren, also oben links auf "Überprüfen" klicken. Dann drückst du den Reset-Button und unmittelbar darauf (am besten innerhalb einer Sekunde) oben links auf "Hochladen". Zum testen ob der drauf ist kannst du entweder "dfu-util -l" in die Konsole eintippen und dann schnell hintereinander Reset-Button und Enter auf der PC-Tastatur drücken oder du kannst auch versuchen ein einfaches Blinky mit der Arduino-IDE zu flashen. War das erfolgreich kannst du per Arduino-Sketch den neuen Bootloader flashen. 

Telekatz

#184
Zitat von: rizzir am 07 März 2017, 19:13:49
Das ist der springende Punkt. Man muss dfu-util unmittelbar nach dem drücken der Reset-Taste auf dem Maple ausführen, weil nur dann der USB-Bootloader für wenige Sekunden aktiv ist, bevor das eigentliche Programm auf dem Maple läuft. Den zweiten Button wie beim flashen per serieller Schnittstelle darfst du allerdings nicht drücken. Das gleiche gilt auch für das Flashen per Arduino (was im Endeffekt auch dfu-util nutzt). Um damit ein Programm mit dem integrierten Bootloader zu flashen musst du es erstmal kompilieren, also oben links auf "Überprüfen" klicken. Dann drückst du den Reset-Button und unmittelbar darauf (am besten innerhalb einer Sekunde) oben links auf "Hochladen". Zum testen ob der drauf ist kannst du entweder "dfu-util -l" in die Konsole eintippen und dann schnell hintereinander Reset-Button und Enter auf der PC-Tastatur drücken oder du kannst auch versuchen ein einfaches Blinky mit der Arduino-IDE zu flashen. War das erfolgreich kannst du per Arduino-Sketch den neuen Bootloader flashen. 
Mann kann es auch verhindern, dass der Bootloader automatisch in das geladene Programm springt. Nach einen Reset fängt der Maple erst kurz an schnell zu blinken (ca. 10 Hz). Danach blinkt er langsamer mit etwa 4Hz und nach etwa 2 Sekunden springt der Bootloader zum Hauptprogramm. Wenn man nach dem loslassen des Resetknopfes, währen er mit 10Hz blinkt, den anderen Knopf gedrückt hält bis er langsamer blinkt, bleibt er im Bootloader Modus. Dann hat man genügend Zeit das dfu-util zu starten.

Ranseyer

ZitatWenn man nach dem loslassen des Resetknopfes, währen er mit 10Hz blinkt, den anderen Knopf gedrückt hält bis er langsamer blinkt, bleibt er im Bootloader Modus. Dann hat man genügend Zeit das dfu-util zu starten.

Evtl ist genau das der Trick... (Wobei ich den zweiten Knopf auch schon etwas länger gedrückt habe)
Fakt ist wer kein so gutes Timing hat kommt mit dem von mir oben beschriebenen Weg auch zum Ziel.


Jedenfalls wollte ich nochmals "Danke" sagen für das super Projekt und die Unterstützung eines Bootloaders. Zwar wäre mir "der schlechtere, aber vorhandene" persönlich lieber gewesen. Aber aus Support-Sicht ist es vermutlich am besten nur einen zu unterstützen.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

A.Harrenberg

Hallo,

vielen Dank schon mal für die vielen Rückmeldungen, leider klappt es immer noch nicht...

Zitat von: Telekatz am 07 März 2017, 19:10:14
Wenn du den Maple Mini einsteckst und er fängt mit etwa 4Hz zu blinken an, ist das der Maple Bootloader.
Er blinkt mit ca. 4Hz...

Zitat von: rizzir am 07 März 2017, 19:13:49
Ja, aber Bootloader ist nicht gleich Bootloader. Man muss eine Firmware immer an einen Bootloader anpassen. Die Firmware von Telekatz ist momentan für den STM32Duino-Bootloader ausgelegt.
soweit komme ich ja erst gar nicht...

Zitat von: rizzir am 07 März 2017, 19:13:49
Zum testen ob der drauf ist kannst du entweder "dfu-util -l" in die Konsole eintippen und dann schnell hintereinander Reset-Button und Enter auf der PC-Tastatur drücken oder du kannst auch versuchen ein einfaches Blinky mit der Arduino-IDE zu flashen. War das erfolgreich kannst du per Arduino-Sketch den neuen Bootloader flashen. 
Genau das funktioniert ja alles nicht... dfu-util -l sagt bestenfalls "Cannot open DFU device 1eaf:0003", die meiste Zeit aber gar nicht mal das. Demenstprechend kann ich auch unter der Arduino-IDE nicht mal ein einfaches Blink hochladen.

Momentan habe ich das noch alles an dem Windowsrechner (Win10, 64bit), Problem ist das meine Linux-Maschinen alle virtuell sind und es da mit den USB-Ports meist auch Ärger gibt...

An einen Maple habe ich jetzt auch mal RX1/TX1 (und GND/3V3) angeschlossen. Dieser Flash Loader Demonstrator findet da aber auch nie was (und ja, ich habe die RESET+BTN gedrückt, dann erst RESET gelöst, und als letztes BTN).

Na ja, jetzt muss das erst mal bis Do oder Freitag warten und dann werde ich mal versuchen das doch unter Linux  ans laufen zu kriegen.

Trotzdem noch mal Danke an alle,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hallo nochmal,

ARGH!

Jetzt geht es. Beim Installieren der USB-Treiber ist wohl irgendwie schief gegangen, hatte jetzt noch mal kontrolliert und nachdem ich den Treiber jetzt noch mal neu installiert habe wird das Ding auch von der Arduino-IDE erkannt und ich konnte mal einen BLINK Sketch hochladen. Jetzt gibt es auch einen Com-Port.

Ok, sorry für das Durcheinander und Asche auf mein Haupt. Bin mir aber nicht bewusst das es beim ersten Installieren irgendeine Fehlermeldung gegegen hätte, das Gerät wurde auch als Maple angezeigt, allerdings mit dem Ausrufezeichen...

Jetzt muss ich nur noch rausfinden ob das mit dem Treiber auch den seriellen Bootloader mit dem Flash Loader Demonstrator gestört hat.

Na dann kann ich ja jetzt mal den Bootloader aktualisieren und testweise schon mal die Firmware flashen ,-)

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Und noch mal...

Ist anscheinend nicht mein Tag heute  :(
Wenn man dann auch noch Boot1 WIRKLICH mit GND verbindet und nicht lose rumliegen lässt dann geht auch der Flash Loader Demonstrator.  ;)

So, aber jetzt muss der Rest wirklich bis Donnerstag warten.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rizzir

Zitat von: Telekatz am 07 März 2017, 19:33:21
Mann kann es auch verhindern, dass der Bootloader automatisch in das geladene Programm springt. Nach einen Reset fängt der Maple erst kurz an schnell zu blinken (ca. 10 Hz). Danach blinkt er langsamer mit etwa 4Hz und nach etwa 2 Sekunden springt der Bootloader zum Hauptprogramm. Wenn man nach dem loslassen des Resetknopfes, währen er mit 10Hz blinkt, den anderen Knopf gedrückt hält bis er langsamer blinkt, bleibt er im Bootloader Modus. Dann hat man genügend Zeit das dfu-util zu starten.

Cool, das wusste ich noch nicht. Ist aber definitiv entspannter so ;)

fhem-challenge

Hallo,


jetzt hab ich bei den Firmwares den Überblick verloren.

Ich betreibe einen MapleCUN mit 4 Transceivern mit der Firmware

https://forum.fhem.de/index.php/topic,60458.msg573491.html#msg573491

... die funktioniert problemlos.

Welche Firmware ist denn für den multiCC mit eben mehreren Transceivern  (W5100 sowie W5500) lauffähig ?

Die binaries hier ...

https://www.mediafire.com/folder/iuf7lue8r578c/a-culfw

(MapleCUN )

... kann ich zwar erfolgreich flashen, aber am USB Port bekomme ich dann anschliessen keine Verbindung (kein USB Device).


Den ...

https://github.com/heliflieger/a-culfw/tree/multiCC

... gibts ja nicht mehr.



Extrem verwirrend ...


Viele Grüße!

Andreas

A.Harrenberg

Hi,

also ich habe gerade erst gestern und heute die CUN4x Firmware geflasht (aus dem Zip in Deinem Link) und es funktioniert...

Allerdings hatte ich bei einer Platine erheblichen Ärger mit dem Bootloader...

Gruß,
Andreas.

FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

Telekatz

Die Anzahl der Transceiver wird nun automatisch erkannt. Ebenso ob ein Netzwerkmodul angeschlossen ist. Falls man eins angeschlossen hat, muss man die entsprechende Firmware auswählen. Ist keins angeschlossen, dann ist das egal. Es funktionieren beide bei einem MapleCUL .

Allerding habe ich die Firmware für die Verwendung mit einem Bootloader erstellt. Wenn du sie wie bisher geflasht  hast, funktioniert es nicht. Wie du den Bootloader installierst steht in der readme.

fhem-challenge

#193
Zitat von: Telekatz am 11 März 2017, 17:49:21
Die Anzahl der Transceiver wird nun automatisch erkannt. Ebenso ob ein Netzwerkmodul angeschlossen ist. Falls man eins angeschlossen hat, muss man die entsprechende Firmware auswählen. Ist keins angeschlossen, dann ist das egal. Es funktionieren beide bei einem MapleCUL .

Allerding habe ich die Firmware für die Verwendung mit einem Bootloader erstellt. Wenn du sie wie bisher geflasht  hast, funktioniert es nicht. Wie du den Bootloader installierst steht in der readme.

Ja.

Also den bootloader zuerst ...
    maple_mini_boot20.bin ??

Mein dfu-util hat Probleme mit 1eaf:0003:

dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5100_BL.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Cannot open DFU device 1eaf:0003
No DFU capable USB device available



Habe Treiber neu in Win10 installiert ... dennoch:

dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5100_BL.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 1eaf:0003
Run-time device DFU version 0110
Claiming USB DFU Interface...
Cannot claim interface


Ich habe hier derzeit leider nur WIn10 (64) . Meine Linux Systeme sind nicht hier (vor Ort).

Klappt das Flashen mit dfu-util überhaupt korrekt mit win10 (64) ? Ist es jemandem geglückt ?


Viele Grüße!


Andreas



Telekatz

Zitat von: fhem-challenge am 11 März 2017, 19:07:28
Klappt das Flashen mit dfu-util überhaupt korrekt mit win10 (64) ? Ist es jemandem geglückt ?
Ja, mir.

Was kommt denn bei
dfu-util --list

Taucht ein Gerät "Maple DFU" überhaupt im Geräte-Manager auf?