SMS test using a Sprint/Sierra Wireless 598U dongle
Dependencies: SprintUSBModem mbed-rtos mbed
main.cpp@0:9488714d539f, 2012-10-30 (annotated)
- Committer:
- donatien
- Date:
- Tue Oct 30 10:14:23 2012 +0000
- Revision:
- 0:9488714d539f
Initial Commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:9488714d539f | 1 | #include "mbed.h" |
donatien | 0:9488714d539f | 2 | #include "SprintUSBModem.h" |
donatien | 0:9488714d539f | 3 | |
donatien | 0:9488714d539f | 4 | #define MY_PHONE_NUMBER "+1xxxxxxxxx" |
donatien | 0:9488714d539f | 5 | |
donatien | 0:9488714d539f | 6 | void test(void const*) |
donatien | 0:9488714d539f | 7 | { |
donatien | 0:9488714d539f | 8 | SprintUSBModem modem(p18); |
donatien | 0:9488714d539f | 9 | |
donatien | 0:9488714d539f | 10 | printf("Switching power on\r\n"); |
donatien | 0:9488714d539f | 11 | |
donatien | 0:9488714d539f | 12 | modem.power(true); |
donatien | 0:9488714d539f | 13 | |
donatien | 0:9488714d539f | 14 | modem.sendSM(MY_PHONE_NUMBER, "Hello from mbed:)"); |
donatien | 0:9488714d539f | 15 | |
donatien | 0:9488714d539f | 16 | while(true) |
donatien | 0:9488714d539f | 17 | { |
donatien | 0:9488714d539f | 18 | char num[17]; |
donatien | 0:9488714d539f | 19 | char msg[128]; |
donatien | 0:9488714d539f | 20 | size_t count; |
donatien | 0:9488714d539f | 21 | int ret = modem.getSMCount(&count); |
donatien | 0:9488714d539f | 22 | if(ret) |
donatien | 0:9488714d539f | 23 | { |
donatien | 0:9488714d539f | 24 | printf("getSMCount returned %d\r\n", ret); |
donatien | 0:9488714d539f | 25 | Thread::wait(3000); |
donatien | 0:9488714d539f | 26 | continue; |
donatien | 0:9488714d539f | 27 | } |
donatien | 0:9488714d539f | 28 | if( count > 0) |
donatien | 0:9488714d539f | 29 | { |
donatien | 0:9488714d539f | 30 | printf("%d SMS to read\r\n", count); |
donatien | 0:9488714d539f | 31 | ret = modem.getSM(num, msg, 128); |
donatien | 0:9488714d539f | 32 | if(ret) |
donatien | 0:9488714d539f | 33 | { |
donatien | 0:9488714d539f | 34 | printf("getSM returned %d\r\n", ret); |
donatien | 0:9488714d539f | 35 | Thread::wait(3000); |
donatien | 0:9488714d539f | 36 | continue; |
donatien | 0:9488714d539f | 37 | } |
donatien | 0:9488714d539f | 38 | |
donatien | 0:9488714d539f | 39 | printf("%s : %s\r\n", num, msg); |
donatien | 0:9488714d539f | 40 | } |
donatien | 0:9488714d539f | 41 | Thread::wait(3000); |
donatien | 0:9488714d539f | 42 | } |
donatien | 0:9488714d539f | 43 | |
donatien | 0:9488714d539f | 44 | modem.disconnect(); |
donatien | 0:9488714d539f | 45 | |
donatien | 0:9488714d539f | 46 | modem.power(false); |
donatien | 0:9488714d539f | 47 | |
donatien | 0:9488714d539f | 48 | while(1) { |
donatien | 0:9488714d539f | 49 | } |
donatien | 0:9488714d539f | 50 | } |
donatien | 0:9488714d539f | 51 | |
donatien | 0:9488714d539f | 52 | |
donatien | 0:9488714d539f | 53 | int main() |
donatien | 0:9488714d539f | 54 | { |
donatien | 0:9488714d539f | 55 | DBG_INIT(); |
donatien | 0:9488714d539f | 56 | DBG_SET_SPEED(115200); |
donatien | 0:9488714d539f | 57 | DBG_SET_NEWLINE("\r\n"); |
donatien | 0:9488714d539f | 58 | Thread testTask(test, NULL, osPriorityNormal, 1024 * 5); |
donatien | 0:9488714d539f | 59 | DigitalOut led(LED1); |
donatien | 0:9488714d539f | 60 | while(1) |
donatien | 0:9488714d539f | 61 | { |
donatien | 0:9488714d539f | 62 | led=!led; |
donatien | 0:9488714d539f | 63 | Thread::wait(1000); |
donatien | 0:9488714d539f | 64 | } |
donatien | 0:9488714d539f | 65 | |
donatien | 0:9488714d539f | 66 | return 0; |
donatien | 0:9488714d539f | 67 | } |