fixed menu
Stefan Schuermans

Stefan Schuermans commited on 2012-04-05 21:59:29
Showing 1 changed files, with 4 additions and 5 deletions.

... ...
@@ -7,7 +7,7 @@
7 7
 #include "switches.h"
8 8
 
9 9
 /// last value of rotary knob
10
-static unsigned int menu_cur_rot_val = 0;
10
+static int menu_cur_rot_cnt = 0;
11 11
 
12 12
 /// current screen
13 13
 static int menu_cur_screen = 0;
... ...
@@ -152,10 +152,9 @@ void menu_init(void)
152 152
 void menu_task(void)
153 153
 {
154 154
   // get new screen to show
155
-  unsigned int new_rot_cnt = switches_get_rot_cnt();
156
-  unsigned int new_rot_val = (new_rot_cnt + 2) / 4; // 1 click is 4 steps
157
-  int delta = new_rot_val - menu_cur_rot_val;
158
-  menu_cur_rot_val = new_rot_val;
155
+  int new_rot_cnt = switches_get_rot_cnt();
156
+  int delta = (new_rot_cnt - menu_cur_rot_cnt) / 4; // 1 click is 4 steps
157
+  menu_cur_rot_cnt += delta * 4;
159 158
   int new_screen = menu_cur_screen + delta;
160 159
   if (new_screen < 0)
161 160
     new_screen = count(menu_screens) - (-new_screen % count(menu_screens));
162 161