| Line 9... |
Line 9... |
| 9 |
|
9 |
|
| 10 |
|
10 |
|
| 11 |
//************************************************************************ |
11 |
//************************************************************************ |
| 12 |
// defines |
12 |
// defines |
| 13 |
|
13 |
|
| - |
|
14 |
#define MY_LAT 48*60+57.7647 |
| - |
|
15 |
#define MY_LON 14*60+28.0836 |
| - |
|
16 |
|
| 14 |
#define KEY_TIME_DEAD 5 //cca 50ms 8*5 |
17 |
#define KEY_TIME_DEAD 5 //cca 50ms 8*5 |
| 15 |
//#define KEY_TIME_START_REPEAT 100 //cca 1s |
18 |
//#define KEY_TIME_START_REPEAT 100 //cca 1s |
| 16 |
//#define KEY_TIME_REPEAT 20 //cca 240ms |
19 |
//#define KEY_TIME_REPEAT 20 //cca 240ms |
| 17 |
#define KEY_TIME_FIRST 50 |
20 |
#define KEY_TIME_FIRST 50 |
| 18 |
|
21 |
|
| 19 |
#define TEMP_TIME_REPEAT 100 |
22 |
#define TEMP_TIME_REPEAT 100 |
| 20 |
|
23 |
|
| 21 |
#define OFF_TIME 200 |
24 |
#define OFF_TIME 200 |
| - |
|
25 |
#define TIME_KEY_LONG 200 |
| 22 |
|
26 |
|
| 23 |
#define REFRESH_TIME 100 |
27 |
#define REFRESH_TIME 100 |
| 24 |
|
28 |
|
| 25 |
#define STATUS_REFRESH_TIME 100 |
29 |
#define STATUS_REFRESH_TIME 100 |
| 26 |
|
30 |
|
| Line 269... |
Line 273... |
| 269 |
if (!TL2_INPUT && USB_INPUT) |
273 |
if (!TL2_INPUT && USB_INPUT) |
| 270 |
{ |
274 |
{ |
| 271 |
cli(); |
275 |
cli(); |
| 272 |
buffer_clr(); |
276 |
buffer_clr(); |
| 273 |
gotoxy(2,3); |
277 |
gotoxy(2,3); |
| 274 |
fprintf(&mystdout2,"programing"); |
278 |
fprintf(&mystdout2,"update"); |
| 275 |
gotoxy(6,5); |
279 |
gotoxy(2,5); |
| 276 |
fprintf(&mystdout2,"mod"); |
280 |
fprintf(&mystdout2,"firmware"); |
| 277 |
lcd_refresh(); |
281 |
lcd_refresh(); |
| 278 |
delay_ms(1000); |
282 |
delay_ms(1000); |
| 279 |
BOOT(); |
283 |
BOOT(); |
| 280 |
} |
284 |
} |
| 281 |
|
285 |
|
| Line 310... |
Line 314... |
| 310 |
volatile uint8_t timer_key; |
314 |
volatile uint8_t timer_key; |
| 311 |
volatile uint8_t timer_temp; |
315 |
volatile uint8_t timer_temp; |
| 312 |
volatile uint8_t timer_off; |
316 |
volatile uint8_t timer_off; |
| 313 |
volatile uint8_t timer_refresh; |
317 |
volatile uint8_t timer_refresh; |
| 314 |
volatile uint8_t timer_status; |
318 |
volatile uint8_t timer_status; |
| - |
|
319 |
volatile uint8_t timer_key_long; |
| 315 |
|
320 |
|
| 316 |
void timer1_tik(void) |
321 |
void timer1_tik(void) |
| 317 |
{ |
322 |
{ |
| 318 |
uint8_t key_temp; |
323 |
uint8_t key_temp; |
| 319 |
|
324 |
|
| Line 321... |
Line 326... |
| 321 |
{ |
326 |
{ |
| 322 |
timer1_ovf--; |
327 |
timer1_ovf--; |
| 323 |
if (timer_status) timer_status--; |
328 |
if (timer_status) timer_status--; |
| 324 |
if (timer_refresh) timer_refresh--; |
329 |
if (timer_refresh) timer_refresh--; |
| 325 |
if (timer_off) timer_off--; |
330 |
if (timer_off) timer_off--; |
| - |
|
331 |
if (timer_key_long) timer_key_long--; |
| 326 |
if (timer_temp) timer_temp--; |
332 |
if (timer_temp) timer_temp--; |
| 327 |
if (timer_key) timer_key--; |
333 |
if (timer_key) timer_key--; |
| 328 |
else |
334 |
else |
| 329 |
{ |
335 |
{ |
| 330 |
key_temp = 0; |
336 |
key_temp = 0; |
| 331 |
if (!TL1_INPUT) key_temp = _BV(KEY1); |
337 |
if (!TL1_INPUT) key_temp = _BV(KEY1); |
| 332 |
if (!TL2_INPUT) key_temp |= _BV(KEY2); |
338 |
if (!TL2_INPUT) key_temp |= _BV(KEY2); |
| 333 |
if (!TL3_INPUT) key_temp |= _BV(KEY3); |
339 |
if (!TL3_INPUT) key_temp |= _BV(KEY3); |
| 334 |
if (key_temp != key_press) |
340 |
//if (key_temp != key_press) |
| 335 |
{ |
341 |
{ |
| - |
|
342 |
if (key_temp != key_press) |
| - |
|
343 |
{ |
| - |
|
344 |
timer_off= OFF_TIME; |
| - |
|
345 |
timer_key_long=TIME_KEY_LONG; |
| - |
|
346 |
} |
| 336 |
timer_key = KEY_TIME_DEAD; |
347 |
timer_key = KEY_TIME_DEAD; |
| 337 |
key_press = key_temp; |
348 |
key_press = key_temp; |
| 338 |
if (!key_flag) key_flag = key_press; |
349 |
if (!key_flag) key_flag = key_press; |
| 339 |
timer_off= OFF_TIME; |
350 |
|
| 340 |
} |
351 |
} |
| 341 |
} |
352 |
} |
| 342 |
} |
353 |
} |
| 343 |
} |
354 |
} |
| 344 |
|
355 |
|
| Line 509... |
Line 520... |
| 509 |
date.year=yRTC; |
520 |
date.year=yRTC; |
| 510 |
return date; |
521 |
return date; |
| 511 |
} |
522 |
} |
| 512 |
|
523 |
|
| 513 |
//********************************************************************* |
524 |
//********************************************************************* |
| - |
|
525 |
// key |
| - |
|
526 |
|
| - |
|
527 |
uint8_t test_key(void) |
| - |
|
528 |
{ |
| - |
|
529 |
static uint8_t key_next = 0; |
| - |
|
530 |
|
| - |
|
531 |
if (key_press) |
| - |
|
532 |
{ |
| - |
|
533 |
if (key_next) |
| - |
|
534 |
{ |
| - |
|
535 |
key_read(); |
| - |
|
536 |
return 0; |
| - |
|
537 |
} |
| - |
|
538 |
|
| - |
|
539 |
if(!timer_key_long) |
| - |
|
540 |
{ |
| - |
|
541 |
key_next = 1; |
| - |
|
542 |
timer_key = KEY_TIME_FIRST; |
| - |
|
543 |
switch(key_read()) |
| - |
|
544 |
{ |
| - |
|
545 |
case _BV(KEY1): return KEY1_LONG; |
| - |
|
546 |
case _BV(KEY2): return KEY2_LONG; |
| - |
|
547 |
case _BV(KEY3): return KEY3_LONG; |
| - |
|
548 |
} |
| - |
|
549 |
} |
| - |
|
550 |
return 0; |
| - |
|
551 |
} |
| - |
|
552 |
key_next=0; |
| - |
|
553 |
switch(key_read()) |
| - |
|
554 |
{ |
| - |
|
555 |
case _BV(KEY1): return KEY1_SHORT; |
| - |
|
556 |
case _BV(KEY2): return KEY2_SHORT; |
| - |
|
557 |
case _BV(KEY3): return KEY3_SHORT; |
| - |
|
558 |
} |
| - |
|
559 |
return 0; |
| - |
|
560 |
} |
| - |
|
561 |
|
| - |
|
562 |
//********************************************************************* |
| 514 |
//status |
563 |
//status |
| 515 |
|
564 |
|
| 516 |
void status(void) |
565 |
void status(void) |
| 517 |
{ |
566 |
{ |
| 518 |
uint8_t a,b; |
567 |
uint8_t a,b; |
| Line 561... |
Line 610... |
| 561 |
// mod |
610 |
// mod |
| 562 |
|
611 |
|
| 563 |
void displ_time(void) |
612 |
void displ_time(void) |
| 564 |
{ |
613 |
{ |
| 565 |
GPS_ON; |
614 |
GPS_ON; |
| - |
|
615 |
|
| - |
|
616 |
switch(test_key()) |
| - |
|
617 |
{ |
| - |
|
618 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
619 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
620 |
case KEY3_LONG: return; |
| - |
|
621 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
622 |
case KEY2_SHORT: |
| - |
|
623 |
case KEY3_SHORT:break; |
| - |
|
624 |
} |
| - |
|
625 |
|
| 566 |
if (!timer_refresh) |
626 |
if (!timer_refresh) |
| 567 |
{ |
627 |
{ |
| 568 |
timer_refresh = CLOCK1S; |
628 |
timer_refresh = CLOCK1S; |
| 569 |
buffer_clr(); |
629 |
buffer_clr(); |
| 570 |
status(); |
630 |
status(); |
| Line 581... |
Line 641... |
| 581 |
void displ_location(void) |
641 |
void displ_location(void) |
| 582 |
{ |
642 |
{ |
| 583 |
uint8_t a,b; |
643 |
uint8_t a,b; |
| 584 |
uint8_t *ptr; |
644 |
uint8_t *ptr; |
| 585 |
|
645 |
|
| - |
|
646 |
switch(test_key()) |
| - |
|
647 |
{ |
| - |
|
648 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
649 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
650 |
case KEY3_LONG: return; |
| - |
|
651 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
652 |
case KEY2_SHORT: |
| - |
|
653 |
case KEY3_SHORT:break; |
| - |
|
654 |
} |
| - |
|
655 |
|
| 586 |
if (!timer_refresh) |
656 |
if (!timer_refresh) |
| 587 |
{ |
657 |
{ |
| 588 |
timer_refresh = CLOCK1S; |
658 |
timer_refresh = CLOCK1S; |
| 589 |
buffer_clr(); |
659 |
buffer_clr(); |
| 590 |
status(); |
660 |
status(); |
| Line 607... |
Line 677... |
| 607 |
} |
677 |
} |
| 608 |
} |
678 |
} |
| 609 |
|
679 |
|
| 610 |
void displ_speed(void) |
680 |
void displ_speed(void) |
| 611 |
{ |
681 |
{ |
| - |
|
682 |
switch(test_key()) |
| - |
|
683 |
{ |
| - |
|
684 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
685 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
686 |
case KEY3_LONG: return; |
| - |
|
687 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
688 |
case KEY2_SHORT: |
| - |
|
689 |
case KEY3_SHORT:break; |
| - |
|
690 |
} |
| - |
|
691 |
|
| 612 |
if (!timer_refresh) |
692 |
if (!timer_refresh) |
| 613 |
{ |
693 |
{ |
| 614 |
timer_refresh = CLOCK1S; |
694 |
timer_refresh = CLOCK1S; |
| 615 |
buffer_clr(); |
695 |
buffer_clr(); |
| 616 |
status(); |
696 |
status(); |
| Line 622... |
Line 702... |
| 622 |
} |
702 |
} |
| 623 |
} |
703 |
} |
| 624 |
|
704 |
|
| 625 |
void displ_course(void) |
705 |
void displ_course(void) |
| 626 |
{ |
706 |
{ |
| - |
|
707 |
switch(test_key()) |
| - |
|
708 |
{ |
| - |
|
709 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
710 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
711 |
case KEY3_LONG: return; |
| - |
|
712 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
713 |
case KEY2_SHORT: |
| - |
|
714 |
case KEY3_SHORT:break; |
| - |
|
715 |
} |
| - |
|
716 |
|
| 627 |
if (!timer_refresh) |
717 |
if (!timer_refresh) |
| 628 |
{ |
718 |
{ |
| 629 |
timer_refresh = CLOCK1S; |
719 |
timer_refresh = CLOCK1S; |
| 630 |
buffer_clr(); |
720 |
buffer_clr(); |
| 631 |
status(); |
721 |
status(); |
| Line 646... |
Line 736... |
| 646 |
uint8_t a,x,y,b; |
736 |
uint8_t a,x,y,b; |
| 647 |
static uint8_t d = 0; |
737 |
static uint8_t d = 0; |
| 648 |
static uint8_t c = 0; |
738 |
static uint8_t c = 0; |
| 649 |
double elevace,azimut; |
739 |
double elevace,azimut; |
| 650 |
|
740 |
|
| - |
|
741 |
switch(test_key()) |
| - |
|
742 |
{ |
| - |
|
743 |
case KEY1_LONG:if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
744 |
case KEY2_LONG: c=0;id_mod=ID_OFF;return; |
| - |
|
745 |
case KEY3_LONG: c=0;return; |
| - |
|
746 |
case KEY1_SHORT:c=0;timer_refresh = 0;++id_mod;return; |
| - |
|
747 |
case KEY2_SHORT:c=0;d++;timer_refresh = 0;break; |
| - |
|
748 |
case KEY3_SHORT: break; |
| - |
|
749 |
} |
| - |
|
750 |
|
| 651 |
if (!timer_refresh) |
751 |
if (!timer_refresh) |
| 652 |
{ |
752 |
{ |
| 653 |
timer_refresh = CLOCK1S; |
753 |
timer_refresh = CLOCK1S; |
| 654 |
if (c--) return; |
754 |
if (c--) return; |
| 655 |
c=3; |
755 |
c=5; |
| 656 |
buffer_clr(); |
756 |
buffer_clr(); |
| 657 |
//status(); |
757 |
//status(); |
| 658 |
#ifdef DEBUG |
758 |
#ifdef DEBUG |
| 659 |
if(gps.gsv_satelites_view > 12) |
759 |
if(gps.gsv_satelites_view > 12) |
| 660 |
{ |
760 |
{ |
| 661 |
printf("error view satelites"); |
761 |
printf("error view satelites"); |
| 662 |
lcd_refresh(); |
762 |
lcd_refresh(); |
| 663 |
c=20; |
763 |
c=5; |
| 664 |
return; |
764 |
return; |
| 665 |
} |
765 |
} |
| 666 |
#endif |
766 |
#endif |
| 667 |
if (++d >= gps.gsv_satelites_view) d = 0; |
767 |
if (d >= gps.gsv_satelites_view) d = 0; |
| 668 |
gotoxy(12,1); |
768 |
gotoxy(12,1); |
| 669 |
printf("%d",gps.gsv_satelites_view); |
769 |
printf("%d",gps.gsv_satelites_view); |
| 670 |
gotoxy(12,2); |
770 |
gotoxy(12,2); |
| 671 |
printf("%d",gps.satelit_detail[d].id); |
771 |
printf("%d",gps.satelit_detail[d].id); |
| 672 |
gotoxy(12,3); |
772 |
gotoxy(12,3); |
| Line 711... |
Line 811... |
| 711 |
} |
811 |
} |
| 712 |
} |
812 |
} |
| 713 |
|
813 |
|
| 714 |
void displ_all_position() |
814 |
void displ_all_position() |
| 715 |
{ |
815 |
{ |
| - |
|
816 |
|
| - |
|
817 |
switch(test_key()) |
| - |
|
818 |
{ |
| - |
|
819 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
820 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
821 |
case KEY3_LONG: return; |
| - |
|
822 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
823 |
case KEY2_SHORT: |
| - |
|
824 |
case KEY3_SHORT:break; |
| - |
|
825 |
} |
| - |
|
826 |
|
| 716 |
if (!timer_refresh) |
827 |
if (!timer_refresh) |
| 717 |
{ |
828 |
{ |
| 718 |
timer_refresh = CLOCK1S; |
829 |
timer_refresh = CLOCK1S; |
| 719 |
buffer_clr(); |
830 |
buffer_clr(); |
| 720 |
status(); |
831 |
status(); |
| Line 740... |
Line 851... |
| 740 |
double course; |
851 |
double course; |
| 741 |
uint8_t x,y,xl,yl,xp,yp; |
852 |
uint8_t x,y,xl,yl,xp,yp; |
| 742 |
uint8_t a,b; |
853 |
uint8_t a,b; |
| 743 |
uint8_t *ptr; |
854 |
uint8_t *ptr; |
| 744 |
|
855 |
|
| - |
|
856 |
switch(test_key()) |
| - |
|
857 |
{ |
| - |
|
858 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
859 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
860 |
case KEY3_LONG: return; |
| - |
|
861 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
862 |
case KEY2_SHORT: |
| - |
|
863 |
case KEY3_SHORT:break; |
| - |
|
864 |
} |
| - |
|
865 |
|
| 745 |
if (!timer_refresh) |
866 |
if (!timer_refresh) |
| 746 |
{ |
867 |
{ |
| 747 |
timer_refresh = CLOCK1S; |
868 |
timer_refresh = CLOCK1S; |
| 748 |
buffer_clr(); |
869 |
buffer_clr(); |
| 749 |
status(); |
870 |
status(); |
| 750 |
|
871 |
|
| 751 |
const float gc_lat=48*60+57.7647,gc_lon=14*60+28.0836; // DOMA |
872 |
const float gc_lat= MY_LAT,gc_lon=MY_LON; // DOMA |
| 752 |
|
873 |
|
| 753 |
lon=(gc_lon-gps.longitude*60)*1214; |
874 |
lon=(gc_lon-gps.longitude*60)*1214; |
| 754 |
lat=(gc_lat-gps.latitude*60)*1854; |
875 |
lat=(gc_lat-gps.latitude*60)*1854; |
| 755 |
temp = sqrt((lon*lon) + (lat*lat)); |
876 |
temp = sqrt((lon*lon) + (lat*lat)); |
| 756 |
|
877 |
|
| Line 838... |
Line 959... |
| 838 |
} |
959 |
} |
| 839 |
|
960 |
|
| 840 |
void displ_service(char *buf) |
961 |
void displ_service(char *buf) |
| 841 |
{ |
962 |
{ |
| 842 |
uint8_t a; |
963 |
uint8_t a; |
| 843 |
|
964 |
|
| - |
|
965 |
switch(test_key()) |
| - |
|
966 |
{ |
| - |
|
967 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
968 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
969 |
case KEY3_LONG: return; |
| - |
|
970 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
971 |
case KEY2_SHORT: |
| - |
|
972 |
case KEY3_SHORT:break; |
| - |
|
973 |
} |
| - |
|
974 |
|
| 844 |
if (!timer_refresh) |
975 |
if (!timer_refresh) |
| 845 |
{ |
976 |
{ |
| 846 |
timer_refresh = CLOCK1S; |
977 |
timer_refresh = CLOCK1S; |
| 847 |
buffer_clr(); |
978 |
buffer_clr(); |
| 848 |
for (a = 0; a<80; a++) putchar(*(buf++)); |
979 |
for (a = 0; a<80; a++) putchar(*(buf++)); |
| Line 858... |
Line 989... |
| 858 |
uint8_t xp,yp; |
989 |
uint8_t xp,yp; |
| 859 |
uint8_t xl,yl; |
990 |
uint8_t xl,yl; |
| 860 |
//uint8_t xs,ys; |
991 |
//uint8_t xs,ys; |
| 861 |
double course; |
992 |
double course; |
| 862 |
|
993 |
|
| - |
|
994 |
switch(test_key()) |
| - |
|
995 |
{ |
| - |
|
996 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
997 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
998 |
case KEY3_LONG: return; |
| - |
|
999 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
1000 |
case KEY2_SHORT: |
| - |
|
1001 |
case KEY3_SHORT:break; |
| - |
|
1002 |
} |
| - |
|
1003 |
|
| 863 |
if (!timer_refresh) |
1004 |
if (!timer_refresh) |
| 864 |
{ |
1005 |
{ |
| 865 |
timer_refresh = CLOCK1S; |
1006 |
timer_refresh = CLOCK1S; |
| 866 |
buffer_clr(); |
1007 |
buffer_clr(); |
| 867 |
status(); |
1008 |
status(); |
| Line 912... |
Line 1053... |
| 912 |
|
1053 |
|
| 913 |
void displ_all_service(void) |
1054 |
void displ_all_service(void) |
| 914 |
{ |
1055 |
{ |
| 915 |
uint8_t a; |
1056 |
uint8_t a; |
| 916 |
|
1057 |
|
| - |
|
1058 |
switch(test_key()) |
| - |
|
1059 |
{ |
| - |
|
1060 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
1061 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
1062 |
case KEY3_LONG: return; |
| - |
|
1063 |
case KEY1_SHORT:timer_refresh = 0;++id_mod;return; |
| - |
|
1064 |
case KEY2_SHORT: |
| - |
|
1065 |
case KEY3_SHORT:break; |
| - |
|
1066 |
} |
| - |
|
1067 |
|
| 917 |
if (!timer_refresh) |
1068 |
if (!timer_refresh) |
| 918 |
{ |
1069 |
{ |
| 919 |
timer_refresh = CLOCK1S; |
1070 |
timer_refresh = CLOCK1S; |
| 920 |
buffer_clr(); |
1071 |
buffer_clr(); |
| 921 |
status(); |
1072 |
status(); |
| Line 947... |
Line 1098... |
| 947 |
} |
1098 |
} |
| 948 |
lcd_refresh(); |
1099 |
lcd_refresh(); |
| 949 |
} |
1100 |
} |
| 950 |
} |
1101 |
} |
| 951 |
|
1102 |
|
| 952 |
void displ_temp() |
1103 |
void temp(void) |
| 953 |
{ |
1104 |
{ |
| 954 |
//GPS_OFF; |
- |
|
| 955 |
//ADC_OFF; |
- |
|
| 956 |
//REF_OFF; |
- |
|
| 957 |
|
- |
|
| 958 |
if(!timer_temp) |
- |
|
| 959 |
{ |
- |
|
| 960 |
timer_temp = TEMP_TIME_REPEAT; |
1105 |
timer_temp = TEMP_TIME_REPEAT; |
| 961 |
now.temperature=read_temp(); |
1106 |
now.temperature=read_temp(); |
| 962 |
now.time=actual_time(); |
1107 |
now.time=actual_time(); |
| 963 |
now.date=actual_date(); |
1108 |
now.date=actual_date(); |
| 964 |
|
1109 |
|
| 965 |
buffer_clr(); |
1110 |
buffer_clr(); |
| Line 995... |
Line 1140... |
| 995 |
gotoxy(11,5); |
1140 |
gotoxy(11,5); |
| 996 |
offset_text-= 2; |
1141 |
offset_text-= 2; |
| 997 |
print_time(min.time); |
1142 |
print_time(min.time); |
| 998 |
lcd_refresh(); |
1143 |
lcd_refresh(); |
| 999 |
start_MCP9800(); |
1144 |
start_MCP9800(); |
| - |
|
1145 |
} |
| - |
|
1146 |
|
| - |
|
1147 |
void displ_temp() |
| - |
|
1148 |
{ |
| - |
|
1149 |
//GPS_OFF; |
| - |
|
1150 |
//ADC_OFF; |
| - |
|
1151 |
//REF_OFF; |
| - |
|
1152 |
|
| - |
|
1153 |
switch(test_key()) |
| - |
|
1154 |
{ |
| - |
|
1155 |
case KEY1_LONG: timer_refresh = 0;if (LED_INPUT) LED_OFF;else LED_ON;break; |
| - |
|
1156 |
case KEY2_LONG: id_mod=ID_OFF;return; |
| - |
|
1157 |
case KEY3_LONG: return; |
| - |
|
1158 |
case KEY1_SHORT:timer_refresh = 0;id_mod++;return; |
| - |
|
1159 |
case KEY2_SHORT:timer_temp = 0; max.temperature=0x8000;min.temperature=0x7FFF; |
| - |
|
1160 |
if (GPS_INPUT && (gps.status == 'A')) |
| - |
|
1161 |
{ |
| - |
|
1162 |
sRTC=gps.second; |
| - |
|
1163 |
mRTC=gps.minute; |
| - |
|
1164 |
hRTC=gps.hour+2; |
| - |
|
1165 |
|
| - |
|
1166 |
dRTC=gps.day; |
| - |
|
1167 |
mdRTC=gps.month; |
| - |
|
1168 |
yRTC=gps.year; |
| - |
|
1169 |
}break; |
| - |
|
1170 |
case KEY3_SHORT: break; |
| - |
|
1171 |
} |
| - |
|
1172 |
|
| - |
|
1173 |
if(!timer_temp) |
| - |
|
1174 |
{ |
| - |
|
1175 |
temp(); |
| 1000 |
} |
1176 |
} |
| 1001 |
} |
1177 |
} |
| 1002 |
|
1178 |
|
| - |
|
1179 |
|
| 1003 |
void displ_start(void) |
1180 |
void displ_start(void) |
| 1004 |
{ |
1181 |
{ |
| 1005 |
buffer_clr(); |
1182 |
buffer_clr(); |
| 1006 |
gotoxy(6,3); |
1183 |
gotoxy(6,3); |
| 1007 |
fprintf(&mystdout2,"GPS"); |
1184 |
fprintf(&mystdout2,"GPS"); |
| 1008 |
lcd_refresh(); |
1185 |
lcd_refresh(); |
| 1009 |
delay_ms(1000); |
1186 |
delay_ms(1000); |
| 1010 |
id_mod = ID_TEMP; |
1187 |
id_mod = ID_TEMP; |
| 1011 |
|
- |
|
| 1012 |
} |
1188 |
} |
| 1013 |
|
1189 |
|
| 1014 |
void all_off(void) |
1190 |
void all_off(void) |
| 1015 |
{ |
1191 |
{ |
| - |
|
1192 |
uint8_t temp_wiev; |
| - |
|
1193 |
|
| 1016 |
buffer_clr(); |
1194 |
buffer_clr(); |
| 1017 |
gotoxy(6,3); |
1195 |
gotoxy(6,3); |
| 1018 |
fprintf(&mystdout2,"OFF"); |
1196 |
fprintf(&mystdout2,"OFF"); |
| 1019 |
lcd_refresh(); |
1197 |
lcd_refresh(); |
| 1020 |
GPS_OFF; |
1198 |
GPS_OFF; |
| 1021 |
REF_OFF; |
1199 |
REF_OFF; |
| - |
|
1200 |
ADC_OFF; |
| 1022 |
delay_ms(1000); |
1201 |
delay_ms(1000); |
| 1023 |
LED_OFF; |
1202 |
LED_OFF; |
| 1024 |
N5110_send_command(POWER_DOWN); |
1203 |
N5110_send_command(POWER_DOWN); |
| 1025 |
|
1204 |
|
| - |
|
1205 |
temp_wiev = 0; |
| 1026 |
while (TL2_INPUT) |
1206 |
while (TL2_INPUT) |
| 1027 |
{ |
1207 |
{ |
| 1028 |
sleep_cpu(); |
1208 |
sleep_cpu(); |
| - |
|
1209 |
if (!TL1_INPUT) |
| - |
|
1210 |
{ |
| - |
|
1211 |
if (!temp_wiev) N5110_send_command(ACTIVE_CHIP); |
| - |
|
1212 |
temp_wiev = 1; |
| - |
|
1213 |
timer1_ovf = 0; |
| - |
|
1214 |
while ((!TL1_INPUT) && (timer1_ovf<200)); |
| - |
|
1215 |
if (timer1_ovf==200) |
| - |
|
1216 |
{ |
| - |
|
1217 |
max.temperature=0x8000; |
| - |
|
1218 |
min.temperature=0x7FFF; |
| - |
|
1219 |
} |
| - |
|
1220 |
} |
| - |
|
1221 |
if (!TL3_INPUT) {N5110_send_command(POWER_DOWN);temp_wiev = 0;} |
| - |
|
1222 |
if (temp_wiev) temp(); |
| 1029 |
|
1223 |
|
| 1030 |
} |
1224 |
} |
| 1031 |
null_variables(); |
1225 |
null_variables(); |
| 1032 |
LCD_N5110_INIT(); |
1226 |
LCD_N5110_INIT(); |
| 1033 |
displ_start(); |
1227 |
displ_start(); |
| Line 1164... |
Line 1358... |
| 1164 |
case RETURN_VTG: nmea_vtg(scan_buf,pgps);break; |
1358 |
case RETURN_VTG: nmea_vtg(scan_buf,pgps);break; |
| 1165 |
} |
1359 |
} |
| 1166 |
|
1360 |
|
| 1167 |
timer1_tik(); |
1361 |
timer1_tik(); |
| 1168 |
|
1362 |
|
| 1169 |
id_mod = key(id_mod); |
1363 |
//id_mod = key(id_mod); |
| 1170 |
|
1364 |
|
| 1171 |
} |
1365 |
} |
| 1172 |
return 0; |
1366 |
return 0; |
| 1173 |
} |
1367 |
} |
| 1174 |
|
1368 |
|