SIGNALDuino Empfänger Firm- und Hardware

Begonnen von Ralf9, 02 Oktober 2016, 22:59:51

Vorheriges Thema - Nächstes Thema

Ralf9

Eine Möglichkeit wäre, nur 2 Varianten mit 433 MHz, nanoCC1101 und prominiCC1101.
Es wäre dann in der 00_Signalduino.pm ein Attribut CC1101_Frequenz notwendig.
Wenn bei der Initialisierung die Antwort des V-Befehls die Version CC1101 enthält und das Attribut CC1101_Frequenz existiert, dann könnte per W-Befehle die Frequenz geändert werden.

Für das Empfangen der OOK-Signale müsste eigentlich eine Variante reichen. Falls Du z.B. auch FM-Signale empfangen willst, dann müssten die dazu notwendigen Änderungen per W-Befehl ins EEPROM und Register geschrieben werden.
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

juergs

ZitatIch kenne Unterschied zwischen PATable und Register leider noch nicht.

Mit PATable = Tabelle kann ein Power-Amplifier-Ramping durchgeführt werden.
Das Ramping wäre für FS20 (SlowRF) möglich, ist aber nicht implementiert.
So dass für die Verstärkung (PA) beim senden nur Einzelwerte berücksichtigt werden.

Ralf9

Ich habe das dev-r33_cc1101 etwas angepasst, damit das compilieren mit der Arduino IDE einfacher ist
https://github.com/RFD-FHEM/SIGNALDuino/tree/dev-r33_cc1101

Dazu müssen die folgenden Dateien in das Sketch-Verzeichnis kopiert werden
bitstore.h
cc1101.h
FastDelegate.h
output.h
RF_Receiver.ino
signalDecoder.cpp
signalDecoder.h
SimpleFIFO.h


Die TimerOne Lib habe ich ins libraries Verzeichnis kopiert
https://github.com/PaulStoffregen/TimerOne

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Sidey

Man könne vielleicht ein kleines Script erstellen, welches die Dateien mittels link im Hauptverzeichnis verfügbar macht.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

juergs

#79
Hallo Ralf,

danke. Bin mittlerweile doch auf VisualMicro umgestiegen.

Aber in https://github.com/RFD-FHEM/SIGNALDuino/blob/dev-r33_cc1101/src/_micro-api/libraries/signalDecoder/src/signalDecoder.cpp
fehlt immer noch die Methode setRSSICallback

Gilt das auch für Linux?
Erstellt eine symbolische Verknüpfung.

MKLINK [[/D] | [/H] | [/J]] Verknüpfung Ziel

        /D           Erstellt eine symbolische Verknüpfung für ein Verzeichis.
                     Standardmäßig wird eine symbolische Verknüpfung für
                     eine Datei erstellt.
        /H           Erstellt eine feste Verknüpfung anstelle einer
                     symbolischen Verknüpfung.
        /J           Erstellt eine Verzeichnisverbindung.
        Verknüpfung  Gibt den Namen für die symbolischen Verknüpfung an.
        Ziel         Gibt den Pfad (relativ oder absolut) an, auf den die
                     neue Verknüpfung verweist.


oder ein make?

Jürgen

Sidey

Das ist richtig, ich habe die Funktion in der Signaldecoder.h definiert....
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

juergs

Jetzetle, sorry hab ich übersehen ...  :-[

Jürgen

Ralf9

Ich habe nun auch das Schreiben und Lesen der PATABLE eingebaut.
Wenn man mit WS35 den Sender einschaltet, funktioniert das Senden schon.

Ich habe in der zweiten Nachricht eine kleine Dukumentation geschrieben
https://forum.fhem.de/index.php/topic,58396.msg497921.html#msg497921

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Sidey

Hi Ralf,

danke für deinen Einsatz.

Was müssen wir denn noch machen, damit das Senden funktioniert?
Das Register fürs Senden setzen und dann den SENDPin wie bisher auf an / aus stellen?

Grüße Sidey

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Ralf9

Vor dem Senden muß von RX auf TX gewechselt werden.
Erst nach SIDLE (0x36)
dann kurz warten
und dann nach TX (0x35)

Das senden funktioniert wie seither mit dem sendpin

nach dem senden
nach SIDLE (0x36) evtl reicht auch  SFSTXON (0x31),
dann kurz warten
und dann nach RX (0x34)

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hjgode

Zitat von: juergs am 30 Dezember 2016, 12:20:25
Hallo Ralf,

danke. Bin mittlerweile doch auf VisualMicro umgestiegen.

Aber in https://github.com/RFD-FHEM/SIGNALDuino/blob/dev-r33_cc1101/src/_micro-api/libraries/signalDecoder/src/signalDecoder.cpp
fehlt immer noch die Methode setRSSICallback

Gilt das auch für Linux?
Erstellt eine symbolische Verknüpfung.

MKLINK [[/D] | [/H] | [/J]] Verknüpfung Ziel

        /D           Erstellt eine symbolische Verknüpfung für ein Verzeichis.
                     Standardmäßig wird eine symbolische Verknüpfung für
                     eine Datei erstellt.
        /H           Erstellt eine feste Verknüpfung anstelle einer
                     symbolischen Verknüpfung.
        /J           Erstellt eine Verzeichnisverbindung.
        Verknüpfung  Gibt den Namen für die symbolischen Verknüpfung an.
        Ziel         Gibt den Pfad (relativ oder absolut) an, auf den die
                     neue Verknüpfung verweist.


oder ein make?

Jürgen

Hi

unter Linux gibts das schon immer:
Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
  or:  ln [OPTION]... TARGET                  (2nd form)
  or:  ln [OPTION]... TARGET... DIRECTORY     (3rd form)
  or:  ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
By default, each destination (name of new link) should not already exist.
When creating hard links, each TARGET must exist.  Symbolic links
can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]      make a backup of each existing destination file
  -b                          like --backup but does not accept an argument
  -d, -F, --directory         allow the superuser to attempt to hard link
                                directories (note: will probably fail due to
                                system restrictions, even for the superuser)
  -f, --force                 remove existing destination files
  -i, --interactive           prompt whether to remove destinations
  -L, --logical               dereference TARGETs that are symbolic links
  -n, --no-dereference        treat LINK_NAME as a normal file if
                                it is a symbolic link to a directory
  -P, --physical              make hard links directly to symbolic links
  -r, --relative              create symbolic links relative to link location
  -s, --symbolic              make symbolic links instead of hard links
  -S, --suffix=SUFFIX         override the usual backup suffix
  -t, --target-directory=DIRECTORY  specify the DIRECTORY in which to create
                                the links
  -T, --no-target-directory   treat LINK_NAME as a normal file always
  -v, --verbose               print name of each linked file
      --help     display this help and exit
      --version  output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

