24 |
unsigned int global_emergency_counter = 600, global_time_interval = 3600; |
unsigned int global_emergency_counter = 600, global_time_interval = 3600; |
25 |
unsigned char global_temp = 0; |
unsigned char global_temp = 0; |
26 |
|
|
27 |
|
unsigned char global_message_buffer[BUFFER]; |
28 |
|
unsigned char global_message_buffer_length; |
29 |
|
|
30 |
unsigned char global_lcd_buf[16]; |
unsigned char global_lcd_buf[16]; |
31 |
|
|
32 |
unsigned short global_imei_tversum; |
unsigned short global_imei_tversum; |
34 |
unsigned char cell_nr[15] = ""; // = "21681784"; |
unsigned char cell_nr[15] = ""; // = "21681784"; |
35 |
bit global_modem_init = 0; |
bit global_modem_init = 0; |
36 |
|
|
37 |
|
unsigned char global_sms_recieve_number[3]; |
38 |
|
|
39 |
__EEPROM_DATA( 60, 0, 1, 8, '2', '1', '6', '8'); |
__EEPROM_DATA( 60, 0, 1, 8, '2', '1', '6', '8'); |
40 |
__EEPROM_DATA( '1', '7', '8', '4',0,0,0,0); |
__EEPROM_DATA( '1', '7', '8', '4',0,0,0,0); |
41 |
|
|
46 |
void timer1_interrupt(void); |
void timer1_interrupt(void); |
47 |
void on_recieve(void); |
void on_recieve(void); |
48 |
void on_initial_recieve(void); |
void on_initial_recieve(void); |
49 |
|
void sms_recieved(void); |
50 |
|
|
51 |
|
|
52 |
void reset_recieve_buffer(void) |
void reset_recieve_buffer(void) |
53 |
{ |
{ |
54 |
global_recieve_done = 0; |
global_recieve_done = 0; |
55 |
|
|
56 |
global_serial_byte_counter=0; |
global_serial_byte_counter=0; |
57 |
|
global_serial_recieve_buffer[0] = 0; |
58 |
|
|
59 |
|
global_message_buffer_length = 0; |
60 |
|
global_message_buffer[0] = 0; |
61 |
} |
} |
62 |
|
|
63 |
|
|
208 |
{ |
{ |
209 |
global_recieve_done = 1; |
global_recieve_done = 1; |
210 |
//global_serial_byte_counter = 0; |
//global_serial_byte_counter = 0; |
211 |
global_serial_recieve_buffer[global_serial_byte_counter+1] = 0; //zero terminate |
global_serial_recieve_buffer[global_serial_byte_counter] = 0; //zero terminate |
212 |
|
|
213 |
|
strcpy(global_message_buffer, global_serial_recieve_buffer); |
214 |
|
global_message_buffer_length = global_serial_byte_counter; |
215 |
} |
} |
216 |
else |
else |
217 |
{ |
{ |
329 |
char* ptr; |
char* ptr; |
330 |
tmp[0]=0; |
tmp[0]=0; |
331 |
|
|
332 |
if (global_recieve_done == 0) |
if (global_recieve_done == 0 || global_message_buffer_length == 0) |
333 |
return; |
return; |
334 |
|
|
|
lcd_goto(0x00); |
|
|
lcd_puts(global_serial_recieve_buffer); |
|
335 |
|
|
336 |
if (strstr(global_serial_recieve_buffer,"CMTI") == 0) |
if (strstr(global_serial_recieve_buffer,"CMTI") != 0) |
337 |
{ |
{ |
338 |
ptr = strstr(global_serial_recieve_buffer,"'"); |
ptr = strstr(global_serial_recieve_buffer,","); |
339 |
strcat(tmp,ptr); |
strcat(tmp,ptr+1); |
340 |
|
sprintf(global_sms_recieve_number,"%s", tmp); |
341 |
|
lcd_clear(); |
342 |
lcd_goto(0x40); |
lcd_puts(global_sms_recieve_number); |
343 |
lcd_puts(tmp); |
sms_recieved(); |
344 |
|
} |
345 |
|
else if (strstr(global_message_buffer,"CMTI") != 0) |
346 |
|
{ |
347 |
|
ptr = strstr(global_message_buffer,","); |
348 |
|
strcat(tmp,ptr+1); |
349 |
|
lcd_clear(); |
350 |
|
lcd_puts(tmp); |
351 |
} |
} |
352 |
|
|
353 |
|
|
354 |
reset_recieve_buffer(); |
reset_recieve_buffer(); |
355 |
} |
} |
356 |
|
|
357 |
|
void sms_recieved(void) |
358 |
|
{ |
359 |
|
sprintf(global_serial_send, "AT+CMGR=%s\r", global_sms_recieve_number); |
360 |
|
serial_send(); |
361 |
|
} |
362 |
|
|
363 |
void main() |
void main() |
364 |
{ |
{ |
365 |
//////////////////// |
//////////////////// |