Shows how to send and receive SMS messages using a Vodafone USB dongle.

Dependencies:   VodafoneUSBModem mbed-rtos mbed

Revision:
0:675760d79fa5
Child:
1:38c9e35517ea
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Nov 08 17:19:31 2012 +0000
@@ -0,0 +1,51 @@
+#include "mbed.h"
+#include "VodafoneUSBModem.h"
+
+#define TEST_NUMBER "07825608771"
+#define MAX_SMS_LEN 256
+
+int main() {
+   // construct serial object for console monitor
+   Serial pc(USBTX, USBRX);
+   pc.baud(115200);
+   
+   // construct modem object
+   VodafoneUSBModem modem;
+    
+   // locals
+   size_t smCount = 0;
+   char numBuffer[32], msgBuffer[256];
+    
+   // send a wake-up SMS
+   pc.printf("Sending test SMS to %s\r\n",TEST_NUMBER);
+   if(modem.sendSM(TEST_NUMBER,"Hello!")!=0) {
+      pc.printf("Error sending test SMS!\r\n");
+   }
+    
+   // loop forever printing received SMSs
+   while(1) {
+        
+      // get SM count
+      if(modem.getSMCount(&smCount)!=0) {
+         pc.printf("Error receiving SMS count!\r\n");
+         continue;
+      }
+       
+      // if SMS in mailbox
+      if(smCount>0) {
+        
+         // get SMS and sender
+         if(modem.getSM(numBuffer,msgBuffer,MAX_SMS_LEN)!=0) {
+            pc.printf("Error retrieving SMS from mailbox!\r\n");
+            continue;
+         }
+           
+         // print SMS and sender
+         pc.printf("SMS: \"%s\", From: \"%s\"\r\n",msgBuffer,numBuffer);
+           
+      }
+        
+      // wait 1 second
+      Thread::wait(1000);
+   }
+}