Simple test for USSD message.

Dependencies:   C027 UbloxUSBModem mbed

Fork of C027_USSDTest by u-blox

Committer:
donatien
Date:
Thu May 31 16:12:08 2012 +0000
Revision:
0:5c60462d9282
Child:
1:e5d64ece3a8c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:5c60462d9282 1 /* net_ussd_test.cpp */
donatien 0:5c60462d9282 2 /*
donatien 0:5c60462d9282 3 Copyright (C) 2012 ARM Limited.
donatien 0:5c60462d9282 4
donatien 0:5c60462d9282 5 Permission is hereby granted, free of charge, to any person obtaining a copy of
donatien 0:5c60462d9282 6 this software and associated documentation files (the "Software"), to deal in
donatien 0:5c60462d9282 7 the Software without restriction, including without limitation the rights to
donatien 0:5c60462d9282 8 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
donatien 0:5c60462d9282 9 of the Software, and to permit persons to whom the Software is furnished to do
donatien 0:5c60462d9282 10 so, subject to the following conditions:
donatien 0:5c60462d9282 11
donatien 0:5c60462d9282 12 The above copyright notice and this permission notice shall be included in all
donatien 0:5c60462d9282 13 copies or substantial portions of the Software.
donatien 0:5c60462d9282 14
donatien 0:5c60462d9282 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
donatien 0:5c60462d9282 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
donatien 0:5c60462d9282 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
donatien 0:5c60462d9282 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
donatien 0:5c60462d9282 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
donatien 0:5c60462d9282 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
donatien 0:5c60462d9282 21 SOFTWARE.
donatien 0:5c60462d9282 22 */
donatien 0:5c60462d9282 23
donatien 0:5c60462d9282 24 #define __DEBUG__ 4 //Maximum verbosity
donatien 0:5c60462d9282 25 #ifndef __MODULE__
donatien 0:5c60462d9282 26 #define __MODULE__ "net_ussd_test.cpp"
donatien 0:5c60462d9282 27 #endif
donatien 0:5c60462d9282 28
donatien 0:5c60462d9282 29 #define USSD_COMMAND "*#134#"
donatien 0:5c60462d9282 30
donatien 0:5c60462d9282 31 #include "core/fwk.h"
donatien 0:5c60462d9282 32 #include "mbed.h"
donatien 0:5c60462d9282 33
donatien 0:5c60462d9282 34 #include "rtos.h"
donatien 0:5c60462d9282 35
donatien 0:5c60462d9282 36 #include "if/VodafoneK3770.h"
donatien 0:5c60462d9282 37
donatien 0:5c60462d9282 38 extern "C" void HardFault_Handler() {
donatien 0:5c60462d9282 39 error("Hard Fault!\n");
donatien 0:5c60462d9282 40 }
donatien 0:5c60462d9282 41
donatien 0:5c60462d9282 42 DigitalOut led1(LED1);
donatien 0:5c60462d9282 43 DigitalOut led2(LED2);
donatien 0:5c60462d9282 44 DigitalOut led3(LED3);
donatien 0:5c60462d9282 45 DigitalOut led4(LED4);
donatien 0:5c60462d9282 46
donatien 0:5c60462d9282 47 void test(void const*) {
donatien 0:5c60462d9282 48 VodafoneK3770 threeg;
donatien 0:5c60462d9282 49
donatien 0:5c60462d9282 50 DBG("Hello!");
donatien 0:5c60462d9282 51
donatien 0:5c60462d9282 52 char result[32];
donatien 0:5c60462d9282 53
donatien 0:5c60462d9282 54 DBG("Sending %s on USSD channel", USSD_COMMAND);
donatien 0:5c60462d9282 55
donatien 0:5c60462d9282 56 int ret = threeg.sendUSSD(USSD_COMMAND, result, 32);
donatien 0:5c60462d9282 57 if(ret != OK)
donatien 0:5c60462d9282 58 {
donatien 0:5c60462d9282 59 ERR("Send USSD command returned %d", ret);
donatien 0:5c60462d9282 60 }
donatien 0:5c60462d9282 61
donatien 0:5c60462d9282 62 DBG("Result of command: %s", result);
donatien 0:5c60462d9282 63
donatien 0:5c60462d9282 64 while(true)
donatien 0:5c60462d9282 65 {
donatien 0:5c60462d9282 66 Thread::wait(1000);
donatien 0:5c60462d9282 67 }
donatien 0:5c60462d9282 68
donatien 0:5c60462d9282 69 }
donatien 0:5c60462d9282 70
donatien 0:5c60462d9282 71 void keepAlive(void const*) {
donatien 0:5c60462d9282 72 while(1)
donatien 0:5c60462d9282 73 {
donatien 0:5c60462d9282 74 led1=!led1;
donatien 0:5c60462d9282 75 Thread::wait(500);
donatien 0:5c60462d9282 76 }
donatien 0:5c60462d9282 77 }
donatien 0:5c60462d9282 78
donatien 0:5c60462d9282 79 void tick()
donatien 0:5c60462d9282 80 {
donatien 0:5c60462d9282 81 led4=!led4;
donatien 0:5c60462d9282 82 }
donatien 0:5c60462d9282 83
donatien 0:5c60462d9282 84 int main() {
donatien 0:5c60462d9282 85 Ticker t;
donatien 0:5c60462d9282 86 t.attach(tick,1);
donatien 0:5c60462d9282 87 DBG_INIT();
donatien 0:5c60462d9282 88
donatien 0:5c60462d9282 89 Thread testTask(test, NULL, osPriorityNormal, 1024*4);
donatien 0:5c60462d9282 90 keepAlive(NULL);
donatien 0:5c60462d9282 91
donatien 0:5c60462d9282 92
donatien 0:5c60462d9282 93 return 0;
donatien 0:5c60462d9282 94 }