Culfw für CSM-Modul von Busware läßt sich nicht kompilieren

Begonnen von le66ck, 20 Juni 2017, 13:09:52

Vorheriges Thema - Nächstes Thema

le66ck

Hallo

Ich habe 2 CSM-Module von Busware und will von dem älteren Modul mit Atmega324 die Culfw aktualisieren.
Sobald ich im makefile den atmega324p auswähle läuft das Kompilieren nicht durch und bricht ab mit

root@bananapi:/home/bpinas/culfw-code/culfw/Devices/CSM# make
Compiling C: CSM.c
Compiling C: ../../clib/cc1100.c
../../clib/cc1100.c: In function 'cc1100_sendbyte':
../../clib/cc1100.c:153:3: error: 'SPDR' undeclared (first use in this function)
   SPDR = data;          // send byte
   ^
../../clib/cc1100.c:153:3: note: each undeclared identifier is reported only once for each function it appears in
../../clib/cc1100.c:154:12: error: 'SPSR' undeclared (first use in this function)
   while (!(SPSR & _BV (SPIF))); // wait until transfer finished
            ^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
                 from /usr/lib/avr/include/avr/pgmspace.h:88,
                 from ../../clib/cc1100.c:3:
../../clib/cc1100.c:154:24: error: 'SPIF' undeclared (first use in this function)
   while (!(SPSR & _BV (SPIF))); // wait until transfer finished
                        ^
../../clib/cc1100.c:156:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
makefile:349: recipe for target '../../clib/cc1100.o' failed
make: *** [../../clib/cc1100.o] Error 1


Wähle ich im makefile den atmega1284p aus, ist alles bestens!!!
Das System ist ein BananaPi mit Debian Jessie 8.8 , aktuelle von Armbian.

Wo liegt mein/der Fehler?

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

le66ck

Hallo

Habs hinbekommen!!! Unter Ubuntu12.04 konnte ich meinen CSM mit/für atmega324p kompilieren.
Geflasht und "VERSION V 1.67 CSM868" wird mir angezeigt.

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

Zitat von: le66ck am 20 Juni 2017, 14:47:02
Hallo

Habs hinbekommen!!! Unter Ubuntu12.04 konnte ich meinen CSM mit/für atmega324p kompilieren.
Geflasht und "VERSION V 1.67 CSM868" wird mir angezeigt.

Christian
Hallo Christian,

mit welchen avrdude Parametern hast Du den CSM geflashed und wie hast du ihn angeschlossen?

Gibt es die Möglichkeit ihn per ISP mit dem USBasp zu flashen. Ich vermute, dass ich meinen am RasPi zerflashed habe. Glücklicher Weise habe ich zwei davon. Meine Version ist die uralte Original culfw 1.49 drauf. Ich wollte mir Testweise die 1.61 und danach die a-culfw 1.25 flashen. Auch zeigt er mir bei beiden Modulen, dass er einen 324P und nicht wie bei Busware beschrieben, einen 1284P drin hat.
mit folgendem Befehl:
avrdude -p atmega324p -P /dev/ttyAMA0 -c avr109 -b 38400 -U flash:w:CSM.hex

hatte ich ihn das erste mal geflashed, da er mir die Signatur als falsch angezeigt hat.
Das zweite Mal hiermit:

avrdude -p atmega1284p -P /dev/ttyAMA0 -c avr109 -b 38400 -U flash:w:CSM.hex -F

Beides brachte keinen Erfolg.


Danke

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........

le66ck

Hallo Uli

avrdude -p m324p -P /dev/ttyUSB0 -b 38400 -c avr109 -U flash:w:CSM.hex

Damit habe ich meinen CSM geflashed (evtl. als root ausgeführt, weis ich nicht mehr).
Angeschlossen war er über ein FTDI 3.3V/5V USB to TTL Serial Adapter Modul, was auf 3,3V gejumpert war!
RXT, TXT,+ und  - sollten klar sein und der Anschluß PD3 am CSM muß beim Einschalten auf "-" sein!

Auf Busware Homepage   http://www.busware.de/tiki-index.php?page=CSM-V2  steht

