summaryrefslogtreecommitdiff
path: root/apps/plugins/stopwatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/stopwatch.c')
-rw-r--r--apps/plugins/stopwatch.c71
1 files changed, 40 insertions, 31 deletions
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 370a1b51a6..6157dda038 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -31,6 +31,30 @@
31#define MAX_LAPS 10 31#define MAX_LAPS 10
32#define MAX_SCROLL (MAX_LAPS - LAP_LINES) 32#define MAX_SCROLL (MAX_LAPS - LAP_LINES)
33 33
34/* variable button definitions */
35#if CONFIG_KEYPAD == RECORDER_PAD
36#define STOPWATCH_QUIT BUTTON_OFF
37#define STOPWATCH_START_STOP BUTTON_PLAY
38#define STOPWATCH_RESET_TIMER BUTTON_LEFT
39#define STOPWATCH_LAP_TIMER BUTTON_ON
40#define STOPWATCH_SCROLL_UP BUTTON_UP
41#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
42#elif CONFIG_KEYPAD == ONDIO_PAD
43#define STOPWATCH_QUIT BUTTON_OFF
44#define STOPWATCH_START_STOP BUTTON_RIGHT
45#define STOPWATCH_RESET_TIMER BUTTON_LEFT
46#define STOPWATCH_LAP_TIMER BUTTON_MENU
47#define STOPWATCH_SCROLL_UP BUTTON_UP
48#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
49#elif CONFIG_KEYPAD == PLAYER_PAD
50#define STOPWATCH_QUIT BUTTON_MENU
51#define STOPWATCH_START_STOP BUTTON_PLAY
52#define STOPWATCH_RESET_TIMER BUTTON_STOP
53#define STOPWATCH_LAP_TIMER BUTTON_ON
54#define STOPWATCH_SCROLL_UP BUTTON_RIGHT
55#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
56#endif
57
34static struct plugin_api* rb; 58static struct plugin_api* rb;
35 59
36static int stopwatch = 0; 60static int stopwatch = 0;
@@ -102,17 +126,13 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
102 switch (button) 126 switch (button)
103 { 127 {
104 128
105 /* OFF/MENU key to exit */ 129 /* exit */
106#if CONFIG_KEYPAD == RECORDER_PAD 130 case STOPWATCH_QUIT:
107 case BUTTON_OFF:
108#else
109 case BUTTON_MENU:
110#endif
111 done = true; 131 done = true;
112 break; 132 break;
113 133
114 /* PLAY = Stop/Start toggle */ 134 /* Stop/Start toggle */
115 case BUTTON_PLAY: 135 case STOPWATCH_START_STOP:
116 counting = ! counting; 136 counting = ! counting;
117 if (counting) 137 if (counting)
118 { 138 {
@@ -126,12 +146,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
126 } 146 }
127 break; 147 break;
128 148
129 /* LEFT = Reset timer */ 149 /* Reset timer */
130#if CONFIG_KEYPAD == RECORDER_PAD 150 case STOPWATCH_RESET_TIMER:
131 case BUTTON_LEFT:
132#else
133 case BUTTON_STOP:
134#endif
135 if (!counting) 151 if (!counting)
136 { 152 {
137 prev_total = 0; 153 prev_total = 0;
@@ -140,19 +156,15 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
140 } 156 }
141 break; 157 break;
142 158
143 /* ON = Lap timer */ 159 /* Lap timer */
144 case BUTTON_ON: 160 case STOPWATCH_LAP_TIMER:
145 lap_times[curr_lap%MAX_LAPS] = stopwatch; 161 lap_times[curr_lap%MAX_LAPS] = stopwatch;
146 curr_lap++; 162 curr_lap++;
147 update_lap = true; 163 update_lap = true;
148 break; 164 break;
149 165
150 /* UP (RIGHT/+) = Scroll Lap timer up */ 166 /* Scroll Lap timer up */
151#if CONFIG_KEYPAD == RECORDER_PAD 167 case STOPWATCH_SCROLL_UP:
152 case BUTTON_UP:
153#else
154 case BUTTON_RIGHT:
155#endif
156 if (lap_scroll > 0) 168 if (lap_scroll > 0)
157 { 169 {
158 lap_scroll --; 170 lap_scroll --;
@@ -160,12 +172,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
160 } 172 }
161 break; 173 break;
162 174
163 /* DOWN (LEFT/-) = Scroll Lap timer down */ 175 /* Scroll Lap timer down */
164#if CONFIG_KEYPAD == RECORDER_PAD 176 case STOPWATCH_SCROLL_DOWN:
165 case BUTTON_DOWN:
166#else
167 case BUTTON_LEFT:
168#endif
169 if ((lap_scroll < curr_lap - LAP_LINES) && 177 if ((lap_scroll < curr_lap - LAP_LINES) &&
170 (lap_scroll < MAX_SCROLL) ) 178 (lap_scroll < MAX_SCROLL) )
171 { 179 {
@@ -174,9 +182,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
174 } 182 }
175 break; 183 break;
176 184
177 case SYS_USB_CONNECTED: 185 default:
178 rb->usb_screen(); 186 if (rb->default_event_handler(button) == SYS_USB_CONNECTED)
179 return PLUGIN_USB_CONNECTED; 187 return PLUGIN_USB_CONNECTED;
188 break;
180 } 189 }
181 190
182 if (counting) 191 if (counting)