Neuigkeiten:

Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden ;)

Hauptmenü

culfw@ARM

Begonnen von Telekatz, 22 Juni 2015, 22:42:29

Vorheriges Thema - Nächstes Thema

Telekatz

Hallo,

ich möchte euch meine Portierung der culfw für AT91SAM7-Controller vorstellen. Lauffähig ist diese Version auf dem HM-CFG-USB-2 und dem MAX! Cube.
Die beiden Geräte können dann wie ein CUL in FHEM eingebunden werden.

Quellcode:
Der Quellcode ist in der a-culfw enthalten. Zum Erstellen der Firmware wurde diese Toolchain verwendet.

Firmware flashen :
Die kompilierten Bin Dateien findet Ihr unter https://www.mediafire.com/folder/iuf7lue8r578c/a-culfw. Die Firmware besteht aus zwei Teilen. Einem Bootloader (bootloader_CUBE.bin bzw. bootloader_HM_CFG.bin) und der eigentlichen culfw (CUBE_BL.bin bzw. HM_CFG_BL.bin).

Flashanleitung MSC Bootloader (neu): https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/CUBe
Flashanleitung XMODEM Bootloader (alt): https://github.com/heliflieger/a-culfw/tree/2f863c8576ecb5f5910509d268163bbee9da13a5/culfw/Devices/CUBe


Update 23.01.2020:
Flashanleitung verlinkt

chris1284

Gerade mit dem HM-CFG-USB-2 sehr interessant -> CUL 868 für 25€. Ich werde mir wohl direkt einen 2. bestellen müssen. Danke für das veröffentlichen. Würdest du ggf noch eine Version mit der alternativen culfw http://forum.fhem.de/index.php?topic=35064.0 bereitstellen können?

Wie sehen spätere updates der firmware aus? Hex-file vom cul und los geht denke ich nicht

Telekatz

Nein, die HEX Files vom CUL passen nicht, die sind für ATMega Controller. Im HM-CHG-USB-2 und im Cube steckt ein ARM drin. Das muss neu compiliert werden.

Und mit der alternativen culfw müsste ich erst mal schauen, wieweit der Code dort von der culfw abweicht. Da in der culfw kein HAL vorhanden ist, muss der gesamte Code durchforstet werden, um das auf einer anderen Plattform zum laufen zu bringen.

Wzut

Danke für die ausführliche Anleitung, so kann der inzwischen durch einen CUL abgelöste Cube doch noch sinnvoll weiter verwendet werden.
Wenn ich deine Anleitung richtig verstanden habe ist es allerdings dann vorbei mit Netzwerkzugriff, da dann der Datenaustausch noch via USB läuft ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Telekatz

Richtig, der Netzwerkzugrif funktioniert momentan noch nicht. Da muss ich mir erstmal den Beispielcode von Atmel ansehen, um den uIP Stack auch zu aktivieren.

ccier

Ist denn heute schon Weihnachten?  ;D

Erst das hier:
http://forum.fhem.de/index.php/topic,38317.msg305426.html#msg305426

Und jetzt auch noch eine ARM-variante von CUL für den HM-CFG-USB-2.

Super!

Hat das auch schon jemand in Kombination getestet?






bjoernh

Zitat von: Telekatz am 23 Juni 2015, 12:00:20
Nein, die HEX Files vom CUL passen nicht, die sind für ATMega Controller. Im HM-CHG-USB-2 und im Cube steckt ein ARM drin. Das muss neu compiliert werden.

Und mit der alternativen culfw müsste ich erst mal schauen, wieweit der Code dort von der culfw abweicht. Da in der culfw kein HAL vorhanden ist, muss der gesamte Code durchforstet werden, um das auf einer anderen Plattform zum laufen zu bringen.
Die a-culfw ist im prinzip auf der culfw aufgebaut. Einzig die Empfangsmodule habe ich aufgeräumt und erweitert. D.h. die Hardwareanbindung ist noch 100% identisch zur culfw.

Telekatz

Der Quellcode für die ARM Version ist jetzt in der a-culfw enthalten.

Noch ein Hinweis zur Hardware des HM-CFG-USB-2 und des MAX! Cube. Mir aufgefallen, dass bei diversen MAX und Homematic Geräten Funkmodule mit einem Si4431 anstelle eines CC1101 Chips verwendet werden. In der Regel steht der Typ des Funkmoduls Außen auf dem Gerät. TRX868-TFK-TI für den CC1101 und TRX868-TFK-SL für den Si4431.
Die culfw funktioniert nur mit einem CC1101 Funkmodul. Die beiden HM-CFG-USB-2 Adapter die ich habe, haben einen CC1101 verbaut. Allerdings könnte es auch welche geben, die einen SI4431 haben. Bitte dies vor dem löschen der Originalfirmware kontrollieren.
Auf meinem Cube steht hingegen nur TRX868. Den habe ich allerdings auch schon seit 2012. Könnte hier bitte mal jemand der sich kürzlich einen Cube gekauft hat nachsehen, ob der Typ des Funkmoduls jetzt auch genauer angegeben ist?