Zitatshipped with avr109-bootloader@38400Baud (pull pin 6 (PD3) LOW during startup)

Ansonsten sind/waren meine CSMs an den seriellen Schnittstellen an Raspberry und BananaPI angeschlossen und wurden jeweils darüber geflasht.

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

Hallo Christian,

genau das habe ich gemacht. Da ich jedoch den CSM direkt am GPIO auf der Seriellen ttyAMA0 Schnittstelle habe, hatte ich die Parameter dahingehend verändert. Er startete danach nicht mehr, egal welche Firmware drauf war. Flashen konnte ich ihn anfänglich noch, doch das geht nicht mehr per Serieller. Das Einzige wäre eventuell von meinem zweiten CSM (mit Original FW V1.49), den ich als Reserve habe, per ISP den Flash auszulesen und in den zerflashten zu schreiben. Das werde ich mal heute Abend machen. Eventuell bootet er dann wieder. Wenn nicht, dann kommt er in die Tonne.

ISP Flashen hat mir schon einige Dinge gerettet. Hierzu verwende ich den USBasp und unter Windows das Tool AVRDUDESS als Oberfläche für den avrdude.

Eine Sache ist mir aber immer noch nicht klar, weshalb sich das CSM als 324P meldet, jedoch laut Busware ein 1284P drinnen sein soll. Von Busware habe ich auf diese Frage leider keine Antwort erhalten. Die Doku hierzu ist auch absolut Mangelhaft.

Danke

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........

le66ck

Zitat von: hummeruli am 12 Juli 2017, 12:50:52
Eine Sache ist mir aber immer noch nicht klar, weshalb sich das CSM als 324P meldet, jedoch laut Busware ein 1284P drinnen sein soll.

Drinnen ist was drauf steht, entweder mit sehr guten Augen oder mit Lupe erkennbar :)
Bezüglich 324P und 1284P. Als ich erkannt habe, daß meine 2 CSMs auch unterschiedlich sind, war ich anfangs etwas schlecht gelaunt...!
Ich hatte aber das bekommen, was ich bestellte!!! Wer lesen kann...., jedenfalls bei mir war es so.
Und eigentlich sind alle Infos zum CSM bei Busware vorhanden, vielleicht nicht so wie man es gerne hätte!

Hast Du es überhaupt für den richtigen Atmega kompiliert?

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

#6
Zitat von: le66ck am 12 Juli 2017, 14:17:25
Drinnen ist was drauf steht, entweder mit sehr guten Augen oder mit Lupe erkennbar :)

Bezüglich 324P und 1284P. Als ich erkannt habe, daß meine 2 CSMs auch unterschiedlich sind, war ich anfangs etwas schlecht gelaunt...!
Ich hatte aber das bekommen, was ich bestellte!!! Wer lesen kann...., jedenfalls bei mir war es so.

Hast vollkommen Recht, sind beide Module 324P. Als ich die zwei bestellt habe, hatte ich nicht darauf geachtet.
Wobei ich folgendes bei Busware lesen kann, da steht nix von 324P
     3.3V operation
    CC1101 transceiver tuned for 868MHz
    ATmega1284p@8MHz - 128K Flash / 16K RAM / 4K EEPROM
    optional U.FL antenna connector
    optional HF shield
    two multipurpose LED
    dimensions: 28mm x 16.5mm x 2.8 mm
    pin compatible with 800/2400MHz IEEE802.15.4 radios
    shipped with avr109-bootloader@38400Baud (pull pin 6 (PD3) LOW during startup)


Zitat von: le66ck am 12 Juli 2017, 14:17:25
Hast Du es überhaupt für den richtigen Atmega kompiliert?

Christian


Ich habe es fertig heruntergeladen, wie ich es auch schon bei meinem CUL gemacht hatte.

Hänge gerade noch an meinen Mysensors Modulen dran, Klingelsignal mit Weitermeldung per Pushover. Und Alexa ärgert mich auch noch etwas. Sie macht das was Frauen tun, gibt Wiederworte und folgt nicht.

Mal sehen ob ich das CSM wieder zum Laufen bewegen kann.

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........

