#include "gprs.h"

void gprs_turn_on()
{
	P2OUT |= BIT3;
	_delay_ms(2000);
	P2OUT &= ~BIT3;
	_delay_ms(2000);
}

void gprs_test_call(char* number)
{
	gprs_turn_on();
	blink_led();
	serial_puts(GPRS_PIN);		/* send PIN */
	_delay_ms(10000);
	blink_led();
	serial_puts("ATD");
	serial_puts(number);
	serial_puts(";\r\n");		/* call number */
	_delay_ms(20000);
	blink_led();
	serial_puts("ATH\r\n");		/* hang */
	//serial_puts("AT*PSCPOF\r\n");	/* turn module off */
}

void gprs_send_sms(char* number, char* text)
{
	gprs_turn_on();
	blink_led();
	serial_puts(GPRS_PIN);		/* send PIN */
	_delay_ms(10000);
	blink_led();
	serial_puts("AT+CMGF=1\r\n");	/* text SMS */
	_delay_ms(1000);
	serial_puts("AT+CMGS=\"");
	serial_puts(GPRS_NUMBER);
	serial_puts("\"\r\n");		/* number */
	_delay_ms(1500);
	serial_puts(text);		/* body */
	_delay_ms(500);
	serial_putch(0x1A);		/* sms end */
	_delay_ms(5000);
	serial_puts("AT*PSCPOF\r\n");   /* turn module off */
}

void gprs_send_gps(nmea_data_t nmea_data, char* number)
{
	gprs_turn_on();
	blink_led();
	serial_puts(GPRS_PIN);		/* send PIN */
	_delay_ms(10000);
	blink_led();
	serial_puts("AT+CMGF=1\r\n");	/* text SMS */
	_delay_ms(1000);
	serial_puts("AT+CMGS=\"");
	serial_puts(GPRS_NUMBER);
	serial_puts("\"\r\n");		/* number */
	_delay_ms(1500);
	serial_puts(nmea_data->latitude);
	serial_putch(' ');
	serial_puts(nmea_data->ns);
	serial_putch(',');
	serial_puts(nmea_data->longitude);
	serial_putch(' ');
	serial_puts(nmea_data->ew);
	_delay_ms(500);
	serial_putch(0x1A);		/* sms end */
	//_delay_ms(5000);
	//serial_puts("AT*PSCPOF\r\n");   /* turn module off */
}


