Cc1101 von Ebay

Begonnen von stim, 17 Juni 2014, 20:46:24

Vorheriges Thema - Nächstes Thema

gloob

Kann man Autocreate beim NanoCul irgendwie deaktivieren? Ich bekomme in letzter Zeit immer neue Einträge von IT Steckdosen mit Log erstellt.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Funsailor

Zitat von: Paul.baumann am 01 Mai 2015, 20:42:56
Hallo,

ich habe gerade meinen ersten NanoCUL wie im http://www.fhemwiki.de/wiki/Selbstbau_CUL beschrieben zusammengebaut.

Das Flashen der Firmware ist fehlerfrei durchgelaufen. Ebenso blinkt die LED an Pin9 im Sekundentakt.

Leider funktioniert aber der Test via Minicom nicht, ich bekomme weder auf V noch auf ? eine Antwort.

Hat jemand eine Idee?

Paul
Hallo Paul,
arbeitest du mit Windows und HTerm (oder ähnlichen Terminal Programm)?
Dann liegt es am fehlenden CR/LF
Ich bin über das gleiche Problem gestoßen und habe mich da auch ein wenig geärgert.
siehe da:
http://forum.fhem.de/index.php/topic,24651.555.html
Funsailor Antwort 566
Das sollte man in der Anleitung genauer beschreiben, nicht alle Terminalprogramme schicken automatisch ein CR LF  >:(

Viel Erfolg
Funsailor
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Philipp

Meine nanoCUL433 Variante, läuft...  8) Danke!!

Philipp


Funsailor

Hallo Philipp,
woran lag es?
Funsailor
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Philipp

Hat gleich funktioniert, sorry. Wollte nur den simplen Levelshifter zeigen.
lg
Philipp

Paul.baumann

