Dependencies:   rtos_net_beta VodafoneK3770LibBeta mbed

Committer:
donatien
Date:
Thu May 31 16:12:59 2012 +0000
Revision:
0:84b309440ef3

        

Who changed what in which revision?

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