GPS location transmitter for Vodafone USB Modem

Dependencies:   GPS_Alt VodafoneUSBModem mbed-rtos mbed

main.cpp

Committer:
richardemeadows
Date:
2014-06-09
Revision:
1:e52f844ed032
Parent:
0:47d8d53f9374

File content as of revision 1:e52f844ed032:

#include "mbed.h"
#include "VodafoneUSBModem.h"
#include "GPS.h"
#include <stdio.h>

char *phone_numbers[] = {
        "" };
        
GPS gps(p9, p10);

int main() {
    DigitalOut led(LED1);
    char buffer[1000];
  
    VodafoneUSBModem modem;
    
    printf("Hello World\r\n");
    
    modem.sendSM(phone_numbers[0], "SEDS Awake");
    //modem.sendSM(phone_numbers[1], "SEDS Awake");
    //modem.sendSM(phone_numbers[2], "SEDS Awake");
    //modem.sendSM(phone_numbers[3], "SEDS Awake");
    
    printf("Sent\r\n");
  
    while(1)
    {
        if(gps.sample()) {    
            // "https://maps.google.com/maps?q=%f,%f"        
            sprintf(buffer, "Location: https://maps.google.com/maps?q=%f,%f\nAltitude: %.0fm (%.0f ft)\n(Satellites = %d)",
                gps.latitude, gps.longitude, gps.altitude, gps.altitude * 3.28084, gps.satellites);
        } else {
            sprintf(buffer, "No Lock (Satellites = %d)", gps.satellites);
        }
        
        printf("Sending: %s.. \n", buffer);
        
        modem.sendSM(phone_numbers[0], buffer);
        Thread::wait(3000);  
        //modem.sendSM(phone_numbers[1], buffer);
        //Thread::wait(500);  
        //modem.sendSM(phone_numbers[2], buffer);
        //Thread::wait(500);  
        //modem.sendSM(phone_numbers[3], buffer);
        //Thread::wait(500);  
        
        printf("Sent\r\n");
        
        led=!led;
    }
}