rfm12lib
Aus LaborWiki
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 | 0.9.0 () |
Platform | AVR |
License | GPLv2 or later |
Download | SVN browse |
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 Datenempfang
- 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)
Dokumentation
Die vorläufige Dokumentation findet sich hier:
http://www.hansinator.de/rfm12lib/
Download
Die lib befindet sich 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/
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 */ }
Todo for v1.0
- Add doxygen documentation
- Move dev branch to stable branch
- Test software spi, polling mode and ASK modes