Loctotex

Hallo Telekatz,

vielen Dank dafür. Habe es mit einem HM-CFG-USB2 ausprobiert. Funktioniert perfekt. Ich musste den 10k Widerstand einlöten. Er kann aber nach dem Flashen wieder entfernt werden.

stenny73

Hallo

Bisher hatte ich zwar noch keine Probleme eines Senilen Cube.... Aber da ich eine Ersatgerät liegen habe würde ich es einfach mal
ausprobiren.....

Im Vorfeld noch zwei Frage...
- Fungiert ein Cube oder USB-CFG dann genau wie ein CUL - also man könnte den Cube auch auf HomeMatic umstellen?
- Wird der Netzwerkanschluss noch mit intregiert?



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

Bis auf den Firmwareupdate aus FHEM heraus ist alles möglich, was mit dem CUL auch möglich ist. Der Netzwerkanschluss vom Cube wird auch noch integriert.

stenny73

#11
Genial!!!!!!!!!!!!!!!!!

Dann wird der zweite heute umgebastellt....



Nachtrag: Und läuft..... Perfekt
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

Blizzard

Hallo Telekatz,

zuerst einmal vielen Dank für die geniale Idee und deine Umsetzung!

Ich habe gleich mal einen alten Cube geflasht, der hin- und wieder an der vielleicht bekannten Amnesie gelitten hatte (alle 2-3 Monate waren alle Daten weg --> Werksreset!). Jetzt weiß ich nicht, ob es ein Einzelfall ist, oder ob es vielleicht auch mit der Amnesie zu tun hat, aber ich musste am Debug-Port (ST2) noch einen Pull-up-Widerstand zwischen Pin1 und Pin3 einlöten.
Ohne diesen hatte ich ein paar seltsame Fehlerbilder:
- beim Verbinden mit PC oder RPi startete die Fw immer wieder neu (alle 2-3 sec. flackerten kurz die LEDs und der Cube verschwand kurz aus dem Gerätemanager).
- Falls eine stabile Verbindung mal hergestellt war, kam neben den richtigen Daten auch häufig viel Datenmüll an.
- das Flashen hatte interessanterweise auch ohne den Pull-up Widerstand fehlerfrei funktioniert...

Wird in der Firmware eigentlich ein interner Pull-up auf diesen Port gesetzt? Habe leider vor einiger Zeit den Schaltplan vom Cube entsorgt und konnte es auf die Schnelle nicht mehr in der Firmware nachvollziehen...
Mit dem Pull-up Widerstand schnurrt das Teil jetzt wie ein Kätzchen, ich freue mich schon auf die Netzwerk-Anbindung! Echt geniale Arbeit von Dir! :-)

Viele Grüße,
Martin




Blizzard

Zitat von: Telekatz am 06 Juli 2015, 20:59:36

Noch ein Hinweis zur Hardware des HM-CFG-USB-2 und des MAX! Cube. Mir aufgefallen, dass bei diversen MAX und Homematic Geräten Funkmodule mit einem Si4431 anstelle eines CC1101 Chips verwendet werden. In der Regel steht der Typ des Funkmoduls Außen auf dem Gerät. TRX868-TFK-TI für den CC1101 und TRX868-TFK-SL für den Si4431.
Die culfw funktioniert nur mit einem CC1101 Funkmodul. Die beiden HM-CFG-USB-2 Adapter die ich habe, haben einen CC1101 verbaut. Allerdings könnte es auch welche geben, die einen SI4431 haben. Bitte dies vor dem löschen der Originalfirmware kontrollieren.
Auf meinem Cube steht hingegen nur TRX868. Den habe ich allerdings auch schon seit 2012. Könnte hier bitte mal jemand der sich kürzlich einen Cube gekauft hat nachsehen, ob der Typ des Funkmoduls jetzt auch genauer angegeben ist?

Auf meinem Cube (gekauft Anfang 2015) steht TRX868-TI, ähnlich dem HM-CFG-USB-2 . :)

Telekatz

Hallo Martin,

dein Cube empfängt wohl irgend einen Datenmüll über die serielle Schnittstelle der Debug Unit. Dort hatte ich zu Testzwecken einen einen Befehl eingebaut, mit dem sich die USB Verbindung lösen und wieder verbinden lässt. Dadurch verschwindet der Cube immer wieder aus dem Gerätemanager. Der restliche Datenmüll wird dann noch von der Debug Unit zur Konsole der USB Verbindung weitergeleitet.

Ein Pull-up für diesen Port war nicht gesetzt. Das habe ich jetzt geändert, das Problem sollte dadurch gelöst sein. Außerdem habe ich auch noch die Netzwerkunterstützung für den Cube mit in die a-culfw eingecheckt.

Zitat von: Blizzard am 22 August 2015, 21:48:18
Auf meinem Cube (gekauft Anfang 2015) steht TRX868-TI, ähnlich dem HM-CFG-USB-2 . :)
Ja, das ist das passende Funkmodul.