driver for SX1232 transceiver

Dependents:   chat_sx1232

summary

The SX1232 is a fully integrated ISM band transceiver optimized for use in the (EN 300 220-1) 868 MHz band in Europe and the (FCC Part 15) 915 MHz band in the US with a minimum of external components. It offers a combination of high link budget and low current consumption in all operating modes.

features

This part offers similar functionality to XBee PRO 900 modules, except RF performance would be improved, especially at slower data-rates. This is due to available narrower receiver bandwidths, and higher TX power, among other things. Additionally, its probably redundant to have a microcontroller on your wireless module, since the mbed cpu can drive radio directly.

This version of driver library supports packet size up to FIFO size (64bytes) to keep it simple and small. For larger packet sizes, a different driver could support the FIFO flow control pins.

wiring connections

Minimum required connections are SPI: mosi, miso, sclk, cs, one interrupt pin, and optional hardware reset pin.

example code

For example usage see Demo Chat Application.

specification of chip

Information on device. /media/uploads/dudmuck/sm1232.png

Files at this revision

API Documentation at this revision

Comitter:
dudmuck
Date:
Thu May 02 00:39:38 2013 +0000
Parent:
1:67a841d57890
Commit message:
added SERVICE_TX_DONE

Changed in this revision

sx1232.cpp Show annotated file Show diff for this revision Revisions of this file
sx1232.h Show annotated file Show diff for this revision Revisions of this file
diff -r 67a841d57890 -r 8717baf6e00a sx1232.cpp
--- a/sx1232.cpp	Wed May 01 23:42:35 2013 +0000
+++ b/sx1232.cpp	Thu May 02 00:39:38 2013 +0000
@@ -116,6 +116,7 @@
                 service_action = SERVICE_READ_FIFO;
             } else if (RegOpMode.bits.Mode == RF_OPMODE_TRANSMITTER) {
                 set_opmode(RF_OPMODE_STANDBY); // this should be quick enough for ISR
+                service_action = SERVICE_TX_DONE;
             }
             break;
         case 1:
diff -r 67a841d57890 -r 8717baf6e00a sx1232.h
--- a/sx1232.h	Wed May 01 23:42:35 2013 +0000
+++ b/sx1232.h	Thu May 02 00:39:38 2013 +0000
@@ -334,8 +334,11 @@
 
 typedef enum {
     SERVICE_NONE = 0,
-    SERVICE_ERROR,    //! 
-    SERVICE_READ_FIFO //! request to call read_fifo()
+    SERVICE_ERROR,
+    //! request to call read_fifo()
+    SERVICE_READ_FIFO,
+    //! notification to application of transmit complete
+    SERVICE_TX_DONE
 } service_action_e;
 
 /** FSK radio transceiver for 800/900MHz.