Programm for decoding radio-signals sent by a ETH-Window-Shutter-Contact, received with a RFM12B-module

Dependencies:   TextLCD mbed

Revision:
1:fc72e0bdb693
Parent:
0:96794c9fc5a3
--- a/rfm12b.cpp	Wed Mar 02 20:46:57 2011 +0000
+++ b/rfm12b.cpp	Thu Apr 07 19:54:09 2011 +0000
@@ -2,39 +2,45 @@
 #include "rfm12b.h"
 #include "rfm.h"
 
+/*!
+ * \file       rfm12b.cpp
+ * \brief      class for rfm2b in rawmode - only receive part implemented
+ * \author     Karl Zweimüller based on code from WED 6.9.2009
+ */
+
+
 /** Class rfm12b for RFM12B transceiver module
   http://www.hoperf.com/rf_fsk/rfm12b.htm
 */
 
 /** rfm12b object
 */
-rfm12b::rfm12b(PinName mosi, PinName miso, PinName sclk, PinName nsel, PinName rxdata){
-  
-  rfm12b_spi  = new SPI(mosi, miso, sclk);   // mosi, miso, sclk
-  cs          = new DigitalOut(nsel);        // nsel for chipselect
-  m_pinRXData = new InterruptIn(rxdata);     // rxData- generates interrupts
+rfm12b::rfm12b(PinName mosi, PinName miso, PinName sclk, PinName nsel, PinName rxdata) {
 
-  init_spi();            // init the spi-device
+    rfm12b_spi  = new SPI(mosi, miso, sclk);   // mosi, miso, sclk
+    cs          = new DigitalOut(nsel);        // nsel for chipselect
+    m_pinRXData = new InterruptIn(rxdata);     // rxData- generates interrupts
+
+    init_spi();            // init the spi-device
 }
 
- /** init the spi-communication
- */
-void rfm12b::init_spi(){
+/** init the spi-communication
+*/
+void rfm12b::init_spi() {
     // Setup the spi for 16 bit data : 1RW-bit 7 adressbit, 8 databit
     // second edge capture, with a 5MHz clock rate
     rfm12b_spi->format(16,0);
     rfm12b_spi->frequency(5000000);
 }
- 
+
 ///////////////////////////////////////////////////////////////////////////////
 //
 // Initialise RF module
 // This are parameters for ETH Comfort by ELV
 ///////////////////////////////////////////////////////////////////////////////
-void rfm12b::RFM_init(void)
-{
+void rfm12b::RFM_init(void) {
 
-      // 0. Init the SPI backend
+    // 0. Init the SPI backend
     //RFM_TESTPIN_INIT;
 
     //RFM_READ_STATUS();
@@ -45,7 +51,7 @@
         //RFM_CONFIG_EF           |
         RFM_CONFIG_BAND_868     |
         RFM_CONFIG_X_11_0pf
-     );
+    );
 
     // 2. Power Management Command
     //RFM_SPI_16(
@@ -56,10 +62,10 @@
     RFM_SPI_16(
         RFM_FREQUENCY            |
         RFM_FREQ_868Band(868.30)
-     );
+    );
 
     // 4. Data Rate Command
-        RFM_SPI_16(RFM_DATA_RATE_9600);
+    RFM_SPI_16(RFM_DATA_RATE_9600);
 
     // 5. Receiver Control Command
     RFM_SPI_16(
@@ -69,7 +75,7 @@
         RFM_RX_CONTROL_BW_134 |
         RFM_RX_CONTROL_GAIN_0   |
         RFM_RX_CONTROL_RSSI_73
-     );
+    );
 
     // 6. Data Filter Command
     RFM_SPI_16(
@@ -77,13 +83,13 @@
         //RFM_DATA_FILTER_ML      |
         //RFM_DATA_FILTER_DQD(3)
         RFM_DATA_FILTER_ANALOG
-     );
+    );
 
     // 7. FIFO and Reset Mode Command
     RFM_SPI_16(
         RFM_FIFO_IT(8) |
         RFM_FIFO_DR
-     );
+    );
 
     // 8. Receiver FIFO Read
 
@@ -94,13 +100,13 @@
         RFM_AFC_EN              |
         RFM_AFC_OE              |
         RFM_AFC_FI
-     );
+    );
 
     // 10. TX Configuration Control Command
     RFM_SPI_16(
         RFM_TX_CONTROL_MOD_30 |
         RFM_TX_CONTROL_POW_0
-     );
+    );
 
     // 11. Transmitter Register Write Command
 
@@ -116,18 +122,18 @@
     //     );
 
     // 15. Status Read Command
-        //RFM_SPI_16(RFM_TX_ON());
-       RFM_SPI_16(RFM_RX_ON());
+    //RFM_SPI_16(RFM_TX_ON());
+    RFM_SPI_16(RFM_RX_ON());
 
 }
 
 ///////////////////////////////////////////////////////////////////////////////
 
-   
+
 
 /** write and read 16 bit to device
 */
-uint16_t rfm12b::rfm_spi16(uint16_t outval){
+uint16_t rfm12b::rfm_spi16(uint16_t outval) {
 
     uint16_t    readval;
     // Select the device by seting chip select low
@@ -138,7 +144,7 @@
     // Deselect the device
     cs->write(1);
     wait_ms(1);               // wait before going on
-    return(readval);   
+    return(readval);
 }