Simple test for USSD message.

Dependencies:   C027 UbloxUSBModem mbed

Fork of C027_USSDTest by u-blox

Committer:
nherriot
Date:
Mon Feb 24 15:20:26 2014 +0000
Revision:
8:f1553dd1d597
Parent:
7:6047f1c64e8d
Child:
10:6379202ce3cb
Simple test for USSD message.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 1:e5d64ece3a8c 1 #include "mbed.h"
mazgch 3:08248ee71fc0 2 #include "C027.h"
mazgch 3:08248ee71fc0 3 #include "UbloxUSBGSMModem.h"
mazgch 3:08248ee71fc0 4 #include "UbloxUSBCDMAModem.h"
donatien 0:5c60462d9282 5
nherriot 8:f1553dd1d597 6 #define USSD_COMMAND "*#100#"
donatien 0:5c60462d9282 7
mazgch 7:6047f1c64e8d 8 C027 c027;
mazgch 7:6047f1c64e8d 9
mazgch 4:ffbfe5f03e61 10 void test(void const*)
donatien 1:e5d64ece3a8c 11 {
nherriot 8:f1553dd1d597 12 printf("Starting USSD test on Ublox C027, first calling mdmPower for the modem \n");
mazgch 7:6047f1c64e8d 13 c027.mdmPower(true);
nherriot 8:f1553dd1d597 14 printf("Waiting for modem to settle after power on...\n");
nherriot 8:f1553dd1d597 15 wait(5000);
nherriot 8:f1553dd1d597 16
nherriot 8:f1553dd1d597 17 printf("Creating modem object...\n");
mazgch 3:08248ee71fc0 18 UbloxUSBGSMModem modem; // for LISA-C use the UbloxUSBCDMAModem instead
donatien 1:e5d64ece3a8c 19 char result[32];
nherriot 8:f1553dd1d597 20 printf("Waiting for modem to settle, just created the modem object.\n");
nherriot 8:f1553dd1d597 21 wait(5000);
nherriot 8:f1553dd1d597 22
nherriot 8:f1553dd1d597 23 printf("....wait over!\n");
donatien 1:e5d64ece3a8c 24 printf("Sending %s on USSD channel\n", USSD_COMMAND);
donatien 1:e5d64ece3a8c 25 int ret = modem.sendUSSD(USSD_COMMAND, result, 32);
nherriot 8:f1553dd1d597 26
mazgch 4:ffbfe5f03e61 27 if(ret) {
mazgch 4:ffbfe5f03e61 28 printf("Send USSD command returned %d\n", ret);
mazgch 4:ffbfe5f03e61 29 }
donatien 0:5c60462d9282 30
donatien 1:e5d64ece3a8c 31 printf("Result of command: %s\n", result);
donatien 1:e5d64ece3a8c 32
mazgch 7:6047f1c64e8d 33 c027.mdmPower(false);
mazgch 7:6047f1c64e8d 34
donatien 1:e5d64ece3a8c 35 while(1) {
donatien 1:e5d64ece3a8c 36 }
donatien 0:5c60462d9282 37 }
donatien 0:5c60462d9282 38
donatien 0:5c60462d9282 39
donatien 1:e5d64ece3a8c 40 int main()
donatien 1:e5d64ece3a8c 41 {
mazgch 4:ffbfe5f03e61 42 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
mazgch 7:6047f1c64e8d 43 DigitalOut led(LED); // on rev A you should reasign the signal to A0
mazgch 4:ffbfe5f03e61 44 while(1) {
mazgch 4:ffbfe5f03e61 45 led=!led;
mazgch 4:ffbfe5f03e61 46 Thread::wait(1000);
mazgch 4:ffbfe5f03e61 47 }
donatien 0:5c60462d9282 48
mazgch 4:ffbfe5f03e61 49 return 0;
donatien 0:5c60462d9282 50 }