Commit graph

24 commits

Author SHA1 Message Date
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Michael Sevakis
e63e84a5df Convert some more stuff to mylcd_ and support pgfx as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26543 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 13:22:50 +00:00
Michael Sevakis
bc26fe7a96 Add a wrapper header, mylcd.h, in the lib subdirectory, which lets plugins' code automatically call the proper functions depending if compilation is for greylib or color display, also forms proper call to grey_ and xlcd_. mylcd_ub_ call greylib unbuffered routines, regular lcd routines otherwise. Form is mylcd_<fnname>, <fnname> is the symbol name stripped of prefixes lcd_, grey_, or xlcd_. Convert a couple plugins I know well (easy job).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26542 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 08:43:32 +00:00
Michael Sevakis
e0af34cb5f More FFT fun: No point in computing and combining the 2nd FFT if it's just being made null. Use the regular complex FFT (called by fftr anyway) and save ram and computation for a given number of bins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26507 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 08:55:36 +00:00
Michael Sevakis
7e538995a5 FFT plugin: Some speed regulation for too-fast targets. (50FPS)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26503 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 04:21:27 +00:00
Michael Sevakis
e208b74915 FFT plugin: give everything in the main file a nice 'static'-ing. Saves approx. 1-3K size depending upon the target and so should speed it up a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26499 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 01:38:50 +00:00
Michael Sevakis
cc38700b7a FFT plugin: Use worker thread only on multiprocessor targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26498 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 00:59:05 +00:00
Michael Sevakis
ff2d224ae7 FFT Plugin: Should use scale_factor, not LCD_WIDTH/HEIGHT to break the spectrogram loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26471 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:59:37 +00:00
Michael Sevakis
30e2f42c82 FFT Plugin: Revamp the main code to rid it of 64-bit math. Use 32-bit kiss_fft_scalar because 16-bit integers are generally a poor choice for computation on-target. Simplify display code to speed it up. Add logarithmic frequency display (need keymappings, guessed on some). On dual-core, perform FFT on COP. Add some support function to fixedpoint.c. ... and stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26470 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:34:10 +00:00
Rafaël Carré
9b935b2888 fft: use long home button to exit on fuze
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26443 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 09:01:13 +00:00
Rafaël Carré
dcbd8d74c6 fft: always enable spectrogram, gray mode works with LCD_DEPTH == 1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26140 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:46:44 +00:00
Nils Wallménius
9fde12676b fft plugin: move const data into a c file and use no wider types than necessary, makes the plugin about 63kB smaller
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26100 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 11:58:22 +00:00
Delyan Kratunov
bc90a616c3 FFT plugin: The 64-bit sqrt function is no longer needed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25791 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:32:41 +00:00
Delyan Kratunov
af466f3cbf FFT plugin: eliminate 64-bit math. This should result in faster and probably more accurate calculations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25790 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:30:44 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Maurus Cuelenaere
0feeb6e8b7 FFT plugin: init mutex
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24973 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 14:58:37 +00:00
Dave Hooper
f7a30a4b08 kiss_fftr appears to perform two real-valued ffts in parallel -- so feed it only one signal of size N/2 (as opposed to splitting a single signal of size N into two interleaved parts which is what it seemed to be doing before)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24865 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 23:45:38 +00:00
Szymon Dziok
7074a64d8a Packard Bell Vibe 500: Finish plugin keymaps. Rockbox compiles clean now for the target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24658 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 21:56:53 +00:00
Tomer Shalev
248969fd46 fft: fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24613 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 00:07:00 +00:00
Tomer Shalev
f6526bdde2 fft: fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24612 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 23:27:44 +00:00
Tomer Shalev
726088f9e6 fft plugin: add touchscreen key-mapping and enable plugin for touchscreen targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24611 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 23:10:09 +00:00
Frank Gevaerts
43264a946f New plugin: FFT, A frequency analyzer plugin
There is some more work needed:
- Keymaps are definitely not perfect, touchscreen targets are disabled due to no keymap
- There is no manual yet

Author: Delyan Kratunov 
Flyspray: FS#10065



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24587 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 19:44:11 +00:00