Mercurial > public > ostc4
comparison Discovery/Src/t4_tetris.c @ 174:ecb71521d004 max-depth
Bugfix: make max depth move with current depth (part 2)
Step 2 of the fix as introduced in the previous commit. Now we have
a smart averaging depth import from the RTE, we do not need to average
close to display time. So, simply kick out this logic here.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author | Jan Mulder <jlmulder@xs4all.nl> |
---|---|
date | Mon, 11 Mar 2019 19:54:20 +0100 |
parents | 255eedad4155 |
children | db92692c014f |
comparison
equal
deleted
inserted
replaced
173:05c770dc2911 | 174:ecb71521d004 |
---|---|
43 GFX_DrawCfgScreen t4screen; | 43 GFX_DrawCfgScreen t4screen; |
44 GFX_DrawCfgWindow t4l1; | 44 GFX_DrawCfgWindow t4l1; |
45 GFX_DrawCfgWindow t4l2; | 45 GFX_DrawCfgWindow t4l2; |
46 GFX_DrawCfgWindow t4l3; | 46 GFX_DrawCfgWindow t4l3; |
47 | 47 |
48 extern float depthLastCall[9]; | |
49 extern uint8_t idDepthLastCall; | |
50 extern float temperatureLastCall[3]; | |
51 extern uint8_t idTemperatureLastCall; | |
52 | |
53 | |
54 /* Private types -------------------------------------------------------------*/ | 48 /* Private types -------------------------------------------------------------*/ |
55 #define TEXTSIZE 16 | 49 #define TEXTSIZE 16 |
56 | 50 |
57 const uint16_t t4SeperationLeftRight = 250; | 51 const uint16_t t4SeperationLeftRight = 250; |
58 const uint16_t t4SeperationTopMid = 315; | 52 const uint16_t t4SeperationTopMid = 315; |
59 const uint16_t t4SeperationMidBottom = 139; | 53 const uint16_t t4SeperationMidBottom = 139; |
60 | 54 |
61 /* Private function prototypes -----------------------------------------------*/ | 55 /* Private function prototypes -----------------------------------------------*/ |
62 void t4_refresh_divemode(void); | 56 void t4_refresh_divemode(void); |
63 void t4_refresh_customview(float depth); | |
64 | |
65 uint8_t t4_test_customview_warnings(void); | |
66 void t4_show_customview_warnings(void); | |
67 void t4_battery_low_customview_extra(void); | |
68 | 57 |
69 /* Exported functions --------------------------------------------------------*/ | 58 /* Exported functions --------------------------------------------------------*/ |
70 | 59 |
71 void t4_init(void) | 60 void t4_init(void) |
72 { | 61 { |
148 stop.x = start.x = t4SeperationLeftRight; | 137 stop.x = start.x = t4SeperationLeftRight; |
149 GFX_draw_line(&t4screen, start, stop, CLUT_Font020); | 138 GFX_draw_line(&t4screen, start, stop, CLUT_Font020); |
150 | 139 |
151 | 140 |
152 // depth | 141 // depth |
153 float depth = 0; | 142 float depth = unit_depth_float(stateUsed->lifeData.depth_meter); |
154 float depthThisCall = unit_depth_float(stateUsed->lifeData.depth_meter); | |
155 if(is_stateUsedSetToSim()) | |
156 { | |
157 depth = (depthThisCall + depthLastCall[0] + depthLastCall[1] + depthLastCall[2] + depthLastCall[3] + depthLastCall[4] + depthLastCall[5] + depthLastCall[6] + depthLastCall[7] + depthLastCall[8]) / 10.0f; | |
158 | |
159 idDepthLastCall++; | |
160 if(idDepthLastCall >= 9) | |
161 idDepthLastCall = 0; | |
162 depthLastCall[idDepthLastCall] = depthThisCall; | |
163 } | |
164 else | |
165 { | |
166 depth = (depthThisCall + depthLastCall[0] + depthLastCall[1] + depthLastCall[2]) / 4.0f; | |
167 | |
168 idDepthLastCall++; | |
169 if(idDepthLastCall >= 3) | |
170 idDepthLastCall = 0; | |
171 depthLastCall[idDepthLastCall] = depthThisCall; | |
172 } | |
173 | 143 |
174 if(depth <= 0.3f) | 144 if(depth <= 0.3f) |
175 depth = 0; | 145 depth = 0; |
176 | 146 |
177 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Depth); | 147 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Depth); |