RFM12 library

Aus LaborWiki

(Weitergeleitet von RFM12 Library)
Wechseln zu: Navigation, Suche

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

           
rfm12lib

Release status: stable [box doku]

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  SVN browse

Inhaltsverzeichnis

[Bearbeiten] Library Features

  • 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)


[Bearbeiten] Dokumentation

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

[Bearbeiten] Download

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

[Bearbeiten] 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 */
}


[Bearbeiten] Todo

  • Test polling mode and ASK modes
Persönliche Werkzeuge