SMS test using a Sprint/Sierra Wireless 598U dongle

Dependencies:   SprintUSBModem mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SprintUSBModem.h"
00003 
00004 #define MY_PHONE_NUMBER "+1xxxxxxxxx"
00005 
00006 void test(void const*) 
00007 {
00008     SprintUSBModem modem(p18);
00009 
00010     printf("Switching power on\r\n");
00011     
00012     modem.power(true);
00013     
00014     modem.sendSM(MY_PHONE_NUMBER, "Hello from mbed:)");
00015 
00016     while(true)
00017     {
00018         char num[17];
00019         char msg[128];
00020         size_t count;
00021         int ret = modem.getSMCount(&count);
00022         if(ret)
00023         {
00024           printf("getSMCount returned %d\r\n", ret);
00025           Thread::wait(3000);
00026           continue;
00027         }
00028         if( count > 0)
00029         {
00030           printf("%d SMS to read\r\n", count);
00031           ret = modem.getSM(num, msg, 128);
00032           if(ret)
00033           {
00034             printf("getSM returned %d\r\n", ret);
00035             Thread::wait(3000);
00036             continue;
00037           }
00038     
00039           printf("%s : %s\r\n", num, msg);
00040         }
00041         Thread::wait(3000);
00042     }    
00043     
00044     modem.disconnect(); 
00045     
00046     modem.power(false); 
00047 
00048     while(1) {
00049     }
00050 }
00051 
00052 
00053 int main()
00054 {
00055   DBG_INIT();
00056   DBG_SET_SPEED(115200);
00057   DBG_SET_NEWLINE("\r\n");
00058   Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
00059   DigitalOut led(LED1);
00060   while(1)
00061   {
00062     led=!led;
00063     Thread::wait(1000);  
00064   }
00065 
00066   return 0;
00067 }