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); |