comparison Discovery/Src/t7.c @ 369:210bffc496a3 MotionDetection

Added a function to count the active custom views.
author ideenmodellierer
date Tue, 13 Aug 2019 21:12:17 +0200
parents e309f78f89a5
children 75eedde05ff6
comparison
equal deleted inserted replaced
368:50ea68c7a153 369:210bffc496a3
36 #include "math.h" 36 #include "math.h"
37 #include "tHome.h" 37 #include "tHome.h"
38 #include "simulation.h" 38 #include "simulation.h"
39 #include "timer.h" 39 #include "timer.h"
40 #include "unit.h" 40 #include "unit.h"
41 #include "motion.h"
41 42
42 /* Private function prototypes -----------------------------------------------*/ 43 /* Private function prototypes -----------------------------------------------*/
43 44
44 void t7_refresh_surface(void); 45 void t7_refresh_surface(void);
45 void t7_refresh_surface_debugmode(void); 46 void t7_refresh_surface_debugmode(void);
565 /* custom view primary OR debug if automatic return is off */ 566 /* custom view primary OR debug if automatic return is off */
566 if((settingsGetPointer()->tX_customViewTimeout == 0) && (settingsGetPointer()->showDebugInfo)) 567 if((settingsGetPointer()->tX_customViewTimeout == 0) && (settingsGetPointer()->showDebugInfo))
567 selection_customview = CVIEW_noneOrDebug; 568 selection_customview = CVIEW_noneOrDebug;
568 else 569 else
569 selection_customview = settingsGetPointer()->tX_customViewPrimary; 570 selection_customview = settingsGetPointer()->tX_customViewPrimary;
571
572 InitMotionDetection();
570 } 573 }
571 574
572 if(status.page == PageSurface) 575 if(status.page == PageSurface)
573 set_globalState(StD); 576 set_globalState(StD);
574 577
595 { 598 {
596 if(last_mode != MODE_SURFACE) 599 if(last_mode != MODE_SURFACE)
597 { 600 {
598 last_mode = MODE_SURFACE; 601 last_mode = MODE_SURFACE;
599 selection_customview = customviewsSurface[0]; 602 selection_customview = customviewsSurface[0];
603 InitMotionDetection();
600 } 604 }
601 if(status.page == PageDive) 605 if(status.page == PageDive)
602 set_globalState(StS); 606 set_globalState(StS);
603 607
604 if(settingsGetPointer()->showDebugInfo) 608 if(settingsGetPointer()->showDebugInfo)
1477 { 1481 {
1478 if(stateUsed->mode == MODE_DIVE) 1482 if(stateUsed->mode == MODE_DIVE)
1479 selection_customview = settingsGetPointer()->tX_customViewPrimary; 1483 selection_customview = settingsGetPointer()->tX_customViewPrimary;
1480 } 1484 }
1481 1485
1486 uint8_t t7_GetEnabled_customviews()
1487 {
1488 uint8_t *pViews;
1489 uint8_t increment = 1;
1490
1491 uint8_t enabledViewCnt = 0;
1492 uint32_t cv_config = settingsGetPointer()->cv_configuration;
1493
1494 if(stateUsed->mode == MODE_DIVE)
1495 pViews = customviewsDive;
1496 else
1497 pViews = customviewsSurface;
1498
1499 while((*pViews != CVIEW_END))
1500 {
1501 increment = 1;
1502 /* check if view is enabled */
1503 for(int i=0;i<6;i++)
1504 {
1505 if((*pViews == cv_changelist[i]) && !CHECK_BIT_THOME(cv_config, (1 << cv_changelist[i])))
1506 {
1507 increment = 0;
1508 break;
1509 }
1510 }
1511 if (((*pViews == CVIEW_sensors) || (*pViews == CVIEW_sensors_mV)) &&
1512 ((stateUsed->diveSettings.ppo2sensors_deactivated) || (stateUsed->diveSettings.ccrOption == 0)))
1513 {
1514 increment = 0;
1515 }
1516
1517 pViews++;
1518 enabledViewCnt += increment;
1519 }
1520 return enabledViewCnt;
1521 }
1522
1482 void t7_change_customview(uint8_t action) 1523 void t7_change_customview(uint8_t action)
1483 { 1524 {
1484 uint8_t *pViews; 1525 uint8_t *pViews;
1485 uint8_t *pStartView,*pCurView, *pLastView; 1526 uint8_t *pStartView,*pCurView, *pLastView;
1486 _Bool cv_disabled = 0; 1527 _Bool cv_disabled = 0;
1501 pViews++; 1542 pViews++;
1502 } 1543 }
1503 pLastView = pViews; 1544 pLastView = pViews;
1504 pViews = pCurView; 1545 pViews = pCurView;
1505 1546
1506 if((action == ACTION_BUTTON_ENTER) || (action == ACTION_SHAKE_POS)) 1547 if((action == ACTION_BUTTON_ENTER) || (action == ACTION_PITCH_POS))
1507 { 1548 {
1508 if(*pViews < CVIEW_END) 1549 if(*pViews < CVIEW_END)
1509 pViews++; 1550 pViews++;
1510 1551
1511 if(*pViews == CVIEW_END) 1552 if(*pViews == CVIEW_END)
1543 cv_disabled = 1; 1584 cv_disabled = 1;
1544 } 1585 }
1545 1586
1546 if(cv_disabled) /* view is disabled => jump to next view */ 1587 if(cv_disabled) /* view is disabled => jump to next view */
1547 { 1588 {
1548 if((action == ACTION_BUTTON_ENTER) || (action == ACTION_SHAKE_POS)) 1589 if((action == ACTION_BUTTON_ENTER) || (action == ACTION_PITCH_POS))
1549 { 1590 {
1550 pViews++; 1591 pViews++;
1551 if(*pViews == CVIEW_END) 1592 if(*pViews == CVIEW_END)
1552 { 1593 {
1553 pViews = pStartView; 1594 pViews = pStartView;