Using -s ignores -L and -P.  Otherwise, the last option specified controls
behavior when a TARGET is a symbolic link, defaulting to -P.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/ln>
or available locally via: info '(coreutils) ln invocation'


und make sowieso...

Usage: make [options] [target] ...
Options:
  -b, -m                      Ignored for compatibility.
  -B, --always-make           Unconditionally make all targets.
  -C DIRECTORY, --directory=DIRECTORY
                              Change to DIRECTORY before doing anything.
  -d                          Print lots of debugging information.
  --debug[=FLAGS]             Print various types of debugging information.
  -e, --environment-overrides
                              Environment variables override makefiles.
  --eval=STRING               Evaluate STRING as a makefile statement.
  -f FILE, --file=FILE, --makefile=FILE
                              Read FILE as a makefile.
  -h, --help                  Print this message and exit.
  -i, --ignore-errors         Ignore errors from recipes.
  -I DIRECTORY, --include-dir=DIRECTORY
                              Search DIRECTORY for included makefiles.
  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
  -k, --keep-going            Keep going when some targets can't be made.
  -l [N], --load-average[=N], --max-load[=N]
                              Don't start multiple jobs unless load is below N.
  -L, --check-symlink-times   Use the latest mtime between symlinks and target.
  -n, --just-print, --dry-run, --recon
                              Don't actually run any recipe; just print them.
  -o FILE, --old-file=FILE, --assume-old=FILE
                              Consider FILE to be very old and don't remake it.
  -O[TYPE], --output-sync[=TYPE]
                              Synchronize output of parallel jobs by TYPE.
  -p, --print-data-base       Print make's internal database.
  -q, --question              Run no recipe; exit status says if up to date.
  -r, --no-builtin-rules      Disable the built-in implicit rules.
  -R, --no-builtin-variables  Disable the built-in variable settings.
  -s, --silent, --quiet       Don't echo recipes.
  -S, --no-keep-going, --stop
                              Turns off -k.
  -t, --touch                 Touch targets instead of remaking them.
  --trace                     Print tracing information.
  -v, --version               Print the version number of make and exit.
  -w, --print-directory       Print the current directory.
  --no-print-directory        Turn off -w, even if it was turned on implicitly.
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                              Consider FILE to be infinitely new.
  --warn-undefined-variables  Warn when an undefined variable is referenced.

This program built for i586-pc-linux-gnu
Report bugs to <bug-make@gnu.org>


~josef

Guten Rutsch
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

juergs

#86
Hallo Josef,

... informativ + gut gemeint, habe mich aber vielleicht falsch ausgedrückt.
Ich meinte: "Syntax-kompatibel mit der Linux-Seite".

Das Problem ist ja, die Arduino IDE erwartet die Libs ja an bestimmten Stellen oder lokal.
Beim Entwickeln ist das aber eher ein Hindernis, weil man die Includes abändern muss.
Die Symbolischen-Links wären hier von Vorteil, da man die Standard-Include #include<lib_xy.h> so lassen könnte.
Da die Include-Hierarchien schnell unübersichtlich werden können.
Wenn nur einer daran entwickelt mag das zwar egal sein, bei mehreren Entwicklern aber eher ein Hindernis.

Grüße + einen guten Rutsch in neue Jahr!
Jürgen

juergs

#87
Hallo Ralf9,

wollte den Output der OOK-Modul- und Deiner CC1101-Variante im DSO || LA gegenüberstellen
um die Übertragungsqualität zu begutachten und evtl. auch mit der Parametrierung zu experimentieren.

Allerdings bekomme ich in meiner plain Arduino-Variante den Kompile nicht komplett durch:
ZitatC:\Users\Jürgen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.15\cores\arduino\main.cpp: In function 'main':
C:\Users\JRGEN~1\AppData\Local\Temp\arduino_build_732343\sketch\cc1101.h:219:39: warning: iteration 7 invokes undefined behavior [-Waggressive-loop-optimizations]

Mit den Source-Files aus dem Github-Repository funktioniert das nicht.

TimerOne befindet sich bei mir in den Library-Ordner
Anbei mein schon "optimiertes" bzw. angepasstes Ergebnis. Möchte aber nicht unbedingt einen Nebenschauplatz eröffnen.

Grüße,
Jürgen

Ralf9

Zitat von: juergs am 02 Januar 2017, 18:10:10
Mit den Source-Files aus dem Github-Repository funktioniert das nicht.

was passiert, wenn Du die warnings ignorierst und auf hochladen klickst?

Gruß Ralf 
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

juergs

probiere es aus ...
ZitatSketch uses 19,604 bytes (63%) of program storage space. Maximum is 30,720 bytes.