rfm12lib
Aus LaborWiki
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.0.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 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)
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
Download
Den source der Version 1.1.0 gibt es hier als ZIP datei zum download.
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/
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
- Test polling mode and ASK modes