Zitat von: Funsailor am 06 Mai 2015, 13:06:43
Hallo Paul,
arbeitest du mit Windows und HTerm (oder ähnlichen Terminal Programm)?
Dann liegt es am fehlenden CR/LF
Ich bin über das gleiche Problem gestoßen und habe mich da auch ein wenig geärgert.
siehe da:
http://forum.fhem.de/index.php/topic,24651.555.html
Funsailor Antwort 566
Das sollte man in der Anleitung genauer beschreiben, nicht alle Terminalprogramme schicken automatisch ein CR LF  >:(

Viel Erfolg
Funsailor

Hallo Funsailor,

tatsächlich macht Minicom hier Probleme. Ich bin jetzt auf Screen umgestiegen und habe keine Probleme mehr.

Danke Paul
FHEM auf Raspberry 3
MaxCube (V1.20.04 a-culfw) für HM, MaxCube (V1.20.04 a-culfw) für diverse Max!, NanoCul 433/868, TinyTX-Nachbauten
Multiroom: mehrere Squeezelite-Clients auf Raspberry B+ und LMS auf QNap
Huger WM918 Wetterstation integriert
Tiao-Sprinkler (Open-Sprinkler) integriert

kadettilac89

Hallo,

ist es möglich den CC1101 an andere Pins anzuschließen? Ich habe wahrscheinlich einen Arduino Nano mit dem ich zwar senden aber nicht empfangen kann. Selber Sketch, selber CC1101, selbe Konfig in FHEM mit anderen Arduino funktioniert problemlos. Ich gehe davon aus, dass einer der Pins nicht funktioniert.

Wenn ich mich nicht irre ist das empfangen an Pin D2. Was müsste ich in welchem File ändern damit ich den Nano dennoch verwenden könnte?

Danke!

kaihs

Zitat von: kadettilac89 am 09 Mai 2015, 18:17:33
Wenn ich mich nicht irre ist das empfangen an Pin D2. Was müsste ich in welchem File ändern damit ich den Nano dennoch verwenden könnte?

In board.h dieser Abschnitt:

/* CC1101 GDO2 Rx Interrupt */
#define CC1100_IN_DDR           DDRD
#define CC1100_IN_PORT          PIND
#define CC1100_IN_PIN           PD2
#define CC1100_IN_IN            PIND

#define CC1100_INT              INT0
#define CC1100_INTVECT          INT0_vect
#define CC1100_ISC              ISC00
#define CC1100_EICR             EICRA


Der neue Pin muss einen Pin Change Interrupt unterstützen, daher muss der zweite Abschnitt in dem Ausschnitt oben passend zum ersten angepasst werden.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kadettilac89

Hallo kaihs,

danke für die schnelle Antwort. Leider sagen mir die Parameter nichts. Lt. Doku von Arduino sind nur Pin 2+3 per Default "change pin interrupt". Wenn ich es richtig verstanden hab können die anderen Pins aber durch eigene Routinen auch auf interrupts reagieren. Da hörts dann auf mit dem Verständnis. Einfach PD2 durch PD9 (für D9 ..) ist also nicht.

Egal, dann hol ich mir das Geld vom freundlichen Chinesen für den defekten Nano zurück und es wars.

kaihs

Die Arduino Doku ist da wahrscheinlich nicht das richtige Nachschlagewerk. Die culfw verwendet ja nicht die Arduino Routinen. Daher ist das Datenblatt des ATMega328p da besser geeignet.

Alle Portpins können einen Pin Change Interrupt, nur halt jeder Pin einen anderen.
Am schnellsten sieht man das wahrscheinlich im Pinout, siehe Bild.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kadettilac89

ich hab scheinbar ein Verständnisproblem ... ich nehme die Kennung für den Interrupt aus der Grafik. Für PD7 wäre das AIN1. In board.h tausche ich nun die Definition INT0 gegen AIN1 aus -->


/* CC1101 GDO2 Rx Interrupt */
#define CC1100_IN_DDR DDRD
#define CC1100_IN_PORT          PIND
#define CC1100_IN_PIN           PD7
#define CC1100_IN_IN            PIND

#define CC1100_INT AIN1
#define CC1100_INTVECT          AIN1_vect
#define CC1100_ISC ISC00
#define CC1100_EICR             EICRA


Wenn ich nun make ausführe erhalte ich Fehlermeldungen ...
- BananaPI
- alternative Firmware aus http://forum.fhem.de/index.php/topic,35064.0.html Version 1.03.04 (Version 1.04 funktioniert nicht)

Scheinbar wird auf INT0, INT1 geprüft. Ich hab PD5 (T1) und PD7 (AIN1) getestet. Nur INT0/1 funktioniert.


2 root@bananapi ..fw1.3.04_pintest/culfw/Devices/nanoCUL # make                                                       :(
make TARGET=nanoCUL868 mostly_clean sizebefore build sizeafter
make[1]: Entering directory `/home/aculfw1.3.04_pintest/culfw/Devices/nanoCUL'
Cleaning project:
Compiling C: nanoCUL.c
Compiling C: ../../clib/cc1100.c
../../clib/cc1100.c: In function 'ccInitChip':
../../clib/cc1100.c:166:13: error: 'AIN1' undeclared (first use in this function)
../../clib/cc1100.c:166:13: note: each undeclared identifier is reported only once for each function it appears in
../../clib/cc1100.c: In function 'ccTX':
../../clib/cc1100.c:273:14: error: 'AIN1' undeclared (first use in this function)
../../clib/cc1100.c: In function 'ccRX':
../../clib/cc1100.c:292:12: error: 'AIN1' undeclared (first use in this function)
make[1]: *** [../../clib/cc1100.o] Fehler 1
make[1]: Leaving directory `/home/aculfw1.3.04_pintest/culfw/Devices/nanoCUL'
make: *** [all] Fehler 2

kaihs

Zitat von: kadettilac89 am 09 Mai 2015, 22:10:24
ich hab scheinbar ein Verständnisproblem ... ich nehme die Kennung für den Interrupt aus der Grafik. Für PD7 wäre das AIN1. In board.h tausche ich nun die Definition INT0 gegen AIN1 aus -->


Nein, für PD7 ist das PCINT23.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

hexenmeister

INT0 und INT1 sind nicht das selbe, wie die PCINT. PCINT kann zwar jeder Pin, aber die reagieren immer auf Level-Wechsel. INTx kann konfiguriert werden (steigende Flanke, fallende Flanke, Wechsel,..) Daher denke ich nicht, dass das einfach ausgetauscht werden kann.

Es können also nur Pins 2 und 3 verwendet werden.

Zuordnung von Arduino-Pins zu Atmel-Pins:
(http://www.s6z.de/cms/images/content/arduino/ATMEL/Arduino_Nano_Pinbelegung.png)

kaihs

Ja, sorry, hexenmeister hat recht.

Nur durch Änderung des Includes lässt sich nicht jeder PCINT nutzen. Ich denke aber, dass es von der Funktionalität her möglich wäre, es wird auch jetzt bei jeder Änderung getriggert:


rf_receive.c:  SET_BIT( CC1100_EICR, CC1100_ISC);  // Any edge of INTx generates an int.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kadettilac89

egal, mit PCINT23 funktioniert es nicht. Arduino wird entsorgt. Aber ich hab gelernt was die Kürzel neben den PD* bedeuten.

Danke euch beiden und noch ein schönes Wochenende.