le66ck

Zitat von: hummeruli am 12 Juli 2017, 15:29:31
Ich habe es fertig heruntergeladen, wie ich es auch schon bei meinem CUL gemacht hatte.

Ich denke, da sollte dann Dein Fehler liegen, das File dort ist bestimmt für den 1284P kompiliert!!!
Ich könnte Dir meins schicken.

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

Na das erklärt vermutlich alles. So ein Mist. Klar,kann nicht anders sein. Welche Firmware hast Du im Einsatz?
Die Normale V1.61 habe ich auf dem CUL868-Stick. Jedoch würde ich mir gerne die a-culfw drauf machen.
Hast Du sie selbst gemacht, und wenn ja, nach welcher Anleitung? Ich hatte keine Lust auf Crosscompiling.

Danke

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........

le66ck

Ich habe die Version 1.67 für den Atmega324P.

Unter meinem virtuellen Ubuntu 12.04 folgendes gemacht


sudo apt-get install subversion make gcc-avr avrdude avr-libc
svn checkout svn://svn.code.sf.net/p/culfw/code/trunk culfw-code
cd culfw-code/culfw/Devices/CSM
make


Und vorher noch das makefile im CSM-Verzeichnis angepasst, vom atmega324 Raute entfernt und vom atmega1284p Raute vorangestellt.

Christian
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

Das wäre zu schön gewesen, wenn es geklappt hätte. Der Compiler bricht immer beim CSM ab. Egal ob ich culfw oder a-culfw nehme.

Hier die aktuelle a-culfw

ompiling C: CSM.c
Compiling C: ../../clib/cc1100.c
../../clib/cc1100.c: In function 'cc1100_sendbyte':
../../clib/cc1100.c:218:3: error: 'SPDR' undeclared (first use in this function)
   SPDR = data;          // send byte
   ^
../../clib/cc1100.c:218:3: note: each undeclared identifier is reported only once for each function it appears in
../../clib/cc1100.c:219:12: error: 'SPSR' undeclared (first use in this function)
   while (!(SPSR & _BV (SPIF))); // wait until transfer finished
            ^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
                 from /usr/lib/avr/include/avr/pgmspace.h:88,
                 from ../../clib/cc1100.c:1:
../../clib/cc1100.c:219:24: error: 'SPIF' undeclared (first use in this function)
   while (!(SPSR & _BV (SPIF))); // wait until transfer finished
                        ^
../../clib/cc1100.c:222:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
makefile:358: recipe for target '../../clib/cc1100.o' failed


Bekomme es irgendwie nicht hin.

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........

le66ck

Hallo Uli

Siehe Überschrift, Beitrag 1 und 2 von mir! ???
Du mußt sicherlich ein älteres System als z.B. Debian Jessie zum Kompilieren nehmen!
Ich hatte unter Virtualbox noch ein Ubuntu12.04 schnell zur Verfügung und damit gings halt.
Oder jemand kann mit den Fehlermeldungen was anfangen und kennt evtl. eine andere Möglichkeit.

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

hummeruli

Zitat von: le66ck am 20 Juli 2017, 02:53:28
Hallo Uli

Siehe Überschrift, Beitrag 1 und 2 von mir! ???
Du mußt sicherlich ein älteres System als z.B. Debian Jessie zum Kompilieren nehmen!
Ich hatte unter Virtualbox noch ein Ubuntu12.04 schnell zur Verfügung und damit gings halt.
Oder jemand kann mit den Fehlermeldungen was anfangen und kennt evtl. eine andere Möglichkeit.

CK

Ups, sorry. Wer lesen kann...

Hab mir ne 12.04 als Desktop Virtualbox aufgesetzt. Jetzt hat das compilieren geklappt. Heute Abend flash ich ihn.

Danke nochmal.

Uli
Beim Erstellen dieser Nachricht kamen weder Tiere zu Schaden, noch wurde Papier verschwendet. Alles von mir geschriebene ist biologisch abbaubar.


FHEM auf Debian Buster in einr Proxmox VM , LaCrosseGateway, AVR-NET-IO, Homematic, Alexa, S300TH, Signalduino..........