Mercurial > public > ostc4
comparison Discovery/Src/t3.c @ 416:bcf447646e07
Merged in Ideenmodellierer/ostc4/Improment_NVM (pull request #37)
Improment NVM
| author | heinrichsweikamp <bitbucket@heinrichsweikamp.com> |
|---|---|
| date | Wed, 15 Jan 2020 10:53:15 +0000 |
| parents | 65c7b009136f |
| children | 9623f166b0c0 |
comparison
equal
deleted
inserted
replaced
| 403:6f30f2011667 | 416:bcf447646e07 |
|---|---|
| 257 if(stateUsed->lifeData.ascent_rate_meter_per_min > -200) | 257 if(stateUsed->lifeData.ascent_rate_meter_per_min > -200) |
| 258 depthChangeRate = (uint8_t)(0 - stateUsed->lifeData.ascent_rate_meter_per_min); | 258 depthChangeRate = (uint8_t)(0 - stateUsed->lifeData.ascent_rate_meter_per_min); |
| 259 else | 259 else |
| 260 depthChangeRate = 200; | 260 depthChangeRate = 200; |
| 261 } | 261 } |
| 262 start.y = tXl1->WindowY0 - 1; | 262 |
| 263 if(!pSettings->FlipDisplay) | |
| 264 { | |
| 265 start.y = tXl1->WindowY0 - 1; | |
| 266 } | |
| 267 else | |
| 268 { | |
| 269 start.y = tXl1->WindowY1 + 1; | |
| 270 } | |
| 263 startZeroLine.y = start.y; | 271 startZeroLine.y = start.y; |
| 264 for(int i = 0; i<5;i++) | 272 for(int i = 0; i<5;i++) |
| 265 { | 273 { |
| 266 start.y += 40; | 274 start.y += 40; |
| 267 stop.y = start.y; | 275 stop.y = start.y; |
| 268 start.x = tXl1->WindowX1 - 1; | 276 if(!pSettings->FlipDisplay) |
| 277 { | |
| 278 start.x = tXl1->WindowX1 - 1; | |
| 279 } | |
| 280 else | |
| 281 { | |
| 282 start.x = tXr1->WindowX1 - 1; | |
| 283 } | |
| 269 stop.x = start.x - 17; | 284 stop.x = start.x - 17; |
| 270 | 285 |
| 271 if(depthChangeRate <= 6) | 286 if(depthChangeRate <= 6) |
| 272 { | 287 { |
| 273 if(i == 2) | 288 if(i == 2) |
| 288 } | 303 } |
| 289 // new thick bar design Sept. 2015 | 304 // new thick bar design Sept. 2015 |
| 290 if((stateUsed->lifeData.ascent_rate_meter_per_min > 4) || (stateUsed->lifeData.ascent_rate_meter_per_min < -4)) | 305 if((stateUsed->lifeData.ascent_rate_meter_per_min > 4) || (stateUsed->lifeData.ascent_rate_meter_per_min < -4)) |
| 291 { | 306 { |
| 292 start.y = startZeroLine.y; | 307 start.y = startZeroLine.y; |
| 293 | |
| 294 if(depthChangeAscent) | 308 if(depthChangeAscent) |
| 295 { | 309 { |
| 296 color = CLUT_EverythingOkayGreen; | 310 color = CLUT_EverythingOkayGreen; |
| 297 start.y += 7; // starte etwas weiter oben | 311 start.y += 7; // starte etwas weiter oben |
| 298 stop.y = start.y + (uint16_t)(depthChangeRate * 4) - 9; // - x; // wegen der Liniendicke | 312 stop.y = start.y + (uint16_t)(depthChangeRate * 4) - 9; // - x; // wegen der Liniendicke |
| 305 start.y -= 7; | 319 start.y -= 7; |
| 306 stop.y = start.y - (uint16_t)(depthChangeRate * 4) + 9; | 320 stop.y = start.y - (uint16_t)(depthChangeRate * 4) + 9; |
| 307 if(stop.y <= tXl1->WindowY0) | 321 if(stop.y <= tXl1->WindowY0) |
| 308 stop.y = tXl1->WindowY0 + 1; | 322 stop.y = tXl1->WindowY0 + 1; |
| 309 } | 323 } |
| 310 stop.x = start.x = tXl1->WindowX1 - 8; | 324 if(!pSettings->FlipDisplay) |
| 325 { | |
| 326 start.x = tXl1->WindowX1 - 3 - 5; | |
| 327 } | |
| 328 else | |
| 329 { | |
| 330 start.x = tXr1->WindowX1 - 3 - 5; | |
| 331 } | |
| 332 | |
| 333 stop.x = start.x; | |
| 311 GFX_draw_thick_line(12,tXscreen, start, stop, color); | 334 GFX_draw_thick_line(12,tXscreen, start, stop, color); |
| 312 } | 335 } |
| 313 } | 336 } |
| 314 else | 337 else |
| 315 { | 338 { |
| 499 char text[512]; | 522 char text[512]; |
| 500 uint16_t textpointer = 0; | 523 uint16_t textpointer = 0; |
| 501 | 524 |
| 502 // CVIEW_T3_Temperature | 525 // CVIEW_T3_Temperature |
| 503 float temperature; | 526 float temperature; |
| 527 SSettings* pSettings; | |
| 528 pSettings = settingsGetPointer(); | |
| 504 | 529 |
| 505 SDivetime TotalDivetime = {0,0,0,0}; | 530 SDivetime TotalDivetime = {0,0,0,0}; |
| 506 SDivetime LastDivetime = {0,0,0,0}; | 531 SDivetime LastDivetime = {0,0,0,0}; |
| 507 | 532 |
| 508 uint16_t tempWinX0; | 533 uint16_t tempWinX0; |
| 534 uint16_t tempWinX1; | |
| 509 uint16_t tempWinY0; | 535 uint16_t tempWinY0; |
| 536 uint16_t tempWinY1; | |
| 510 | 537 |
| 511 tempWinX0 = tXc1->WindowX0; | 538 tempWinX0 = tXc1->WindowX0; |
| 539 tempWinX1 = tXc1->WindowX1; | |
| 512 tempWinY0 = tXc1->WindowY0; | 540 tempWinY0 = tXc1->WindowY0; |
| 541 tempWinY1 = tXc1->WindowY1; | |
| 513 | 542 |
| 514 tXc1->WindowX0 = 440; // rechte Seite | 543 tXc1->WindowX0 = 440; // rechte Seite |
| 515 | 544 |
| 516 switch(tX_selection_customview) | 545 switch(tX_selection_customview) |
| 517 { | 546 { |
| 540 | 569 |
| 541 LastDivetime.Total = stateUsed->lifeData.apnea_last_dive_time_seconds; | 570 LastDivetime.Total = stateUsed->lifeData.apnea_last_dive_time_seconds; |
| 542 LastDivetime.Minutes = LastDivetime.Total / 60; | 571 LastDivetime.Minutes = LastDivetime.Total / 60; |
| 543 LastDivetime.Seconds = LastDivetime.Total - ( LastDivetime.Minutes * 60 ); | 572 LastDivetime.Seconds = LastDivetime.Total - ( LastDivetime.Minutes * 60 ); |
| 544 | 573 |
| 545 tXc1->WindowY0 = 100; // obere Zeile | 574 // tXc1->WindowY0 = 100; // obere Zeile |
| 575 if(!pSettings->FlipDisplay) | |
| 576 { | |
| 577 tXc1->WindowY0 = 100; | |
| 578 } | |
| 579 else | |
| 580 { | |
| 581 tXc1->WindowY1 -= 100; /* jump to upper of two lines */ | |
| 582 } | |
| 546 | 583 |
| 547 snprintf(text,TEXTSIZE,"\020\016%u:%02u",LastDivetime.Minutes, LastDivetime.Seconds); | 584 snprintf(text,TEXTSIZE,"\020\016%u:%02u",LastDivetime.Minutes, LastDivetime.Seconds); |
| 548 t3_basics_colorscheme_mod(text); | 585 t3_basics_colorscheme_mod(text); |
| 549 GFX_write_string(&FontT105,tXc1,text,0); | 586 GFX_write_string(&FontT105,tXc1,text,0); |
| 550 | 587 |
| 588 if(pSettings->FlipDisplay) | |
| 589 { | |
| 590 tXc1->WindowX0 = 0; | |
| 591 | |
| 592 } | |
| 551 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaLast); | 593 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaLast); |
| 552 GFX_write_string(&FontT42,tXc1,text,0); | 594 GFX_write_string(&FontT42,tXc1,text,0); |
| 553 | 595 |
| 554 tXc1->WindowY0 = tempWinY0; // wieder unten | 596 if(!pSettings->FlipDisplay) |
| 597 { | |
| 598 tXc1->WindowY0 = tempWinY0; | |
| 599 } | |
| 600 else | |
| 601 { | |
| 602 tXc1->WindowX1 = tempWinX1; | |
| 603 tXc1->WindowY1 = tempWinY1; /* jump to upper of two lines */ | |
| 604 } | |
| 555 | 605 |
| 556 snprintf(text,TEXTSIZE,"\020\016%u:%02u",TotalDivetime.Minutes, TotalDivetime.Seconds); | 606 snprintf(text,TEXTSIZE,"\020\016%u:%02u",TotalDivetime.Minutes, TotalDivetime.Seconds); |
| 557 t3_basics_colorscheme_mod(text); | 607 t3_basics_colorscheme_mod(text); |
| 558 GFX_write_string(&FontT105,tXc1,text,0); | 608 GFX_write_string(&FontT105,tXc1,text,0); |
| 559 | 609 |
| 560 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaTotal); | 610 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaTotal); |
| 611 if(pSettings->FlipDisplay) | |
| 612 { | |
| 613 tXc1->WindowX0 = 0; | |
| 614 | |
| 615 } | |
| 561 GFX_write_string(&FontT42,tXc1,text,0); | 616 GFX_write_string(&FontT42,tXc1,text,0); |
| 562 break; | 617 break; |
| 563 } | 618 } |
| 564 | 619 |
| 565 tXc1->WindowX0 = tempWinX0; | 620 tXc1->WindowX0 = tempWinX0; |
| 621 tXc1->WindowX1 = tempWinX1; | |
| 566 tXc1->WindowY0 = tempWinY0; | 622 tXc1->WindowY0 = tempWinY0; |
| 567 | 623 |
| 568 } | 624 } |
| 569 | 625 |
| 570 | 626 |
| 607 uint16_t tempWinX0; | 663 uint16_t tempWinX0; |
| 608 uint16_t tempWinX1; | 664 uint16_t tempWinX1; |
| 609 uint16_t tempWinY0; | 665 uint16_t tempWinY0; |
| 610 uint16_t tempWinY1; | 666 uint16_t tempWinY1; |
| 611 uint16_t tempWinC2X0; | 667 uint16_t tempWinC2X0; |
| 668 uint16_t tempWinC2Y0; | |
| 669 uint16_t tempWinC2X1; | |
| 670 uint16_t tempWinC2Y1; | |
| 612 uint16_t tempWinC2Tab; | 671 uint16_t tempWinC2Tab; |
| 613 | 672 |
| 614 tempWinX0 = tXc1->WindowX0; | 673 tempWinX0 = tXc1->WindowX0; |
| 615 tempWinY0 = tXc1->WindowY0; | 674 tempWinY0 = tXc1->WindowY0; |
| 675 | |
| 616 tempWinC2X0 = tXc2->WindowX0; | 676 tempWinC2X0 = tXc2->WindowX0; |
| 677 tempWinC2Y0 = tXc2->WindowY0; | |
| 678 tempWinC2X1 = tXc2->WindowX1; | |
| 679 tempWinC2Y1 = tXc2->WindowY1; | |
| 617 tempWinC2Tab = tXc2->WindowTab; | 680 tempWinC2Tab = tXc2->WindowTab; |
| 618 | 681 |
| 619 switch(tX_selection_customview) | 682 switch(tX_selection_customview) |
| 620 { | 683 { |
| 621 case CVIEW_T3_ApnoeSurfaceInfo: | 684 case CVIEW_T3_ApnoeSurfaceInfo: |
| 622 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth); | 685 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth); |
| 623 GFX_write_string(&FontT42,tXc1,text,0); | 686 |
| 624 | 687 if(!pSettings->FlipDisplay) |
| 625 tXc1->WindowY0 = 100; // obere Zeile | 688 { |
| 689 GFX_write_string(&FontT42,tXc1,text,0); | |
| 690 tXc1->WindowY0 = 100; | |
| 691 } | |
| 692 else | |
| 693 { | |
| 694 GFX_write_string(&FontT42,tXc2,text,0); | |
| 695 tXc2->WindowY1 -= 100; /* jump to upper of two lines */ | |
| 696 } | |
| 626 | 697 |
| 627 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_last_max_depth_meter)); | 698 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_last_max_depth_meter)); |
| 628 t3_basics_colorscheme_mod(text); | 699 t3_basics_colorscheme_mod(text); |
| 629 GFX_write_string(&FontT105,tXc1,text,0); | 700 |
| 630 | 701 if(!pSettings->FlipDisplay) |
| 631 tXc1->WindowY0 = tempWinY0; // wieder unten | 702 { |
| 703 GFX_write_string(&FontT105,tXc1,text,0); | |
| 704 tXc1->WindowY0 = tempWinY0; | |
| 705 } | |
| 706 else | |
| 707 { | |
| 708 GFX_write_string(&FontT105,tXc2,text,0); | |
| 709 tXc2->WindowY1 = tempWinC2Y1; /* jump to upper of two lines */ | |
| 710 } | |
| 711 | |
| 632 | 712 |
| 633 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_total_max_depth_meter)); | 713 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_total_max_depth_meter)); |
| 634 t3_basics_colorscheme_mod(text); | 714 t3_basics_colorscheme_mod(text); |
| 635 GFX_write_string(&FontT105,tXc1,text,0); | 715 if(!pSettings->FlipDisplay) |
| 716 { | |
| 717 GFX_write_string(&FontT105,tXc1,text,0); | |
| 718 } | |
| 719 else | |
| 720 { | |
| 721 GFX_write_string(&FontT105,tXc2,text,0); | |
| 722 } | |
| 636 break; | 723 break; |
| 637 | 724 |
| 638 case CVIEW_T3_StopWatch: | 725 case CVIEW_T3_StopWatch: |
| 639 | 726 |
| 640 tempWinX0 = tXc1->WindowX0; | 727 tempWinX0 = tXc1->WindowX0; |
| 693 GFX_write_string(&FontT42,tXc1,text,0); | 780 GFX_write_string(&FontT42,tXc1,text,0); |
| 694 | 781 |
| 695 textpointer = 0; | 782 textpointer = 0; |
| 696 tempWinC2X0 = tXc2->WindowX0; | 783 tempWinC2X0 = tXc2->WindowX0; |
| 697 tempWinC2Tab = tXc2->WindowTab; | 784 tempWinC2Tab = tXc2->WindowTab; |
| 698 | |
| 699 tXc2->WindowX0 = 0; | 785 tXc2->WindowX0 = 0; |
| 700 tXc2->WindowTab = 800/2; | 786 tXc2->WindowTab = 800/2; |
| 787 | |
| 788 if(pSettings->FlipDisplay) | |
| 789 { | |
| 790 tXc2->WindowY1 = 0; | |
| 791 } | |
| 701 | 792 |
| 702 pGasLine = settingsGetPointer()->gas; | 793 pGasLine = settingsGetPointer()->gas; |
| 703 if(actualLeftMaxDepth(stateUsed)) | 794 if(actualLeftMaxDepth(stateUsed)) |
| 704 fPpO2limitHigh = (float)(settingsGetPointer()->ppO2_max_deco) / 100; | 795 fPpO2limitHigh = (float)(settingsGetPointer()->ppO2_max_deco) / 100; |
| 705 else | 796 else |
| 837 } | 928 } |
| 838 break; | 929 break; |
| 839 | 930 |
| 840 case CVIEW_T3_MaxDepth: | 931 case CVIEW_T3_MaxDepth: |
| 841 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth); | 932 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth); |
| 842 GFX_write_string(&FontT42,tXc1,text,0); | 933 if(pSettings->FlipDisplay) |
| 934 { | |
| 935 if(mode == DIVEMODE_Apnea) | |
| 936 { | |
| 937 GFX_write_string(&FontT42,tXc2,text,0); | |
| 938 } | |
| 939 else | |
| 940 { | |
| 941 GFX_write_string(&FontT42,tXc1,text,0); | |
| 942 } | |
| 943 } | |
| 944 else | |
| 945 { | |
| 946 GFX_write_string(&FontT42,tXc1,text,0); | |
| 947 } | |
| 843 snprintf(text,TEXTSIZE,"\020\003\016%01.1f",unit_depth_float(stateUsed->lifeData.max_depth_meter)); | 948 snprintf(text,TEXTSIZE,"\020\003\016%01.1f",unit_depth_float(stateUsed->lifeData.max_depth_meter)); |
| 844 t3_basics_colorscheme_mod(text); | 949 t3_basics_colorscheme_mod(text); |
| 845 GFX_write_string(&FontT105,tXc1,text,1); | 950 if(pSettings->FlipDisplay) |
| 951 { | |
| 952 if(mode == DIVEMODE_Apnea) | |
| 953 { | |
| 954 GFX_write_string(&FontT105,tXc2,text,0); | |
| 955 } | |
| 956 else | |
| 957 { | |
| 958 GFX_write_string(&FontT105,tXc1,text,0); | |
| 959 } | |
| 960 } | |
| 961 else | |
| 962 { | |
| 963 GFX_write_string(&FontT105,tXc1,text,1); | |
| 964 } | |
| 846 break; | 965 break; |
| 847 | 966 |
| 848 case CVIEW_T3_TTS: | 967 case CVIEW_T3_TTS: |
| 849 snprintf(text,TEXTSIZE,"\032\f%c",TXT_TTS); | 968 snprintf(text,TEXTSIZE,"\032\f%c",TXT_TTS); |
| 850 GFX_write_string(&FontT42,tXc1,text,0); | 969 GFX_write_string(&FontT42,tXc1,text,0); |
| 879 GFX_write_string(&FontT48,tXc1,text,1); | 998 GFX_write_string(&FontT48,tXc1,text,1); |
| 880 break; | 999 break; |
| 881 } | 1000 } |
| 882 tXc1->WindowX0 = tempWinX0; | 1001 tXc1->WindowX0 = tempWinX0; |
| 883 tXc1->WindowY0 = tempWinY0; | 1002 tXc1->WindowY0 = tempWinY0; |
| 1003 | |
| 884 tXc2->WindowX0 = tempWinC2X0; | 1004 tXc2->WindowX0 = tempWinC2X0; |
| 1005 tXc2->WindowY0 = tempWinC2Y0; | |
| 1006 tXc2->WindowX1 = tempWinC2X1; | |
| 1007 tXc2->WindowY1 = tempWinC2Y1; | |
| 885 tXc2->WindowTab = tempWinC2Tab; | 1008 tXc2->WindowTab = tempWinC2Tab; |
| 886 } | 1009 } |
| 887 | 1010 |
| 888 | 1011 |
| 889 uint8_t t3_test_customview_warnings(void) | 1012 uint8_t t3_test_customview_warnings(void) |
