summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/grayscale.c6
-rw-r--r--apps/plugins/lib/gray_core.c25
-rw-r--r--apps/plugins/mandelbrot.c6
3 files changed, 17 insertions, 20 deletions
diff --git a/apps/plugins/grayscale.c b/apps/plugins/grayscale.c
index cdb3f880e5..192dcc1738 100644
--- a/apps/plugins/grayscale.c
+++ b/apps/plugins/grayscale.c
@@ -164,6 +164,9 @@ int main(void)
164 rb->lcd_puts(0, 0, pbuf); 164 rb->lcd_puts(0, 0, pbuf);
165 rb->lcd_update(); 165 rb->lcd_update();
166 166
167#if !defined(SIMULATOR) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
168 rb->cpu_boost(true);
169#endif
167 gray_show(true); /* switch on greyscale overlay */ 170 gray_show(true); /* switch on greyscale overlay */
168 171
169 time = *rb->current_tick; /* start time measurement */ 172 time = *rb->current_tick; /* start time measurement */
@@ -223,6 +226,9 @@ int main(void)
223 time / 100, time % 100); 226 time / 100, time % 100);
224 rb->lcd_puts(0, 0, pbuf); 227 rb->lcd_puts(0, 0, pbuf);
225 gray_deferred_lcd_update(); /* schedule an lcd_update() */ 228 gray_deferred_lcd_update(); /* schedule an lcd_update() */
229#if !defined(SIMULATOR) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
230 rb->cpu_boost(false);
231#endif
226 232
227 /* drawing is now finished, play around with scrolling 233 /* drawing is now finished, play around with scrolling
228 * until you press OFF or connect USB 234 * until you press OFF or connect USB
diff --git a/apps/plugins/lib/gray_core.c b/apps/plugins/lib/gray_core.c
index 02477b5b82..7fcd3dac80 100644
--- a/apps/plugins/lib/gray_core.c
+++ b/apps/plugins/lib/gray_core.c
@@ -226,38 +226,23 @@ void gray_release(void)
226 lcd_set_invert_display(), lcd_set_flip(), lcd_roll() */ 226 lcd_set_invert_display(), lcd_set_flip(), lcd_roll() */
227void gray_show(bool enable) 227void gray_show(bool enable)
228{ 228{
229#if (CONFIG_CPU == SH7034) && (CONFIG_LCD == LCD_SSD1815)
230 if (enable)
231 {
232 _gray_info.flags |= _GRAY_RUNNING;
233 _gray_rb->timer_register(1, NULL, FREQ / 67, 1, _timer_isr);
234 _gray_rb->screen_dump_set_hook(gray_screendump_hook);
235 }
236 else
237 {
238 _gray_rb->timer_unregister();
239 _gray_info.flags &= ~_GRAY_RUNNING;
240 _gray_rb->screen_dump_set_hook(NULL);
241 _gray_rb->lcd_update(); /* restore whatever there was before */
242 }
243#elif defined(CPU_COLDFIRE) && (CONFIG_LCD == LCD_S1D15E06)
244 if (enable && !(_gray_info.flags & _GRAY_RUNNING)) 229 if (enable && !(_gray_info.flags & _GRAY_RUNNING))
245 { 230 {
246 _gray_info.flags |= _GRAY_RUNNING; 231 _gray_info.flags |= _GRAY_RUNNING;
247 _gray_rb->cpu_boost(true); /* run at 120 MHz to avoid freq changes */ 232#if CONFIG_LCD == LCD_SSD1815
248 _gray_rb->timer_register(1, NULL, *_gray_rb->cpu_frequency / 70, 1, 233 _gray_rb->timer_register(1, NULL, CPU_FREQ / 67, 1, _timer_isr);
249 _timer_isr); 234#elif CONFIG_LCD == LCD_S1D15E06
235 _gray_rb->timer_register(1, NULL, CPU_FREQ / 70, 1, _timer_isr);
236#endif
250 _gray_rb->screen_dump_set_hook(gray_screendump_hook); 237 _gray_rb->screen_dump_set_hook(gray_screendump_hook);
251 } 238 }
252 else if (!enable && (_gray_info.flags & _GRAY_RUNNING)) 239 else if (!enable && (_gray_info.flags & _GRAY_RUNNING))
253 { 240 {
254 _gray_rb->timer_unregister(); 241 _gray_rb->timer_unregister();
255 _gray_rb->cpu_boost(false);
256 _gray_info.flags &= ~_GRAY_RUNNING; 242 _gray_info.flags &= ~_GRAY_RUNNING;
257 _gray_rb->screen_dump_set_hook(NULL); 243 _gray_rb->screen_dump_set_hook(NULL);
258 _gray_rb->lcd_update(); /* restore whatever there was before */ 244 _gray_rb->lcd_update(); /* restore whatever there was before */
259 } 245 }
260#endif
261} 246}
262 247
263/* Update a rectangular area of the greyscale overlay */ 248/* Update a rectangular area of the greyscale overlay */
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 88f48d3f2b..8830d7ab33 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -370,6 +370,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
370 /* main loop */ 370 /* main loop */
371 while (true) { 371 while (true) {
372 if (redraw > REDRAW_NONE) { 372 if (redraw > REDRAW_NONE) {
373#if !defined(SIMULATOR) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
374 rb->cpu_boost(true);
375#endif
373 if (redraw == REDRAW_FULL) 376 if (redraw == REDRAW_FULL)
374 gray_ub_clear_display(); 377 gray_ub_clear_display();
375 378
@@ -378,6 +381,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
378 else 381 else
379 calc_mandelbrot_32(); 382 calc_mandelbrot_32();
380 383
384#if !defined(SIMULATOR) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
385 rb->cpu_boost(false);
386#endif
381 px_min = 0; 387 px_min = 0;
382 px_max = LCD_WIDTH; 388 px_max = LCD_WIDTH;
383 py_min = 0; 389 py_min = 0;