RFM12 library: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
K (hat „RFM12 Library“ nach „RFM12 library“ verschoben)
Keine Bearbeitungszusammenfassung
 
(39 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
{{ProjektInfoBox
|name       =  
|name=rfm12lib
|status     = stable
|status=stable
|image       = No-image.png
|image=Avr_rfm12.png
|description = Die RFM12 Library ermöglicht es RF12 Module mit einem AVR zu steuern
|description=Die RFM12 Library ermöglicht es RF12(B) Module mit einem AVR zu steuern
|author     = [[Benutzer:Hansinator|Hansinator]], [[Benutzer:Tixiv|Tixiv]], [[Benutzer:Soeren|Soeren]]
|author=[[Benutzer:Hansinator|Hansinator]], [[Benutzer:Tixiv|Tixiv]], [[Benutzer:Soeren|Soeren]]
|username    =
|version=1.1.0
|version     = 0.9
|platform=AVR
|update      =
|license=GPLv2 or later
|platform   = AVR
|download=[https://github.com/das-labor/librfm12 GIT]
|license     = GPLv2 or later
|tags=Microcontroller & FPGAs,
|download   = [https://www.das-labor.org/storage/LaborLib/rfm12/ SVN]
|update=
}}
}}
For an english version of this site go to [[RFM12_library/en | RFM12 Library/EN]].


More to come soon...




Todo for v1.0:
== Library Features ==
* Add doxygen documentation
 
* Add patches for other frequency bands than 433
* Ein einfaches Paketformat, bestehend aus:
* Add more livectrl functions
** Einem 8-bit (0..255) Pakettyp- oder Adress-feld
* Move dev branch to stable branch
** Paketlänge bis zu 255 Bytes
** Eine simple Header Checksumme
* Interrupt oder Polling basierte Datenübertragung
* Verschiedene Frequenzbänder, abhängig von dem verwendeten Modul (433, 868 und 915 MHz)
* Collision avoidance (carrier sense)
* Synchronisierungsfunktion beim Datentransfer
* Hardware oder software SPI
* Nur-Sende-Modus, zum verkleinern der binaries
* Grundlegende ASK (amplitude shift keying) empfangs und sende Funktionalität (Für Funksteckdosen aus dem Baumarkt und ähnlichem)
* Low-battery detector (funktion des RFM12)
* Low-power Wakeup timer (funktion des RFM12)
 
=== Aktuelle Version ===
Die aktuelle Version ist auf Github zu finden: [https://github.com/das-labor/librfm12 librfm12]
 
 
=== Experimental 1.1.1 ===
* Support für RFM12BP, bzw. Hooks für RX/TX Befehle (ungetestet)
 
Quellcode:
svn co https://www.das-labor.org/storage/LaborLib/rfm12/tags/rfm12-1.1.1-experimental/
 
 
== Dokumentation ==
 
Die online Dokumentation zur Version 1.0.0 findet sich hier:<br />
http://www.hansinator.de/rfm12lib/
 
Eine gepackte Version zum Download gibt es hier:<br />
http://www.das-labor.org/files/rfm12lib_doc_1_0_0.zip<br />
 
Die Doku zu Version 1.1. ist identisch zu der Doku der Version 1.0<br />
 
[http://www.hoperf.com/upfile/RFM12.pdf Datenblatt] <br />
== Download ==
Den source der Version 1.1.0 gibt es [http://www.das-labor.org/files/rfm12lib-1.1.0.zip hier] als ZIP Datei zum Download (MD5: 4545ad72782bf9465c1be109ecce9da5).
 
Alternativ gibt es den aktuellsten Entwicklungsstand in unserem Subversion repository. Die sourcen sind entweder im [http://www.das-labor.org/LaborLibTrac/browser/rfm12 web] einsehbar, oder lassen sich direkt auschecken mit dem Kommando:
  svn co https://www.das-labor.org/storage/LaborLib/rfm12/trunk
 
== Benutzungsbeispiel ==
Die Datei '''rfm12_config.h''' enthält die gesamte Konfiguration der Library, siehe Dokumentation.
 
Hier ist ein Beispiel zur Benutzung der Library:
uint8_t teststring[] = "teststring\r\n";
uint8_t packettype = 0xEE;
rfm12_init();  /* initialize the library */
sei();
while (23)
{
    /* ... */
    rfm12_tx (sizeof(teststring), packettype, teststring);
    rfm12_tick();  /* periodic tick function - call that one once in a while */
}
 
 
 
 
[[category:Automatisierung]]
[[category:Datenfunk mit dem Microcontroller]]

Aktuelle Version vom 8. April 2017, 00:26 Uhr

           
rfm12lib

Release status: stable [box doku]

Avr rfm12.png
Description Die RFM12 Library ermöglicht es RF12(B) Module mit einem AVR zu steuern
Author(s)  Hansinator, Tixiv, Soeren
Last Version  1.1.0 ()
Platform  AVR
License  GPLv2 or later
Download  GIT



For an english version of this site go to RFM12 Library/EN.


Library Features[Bearbeiten | Quelltext bearbeiten]

  • Ein einfaches Paketformat, bestehend aus:
    • Einem 8-bit (0..255) Pakettyp- oder Adress-feld
    • Paketlänge bis zu 255 Bytes
    • Eine simple Header Checksumme
  • Interrupt oder Polling basierte Datenübertragung
  • Verschiedene Frequenzbänder, abhängig von dem verwendeten Modul (433, 868 und 915 MHz)
  • Collision avoidance (carrier sense)
  • Synchronisierungsfunktion beim Datentransfer
  • Hardware oder software SPI
  • Nur-Sende-Modus, zum verkleinern der binaries
  • Grundlegende ASK (amplitude shift keying) empfangs und sende Funktionalität (Für Funksteckdosen aus dem Baumarkt und ähnlichem)
  • Low-battery detector (funktion des RFM12)
  • Low-power Wakeup timer (funktion des RFM12)

Aktuelle Version[Bearbeiten | Quelltext bearbeiten]

Die aktuelle Version ist auf Github zu finden: librfm12


Experimental 1.1.1[Bearbeiten | Quelltext bearbeiten]

  • Support für RFM12BP, bzw. Hooks für RX/TX Befehle (ungetestet)

Quellcode:

svn co https://www.das-labor.org/storage/LaborLib/rfm12/tags/rfm12-1.1.1-experimental/


Dokumentation[Bearbeiten | Quelltext bearbeiten]

Die online Dokumentation zur Version 1.0.0 findet sich hier:
http://www.hansinator.de/rfm12lib/

Eine gepackte Version zum Download gibt es hier:
http://www.das-labor.org/files/rfm12lib_doc_1_0_0.zip

Die Doku zu Version 1.1. ist identisch zu der Doku der Version 1.0

Datenblatt

Download[Bearbeiten | Quelltext bearbeiten]

Den source der Version 1.1.0 gibt es hier als ZIP Datei zum Download (MD5: 4545ad72782bf9465c1be109ecce9da5).

Alternativ gibt es den aktuellsten Entwicklungsstand in unserem Subversion repository. Die sourcen sind entweder im web einsehbar, oder lassen sich direkt auschecken mit dem Kommando:

 svn co https://www.das-labor.org/storage/LaborLib/rfm12/trunk

Benutzungsbeispiel[Bearbeiten | Quelltext bearbeiten]

Die Datei rfm12_config.h enthält die gesamte Konfiguration der Library, siehe Dokumentation.

Hier ist ein Beispiel zur Benutzung der Library:

uint8_t teststring[] = "teststring\r\n";
uint8_t packettype = 0xEE;
rfm12_init();  /* initialize the library */
sei();

while (23)
{
    /* ... */
    rfm12_tx (sizeof(teststring), packettype, teststring);
    rfm12_tick();  /* periodic tick function - call that one once in a while */
}