Simple test for USSD message.

Dependencies:   C027 UbloxUSBModem mbed

Fork of C027_USSDTest by u-blox

Committer:
nherriot
Date:
Mon Feb 24 18:21:29 2014 +0000
Revision:
11:574b496fe924
Parent:
10:6379202ce3cb
making wait a bit more pretty

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 10:6379202ce3cb 14 printf("Waiting 15 sec for modem to settle after power on...");
nherriot 10:6379202ce3cb 15 for(int x=1;x<=15;x++)
nherriot 10:6379202ce3cb 16 {
nherriot 10:6379202ce3cb 17 wait(1);
nherriot 10:6379202ce3cb 18 printf(".");
nherriot 10:6379202ce3cb 19 }
nherriot 10:6379202ce3cb 20
nherriot 10:6379202ce3cb 21
nherriot 8:f1553dd1d597 22
nherriot 8:f1553dd1d597 23 printf("Creating modem object...\n");
mazgch 3:08248ee71fc0 24 UbloxUSBGSMModem modem; // for LISA-C use the UbloxUSBCDMAModem instead
donatien 1:e5d64ece3a8c 25 char result[32];
nherriot 11:574b496fe924 26 printf("\nWaiting 15 sec for modem to settle, just created the modem object.\n");
nherriot 10:6379202ce3cb 27 for(int x=1;x<=15;x++)
nherriot 10:6379202ce3cb 28 {
nherriot 10:6379202ce3cb 29 wait(1);
nherriot 10:6379202ce3cb 30 printf(".");
nherriot 10:6379202ce3cb 31 }
nherriot 8:f1553dd1d597 32
nherriot 10:6379202ce3cb 33
nherriot 11:574b496fe924 34 printf("\n....wait over!\n");
donatien 1:e5d64ece3a8c 35 printf("Sending %s on USSD channel\n", USSD_COMMAND);
donatien 1:e5d64ece3a8c 36 int ret = modem.sendUSSD(USSD_COMMAND, result, 32);
nherriot 8:f1553dd1d597 37
mazgch 4:ffbfe5f03e61 38 if(ret) {
mazgch 4:ffbfe5f03e61 39 printf("Send USSD command returned %d\n", ret);
mazgch 4:ffbfe5f03e61 40 }
donatien 0:5c60462d9282 41
donatien 1:e5d64ece3a8c 42 printf("Result of command: %s\n", result);
donatien 1:e5d64ece3a8c 43
mazgch 7:6047f1c64e8d 44 c027.mdmPower(false);
mazgch 7:6047f1c64e8d 45
donatien 1:e5d64ece3a8c 46 while(1) {
donatien 1:e5d64ece3a8c 47 }
donatien 0:5c60462d9282 48 }
donatien 0:5c60462d9282 49
donatien 0:5c60462d9282 50
donatien 1:e5d64ece3a8c 51 int main()
donatien 1:e5d64ece3a8c 52 {
mazgch 4:ffbfe5f03e61 53 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
mazgch 7:6047f1c64e8d 54 DigitalOut led(LED); // on rev A you should reasign the signal to A0
mazgch 4:ffbfe5f03e61 55 while(1) {
mazgch 4:ffbfe5f03e61 56 led=!led;
mazgch 4:ffbfe5f03e61 57 Thread::wait(1000);
mazgch 4:ffbfe5f03e61 58 }
donatien 0:5c60462d9282 59
mazgch 4:ffbfe5f03e61 60 return 0;
donatien 0:5c60462d9282 61 }