RFM12 library: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
D2ns (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(33 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ProjektInfoBox | {{ProjektInfoBox | ||
|name | |name=rfm12lib | ||
|status | |status=stable | ||
|image | |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 | |author=[[Benutzer:Hansinator|Hansinator]], [[Benutzer:Tixiv|Tixiv]], [[Benutzer:Soeren|Soeren]] | ||
|version=1.1.0 | |||
|version | |platform=AVR | ||
|license=GPLv2 or later | |||
|platform | |download=[https://github.com/das-labor/librfm12 GIT] | ||
|license | |tags=Microcontroller & FPGAs, | ||
|download | |update= | ||
}} | }} | ||
For an english version of this site go to [[RFM12_library/en | RFM12 Library/EN]]. | |||
== 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) | |||
=== 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/ | 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] | |
---|---|
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
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 */ }