Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden

Der CUL-V3-OEM CC1101 für 868 Mhz von Busware mit fester lambda/4 Mikroantenne wird ohne Firmware geliefert. CUL V3 – ATMega32U4 Prozessor, 2,5 kB RAM, 32 kB Flashmemory, 1 kByte EEPROM, Herstellungs Video):
20140303-205015.jpg

Zuerst muss also der CUL mit einer aktuellen Firmware geflasht werden, so wie
hier für Mac OS X beschrieben. Also die aktuelle culfw 1.55 Firmware oder neuer laden und in ein Verzeichnis entpacken.

Dann brauchen wir noch das Programm zum flashen der Firmware, welches wir mit
sudo port install dfu-programmer
auf der Konsole installieren können.

Testen ob der Programmer richtig installiert wurde geht mit
$ dfu-programmer
Ausgabe:
dfu-programmer 0.5.4
Usage: dfu-programmer target command [command-options] [global-options] [file|data]
targets:
at89c51snd1c
at89c51snd2c
at89c5130
at89c5131
at89c5132
at90usb1287
at90usb1286
at90usb1287-4k
at90usb1286-4k
at90usb647
at90usb646
at90usb162
at90usb82
atmega32u6
atmega32u4
atmega32u2
atmega16u4
atmega8u2
at32uc3a0128
at32uc3a1128
at32uc3a0256
at32uc3a1256
at32uc3a0512
at32uc3a1512
at32uc3a0512es
at32uc3a1512es
at32uc3a364
at32uc3a364s
at32uc3a3128
at32uc3a3128s
at32uc3a3256
at32uc3a3256s
at32uc3b064
at32uc3b164
at32uc3b0128
at32uc3b1128
at32uc3b0256
at32uc3b1256
at32uc3b0256es
at32uc3b1256es
at32uc3b0512
at32uc3b1512
at32uc3c064
at32uc3c0128
at32uc3c0256
at32uc3c0512
at32uc3c164
at32uc3c1128
at32uc3c1256
at32uc3c1512
at32uc3c264
at32uc3c2128
at32uc3c2256
at32uc3c2512
global-options: --quiet, --debug level
commands:
configure {BSB|SBV|SSB|EB|HSB} [--suppress-validation] [global-options] data
dump [global-options]
dump-eeprom [global-options]
dump-user [global-options]
erase [--suppress-validation] [global-options]
flash [--suppress-validation] [--suppress-bootloader-mem] [global-options] {file|STDIN}
flash-eeprom [--suppress-validation] [global-options] {file|STDIN}
flash-user [--suppress-validation] [global-options] {file|STDIN}
get {bootloader-version|ID1|ID2|BSB|SBV|SSB|EB|
manufacturer|family|product-name|
product-revision|HSB} [global-options]
getfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE} [global-options]
setfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE} [global-options] data
reset [global-options]
start [global-options]
version [global-options]

Stick in USB Port mit gleichzeitig betätigten Reset-Knopf einstecken (mit Büroklammer). Keine LED leuchtet.
In das Verzeichnis cd /culfw-1.55/Devices/CUL wechseln.

ls
Ausgabe:
CUL.c CUL_V2_HM.hex CUL_V3.hex board.h makefile.myusb
CUL_V2.hex CUL_V2_MAX.hex CUL_V4.hex makefile

Nun den flash Vorgang starten, es dauert nur ein paar Sekunden:
$ make usbprogram_v3
Ausgabe:
dfu-programmer atmega32u4 erase || true
dfu-programmer atmega32u4 flash CUL_V3.hex
Validating...
18582 bytes used (64.81%)
dfu-programmer atmega32u4 start

Nun blinkt die grüne LED am Stick.

Nun den CUL USB-Stick in den Raspberry Pi stecken und testen ob er erkannt wird:
lsusb
Ausgabe zeigt den erkannten USB CUL an:
Bus 001 Device 007: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
Nun noch im Fhem Server in der fhem.cfg eintragen (0000=Hauscode):

define myCUL CUL /dev/ttyACM0 0000
attr myCUL room CUL_HM

Nach einem reread ist alles ok, und der CUL wird wie folgt erkannt:
Bildschirmfoto 2014-03-03 um 19.26.56

Der eingestellte Hauscode (= FHTID hier 0000) kann in Fhem mit:
get myCUL raw T01
ermittelt werden:
Ausgabe:
myCUL raw => 0000
Und die Version mit
get myCUL raw V
Ausgabe:
myCUL raw => V 1.55 CUL868

In einem folgenden Blogbeitrag wird noch die Einbindung des FS20 KSE beschrieben.