main/buttons.c

changeset 87
47253f294a9f
parent 77
66c77497d86d
child 101
1bc6e9263ada
equal deleted inserted replaced
86:8d0287a1a9e1 87:47253f294a9f
575 /**************************************************************************/ 575 /**************************************************************************/
576 /* 576 /*
577 * Data show and edit functions. 577 * Data show and edit functions.
578 */ 578 */
579 579
580 void ShowText(uint16_t x, uint16_t y, char *label, char *txt) 580 void ShowLabel(uint16_t x, uint16_t y, char *label)
581 { 581 {
582 _fg = TFT_LIGHTGREY; 582 _fg = TFT_LIGHTGREY;
583 TFT_print(label, x, y); 583 TFT_print(label, x, y);
584 _fg = TFT_YELLOW; 584 _fg = TFT_YELLOW;
585 TFT_print((char *)" ", LASTX, LASTY); 585 TFT_print((char *)" ", LASTX, LASTY);
586 }
587
588
589
590 void ShowText(uint16_t x, uint16_t y, char *label, char *txt)
591 {
592 ShowLabel(x, y, label);
586 TFT_print(txt, LASTX, LASTY); 593 TFT_print(txt, LASTX, LASTY);
587 } 594 }
588 595
589 596
590 597
591 void ShowInteger(uint16_t x, uint16_t y, char *label, char *suffix, int val) 598 void ShowInteger(uint16_t x, uint16_t y, char *label, char *suffix, int val)
592 { 599 {
593 char tmp[32]; 600 char tmp[32];
594 601
595 _fg = TFT_LIGHTGREY; 602 ShowLabel(x, y, label);
596 TFT_print(label, x, y); 603 sprintf(tmp, "%d", val);
597 _fg = TFT_YELLOW;
598 sprintf(tmp, " %d", val);
599 TFT_print(tmp, LASTX, LASTY); 604 TFT_print(tmp, LASTX, LASTY);
600 if (suffix) { 605 if (suffix) {
601 _fg = TFT_LIGHTGREY; 606 _fg = TFT_LIGHTGREY;
602 TFT_print(suffix, LASTX, LASTY); 607 TFT_print(suffix, LASTX, LASTY);
603 } 608 }
605 610
606 611
607 612
608 void ShowBool(uint16_t x, uint16_t y, char *label, bool val) 613 void ShowBool(uint16_t x, uint16_t y, char *label, bool val)
609 { 614 {
610 _fg = TFT_LIGHTGREY; 615 ShowLabel(x, y, label);
611 TFT_print(label, x, y);
612 _fg = TFT_YELLOW;
613 if (val) 616 if (val)
614 TFT_print((char *)" J", LASTX, LASTY); 617 TFT_print((char *)"J", LASTX, LASTY);
615 else 618 else
616 TFT_print((char *)" N", LASTX, LASTY); 619 TFT_print((char *)"N", LASTX, LASTY);
617 } 620 }
618 621
619 622
620 623
621 void ShowSSR2(uint16_t x, uint16_t y, int val) 624 void ShowSSR2(uint16_t x, uint16_t y, int val)
622 { 625 {
623 _fg = TFT_LIGHTGREY; 626 ShowLabel(x, y, (char *)"SSR2");
624 TFT_print((char *)"SSR2 ", x, y);
625 _fg = TFT_YELLOW;
626 TFT_clearStringRect(TFT_X, TFT_Y, (char *)"HLT en MLT"); 627 TFT_clearStringRect(TFT_X, TFT_Y, (char *)"HLT en MLT");
627 TFT_print((char *)SSR2Types[val], LASTX, LASTY); 628 TFT_print((char *)SSR2Types[val], LASTX, LASTY);
628 } 629 }
629 630
630 631
631 632
632 void ShowFloat(uint16_t x, uint16_t y, char *label, char *suffix, float val, int decimals) 633 void ShowFloat(uint16_t x, uint16_t y, char *label, char *suffix, float val, int decimals)
633 { 634 {
634 char tmp[32]; 635 char tmp[32];
635 636
636 _fg = TFT_LIGHTGREY; 637 ShowLabel(x, y, label);
637 TFT_print(label, x, y); 638 sprintf(tmp, "%.*f", decimals, val);
638 _fg = TFT_YELLOW;
639 sprintf(tmp, " %.*f", decimals, val);
640 TFT_print(tmp, LASTX, LASTY); 639 TFT_print(tmp, LASTX, LASTY);
641 if (suffix) { 640 if (suffix) {
642 _fg = TFT_LIGHTGREY; 641 _fg = TFT_LIGHTGREY;
643 TFT_print(suffix, LASTX, LASTY); 642 TFT_print(suffix, LASTX, LASTY);
644 } 643 }
648 647
649 void ShowDouble(uint16_t x, uint16_t y, char *label, char *suffix, double val, int decimals) 648 void ShowDouble(uint16_t x, uint16_t y, char *label, char *suffix, double val, int decimals)
650 { 649 {
651 char tmp[32]; 650 char tmp[32];
652 651
653 _fg = TFT_LIGHTGREY; 652 ShowLabel(x, y, label);
654 TFT_print(label, x, y); 653 sprintf(tmp, "%.*f", decimals, val);
655 _fg = TFT_YELLOW;
656 sprintf(tmp, " %.*f", decimals, val);
657 TFT_print(tmp, LASTX, LASTY); 654 TFT_print(tmp, LASTX, LASTY);
658 if (suffix) { 655 if (suffix) {
659 _fg = TFT_LIGHTGREY; 656 _fg = TFT_LIGHTGREY;
660 TFT_print(suffix, LASTX, LASTY); 657 TFT_print(suffix, LASTX, LASTY);
661 } 658 }
662 } 659 }
663 660
664 661
665 662
666 void Editer(char *label, char *txt, char *errmsg, int len, int type) 663 void EditerTop(char *label)
667 { 664 {
668 int key;
669
670 _bg = TFT_BLACK; 665 _bg = TFT_BLACK;
671 TFT_fillScreen(_bg); 666 TFT_fillScreen(_bg);
672 TFT_resetclipwin(); 667 TFT_resetclipwin();
673 TopMessage((char *)"Wijzigen"); 668 TopMessage(label);
669 }
670
671
672
673 void Editer(char *label, char *txt, char *errmsg, int len, int type)
674 {
675 int key;
676
677 EditerTop((char *)"Wijzigen");
674 _fg = TFT_LIGHTGREY; 678 _fg = TFT_LIGHTGREY;
675 TFT_setFont(DEFAULT_FONT, NULL); 679 TFT_setFont(DEFAULT_FONT, NULL);
676 TFT_print(label, 2, 28); 680 TFT_print(label, 2, 28);
677 if (strlen(errmsg)) { 681 if (strlen(errmsg)) {
678 _fg = TFT_RED; 682 _fg = TFT_RED;
890 void EditBool(char *label, bool *val) 894 void EditBool(char *label, bool *val)
891 { 895 {
892 bool loop = true, value = *val; 896 bool loop = true, value = *val;
893 int curpos; 897 int curpos;
894 898
895 _bg = TFT_BLACK; 899 EditerTop((char *)"Wijzigen");
896 TFT_fillScreen(_bg);
897 TFT_resetclipwin();
898 TopMessage((char *)"Wijzigen");
899 _fg = TFT_LIGHTGREY; 900 _fg = TFT_LIGHTGREY;
900 TFT_setFont(DEFAULT_FONT, NULL); 901 TFT_setFont(DEFAULT_FONT, NULL);
901 TFT_print(label, 2, 28); 902 TFT_print(label, 2, 28);
902 curpos = TFT_X; 903 curpos = TFT_X;
903 _fg = TFT_YELLOW; 904 _fg = TFT_YELLOW;
937 { 938 {
938 bool loop = true; 939 bool loop = true;
939 int value = *val; 940 int value = *val;
940 int key; 941 int key;
941 942
942 _bg = TFT_BLACK; 943 EditerTop((char *)"Wijzigen");
943 TFT_fillScreen(_bg);
944 TFT_resetclipwin();
945 TopMessage((char *)"Wijzigen");
946 944
947 Buttons_Clear(); 945 Buttons_Clear();
948 Buttons_Add( 20, 60,120, 40, (char *)SSR2Types[0], 0); 946 Buttons_Add( 20, 60,120, 40, (char *)SSR2Types[0], 0);
949 Buttons_Add(180, 60,120, 40, (char *)SSR2Types[1], 1); 947 Buttons_Add(180, 60,120, 40, (char *)SSR2Types[1], 1);
950 Buttons_Add( 20, 130,120, 40, (char *)SSR2Types[2], 2); 948 Buttons_Add( 20, 130,120, 40, (char *)SSR2Types[2], 2);
976 { 974 {
977 bool loop = true; 975 bool loop = true;
978 int value = (int)*val; 976 int value = (int)*val;
979 int key; 977 int key;
980 978
981 _bg = TFT_BLACK; 979 EditerTop((char *)"Wijzigen");
982 TFT_fillScreen(_bg);
983 TFT_resetclipwin();
984 TopMessage((char *)"Wijzigen");
985 980
986 Buttons_Clear(); 981 Buttons_Clear();
987 Buttons_Add( 80, 40,160, 40, (char *)mashTypes[0], 0); 982 Buttons_Add( 80, 40,160, 40, (char *)mashTypes[0], 0);
988 Buttons_Add( 80, 90,160, 40, (char *)mashTypes[1], 1); 983 Buttons_Add( 80, 90,160, 40, (char *)mashTypes[1], 1);
989 Buttons_Add( 80, 140,160, 40, (char *)mashTypes[2], 2); 984 Buttons_Add( 80, 140,160, 40, (char *)mashTypes[2], 2);
1014 int Confirm(char *top, char *ack, char *nak) 1009 int Confirm(char *top, char *ack, char *nak)
1015 { 1010 {
1016 int rc = false; 1011 int rc = false;
1017 bool loop = true; 1012 bool loop = true;
1018 1013
1019 TFT_fillScreen(TFT_BLACK); 1014 EditerTop(top);
1020 TopMessage(top);
1021 Buttons_Clear(); 1015 Buttons_Clear();
1022 Buttons_Add( 40, 100, 80, 40, ack, 0); 1016 Buttons_Add( 40, 100, 80, 40, ack, 0);
1023 Buttons_Add(200, 100, 80, 40, nak, 1); 1017 Buttons_Add(200, 100, 80, 40, nak, 1);
1024 Buttons_Show(); 1018 Buttons_Show();
1025 SoundPlay(SOUND_Prompt); 1019 SoundPlay(SOUND_Prompt);

mercurial