Simple test for USSD message.
Dependencies: C027 UbloxUSBModem mbed
Fork of C027_USSDTest by
main.cpp@11:574b496fe924, 2014-02-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |