summaryrefslogtreecommitdiff
path: root/apps/plugins/oscilloscope.c
AgeCommit message (Collapse)Author
2020-04-13av300: Continue cleaning out keymaps.Solomon Peachy
(A lot of work was done on this thing, for a target that hasn't been compileable at least since we moved to git..) Change-Id: Ibface9392f3251b5be4bf1e0c4d12639c4f1662d
2020-04-06xDuoo X3II and X20 portMarcin Bukat
Provided by Roman Stolyarov Integration, Refactoring, and Upstreaming by Solomon Peachy X3II confirmed working by forum tester, X20 is nearly identical. This includes bootloader, main firmware, and the flash image patcher. Eventual Todo: * Further refactor AGPTek Rocker & xduoo hiby bootloaders * Further refactor AGPTek Rocker & xduoo hosted platform code Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2019-01-02Add Xuelin iHIFI 770/770C/800 supportSolomon Peachy
Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978
2018-07-28Add cleaned-up xDuoo X3 supportSolomon Peachy
Cleaned up, rebased, and forward-ported from the xvortex fork. (original credit to vsoftster@gmail.com) Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-06-12Agptek Rocker: Build pluginsMarcin Bukat
Patch provided by Aapo Tahkola. Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
2018-04-03Oscilloscope plugin: bundle #define NEED_LASTBUTTON to a single placeSebastian Leonhardt
This fixes a warning that was introduced with enabling plugins for the Zen XFi-2. Change-Id: I8fe9a4be301f2c4643d04ae42d2189e62c191592
2018-04-03Zen XFi2: Enable PluginsSebastian Leonhardt
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2016-01-25Replace SAMSUNG_YH920_PAD with YH92XSebastian Leonhardt
seems more logical to me, and is more consistent, since "SAMSUNG_YH92X_PAD" is already used in the tex files. Change-Id: Ie9a9d850ea86155a7dcf86c88a22a420a10a3837
2015-11-15YH8xx,YH9xx: Keymap improvementSebastian Leonhardt
The main "innovation" in this patch are two "virtual buttons" for the record switch on YH92x targets. When the switch state changes, a single BUTTON_REC_SW_ON or .._OFF button event will be generated. Thus keymap code can react on switching, but not on the actual state of the switch. Wherever sensible, the following user scheme is applied: - use PLAY as confirm button - use REW button or Long REW to exit - use REC (YH820) or FFWD (YH92X) as modifier key for button combos Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
2014-09-18Introducing Targets iBasso DX50 & iBasso DX90Simon Rothen
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port. The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port. Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did was to separate the code for DX50 (&DX90) from the android target. On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it. What else I changed from Ilias sources besides the separation from the target "android": * removed a dirty hack to keep backlight off * changed value battery meter to voltage battery meter * made all plugins compile (named target as "standalone") and added keymaps * i added the graphics for the manual but did not do anything else for the manual yet * minor optimizations known bugs: * timers are slowed donw when playback is active (tinyalsa related?) * some minor bugs Things to do: * The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights. Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go. * All the wiki and manual to build: needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed ./tools/configure select iBasso DX50 or iBasso DX90 make -j apk the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed) the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed) The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary. Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his bitbucket page, using the CWM-OF and his installation script package. Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0 Reviewed-on: http://gerrit.rockbox.org/941 Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw> Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-07-17zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable pluginsAmaury Pouly
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size. Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-06-30Introduce plugin keymaps for the Sony NWZ SeriesNils Stec
Change-Id: I46b8766bd44118bce4931b7ee71815ae5f51cb2e Reviewed-on: http://gerrit.rockbox.org/879 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-05-24Separate keymaps for YH-820 and YH-920/925Sebastian Leonhardt
Although both players basically have the same keys, the differences in the layout is rather big, so I think both deserve their own keymaps. (On the yh820 the FFWD/PLAY/REW buttons are located above the direction keys, on the yh920 at the side of the player. Furthermore the yh920/925 has a REC switch, whereas yh820 has a push button.) Change-Id: I0e62a1b101c387646c0bdb07ea142d9d2430ca15 Reviewed-on: http://gerrit.rockbox.org/814 Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
2014-04-06Complete Plugin Keymaps for Creative Zen X-Fi3David Jilke
This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation. One key was changed in "button-target.h" for compatibility with Rockboy. This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here). Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7 Reviewed-on: http://gerrit.rockbox.org/762 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-03-06Oscilloscope: Fix loading of the speed setting for waveform viewMichael Sevakis
Somehow, a long long time ago, I put MAX*/MAX* in the config data range fields instead of MIN*/MAX* which forced the settings loader to acknowledge only 100 as a valid setting other than the default. Change-Id: Ifbfcafad27e239942449848d6a09426173bbde54
2013-07-06Enable setting of global output samplerate on certain targets.Michael Sevakis
Replaces the NATIVE_FREQUENCY constant with a configurable frequency. The user may select 48000Hz if the hardware supports it. The default is still 44100Hz and the minimum is 44100Hz. The setting is located in the playback settings, under "Frequency". "Frequency" was duplicated in english.lang for now to avoid having to fix every .lang file for the moment and throwing everything out of sync because of the new play_frequency feature in features.txt. The next cleanup should combine it with the one included for recording and generalize the ID label. If the hardware doesn't support 48000Hz, no setting will be available. On particular hardware where very high rates are practical and desireable, the upper bound can be extended by patching. The PCM mixer can be configured to play at the full hardware frequency range. The DSP core can configure to the hardware minimum up to the maximum playback setting (some buffers must be reserved according to the maximum rate). If only 44100Hz is supported or possible on a given target for playback, using the DSP and mixer at other samperates is possible if the hardware offers them. Change-Id: I6023cf0c0baa8bc6292b6919b4dd3618a6a25622 Reviewed-on: http://gerrit.rockbox.org/479 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-04-26Make fixepoint.c as a shared library (libfixedpoint.a).Michael Sevakis
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d Reviewed-on: http://gerrit.rockbox.org/456 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-02-14[Fuze+] redo osciloscope keymaps update that was canceled latelyJean-Louis Biasini
thanks to pixelma for pointing this out Change-Id: Ie50fc44acb51d9e0364f960c421996b0b8f297d9 Reviewed-on: http://gerrit.rockbox.org/403 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-12-18Adapt OSD in plugin lib to be greylib compatible.Michael Sevakis
Requires addition of viewports and alternate framebuffers to greylib which are essentially similar to the core implementation except that the framebuffer can be any size and relationship to a viewport. Drawing is always fully clipped to the intersecting area. Adapt oscilloscope.c to the API change. FFT will use the new features (later update). Get rid of silly and wrong lcd_bmp_part use in OSD. Remove it from plugin API (must be made incompatible now). Change-Id: Iafa5e2174148fb8ad11db6b9d4add0dcabc5c563
2012-12-04Revert a couple keymaps from 0f8aedb.Michael Sevakis
M200v4 doesn't have enough plugin RAM for waveform view. HD300 I was clueless about, created a duplicated case. Will just leave for now. Targets still need GRAPHMODE key defined to access. Change-Id: Ib21f46f25c1121ebee78bd26c856446ac7720b37
2012-12-05Add a true waveform display to the oscilloscope plugin.Michael Sevakis
* Adds some additional niftyness like a floating popup display that is implemented in an OSD library for use by other plugins. * Speed changes are now gradual for both views and follow a curve derived from some fiddling around to get a nice feel. * Refined a few behavioral things overall. It needs a bit of help from a direct PCM channel callback so it may capture PCM for waveform display. Also need a few other core routines to help out for the OSD. Messes with some keymaps. Some targets need keymaps to access the different views. Some devices can't support the additional view because it requires a large buffer ( > 1 s) for samples. If the plugin buffer is small, they can still use the popup display since the plugin is also much smaller in that case. Slow speed waveform needs some refining so it draws gradually like a real oscilloscope but I'll stick with what it is, for the moment. Change-Id: Ieb5b7922a2238264e9b19a58cb437739194eb036 Reviewed-on: http://gerrit.rockbox.org/245 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-11-21Fuze+ demo plugin's keymaps upgradeJean-Louis Biasini
1) keymaps reviewed 2) manual updated/created accordingly Change-Id: I38dd178466a390e9badeda4f44ac275041b313f1 Reviewed-on: http://gerrit.rockbox.org/132 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-05-02Clean up peak calculating code.Michael Sevakis
Mixer needn't keep peak data around that will never be used. Just pass pcm_peaks structure to it instead of allocating for every channel. Plugin API becomes incompatible. vu_meter digital mode was still using global peak calculation; switch it to playback channel like the rest. Remove some accumulated soil peaks inside pcm.c and make it more generic. Change-Id: Ib4d268d80b6a9d09915eea1c91eab483c1a2c009
2012-04-19hm801: Add support for plugins.Andrew Ryabinin
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19hm60x: Add support for plugins.Andrew Ryabinin
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-02-02MPIOs: keymap tweaksMarcin Bukat
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2011-12-24Initial commit of the Samsung YP-R0 port.Thomas Martitz
This port is a hybrid native/RaaA port. It runs on a embedded linux system, but is the only application. It therefore can implement lots of stuff that native targets also implement, while leveraging the underlying linux kernel. The port is quite advanced. User interface, audio playback, plugins work mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page). Included in utils/ypr0tools are scripts and programs required to generate a patched firmware. The patched firmware has the rootfs modified to load Rockbox. It includes a early/safe USB mode. This port needs a new toolchain, one that includes glibc headers and libraries. rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may also work. Most of the initial effort is done by Lorenzo Miori and others (on ABI), including reverse engineering and patching of the original firmware, initial drivers, and more. Big thanks to you. Flyspray: FS#12348 Author: Lorenzo Miori, myself Merry christmas to ypr0 owners! :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-11-16Sandisk Sansa Connect port (FS #12363)Tomasz Moń
Included are drivers for buttons, backlight, lcd, audio and storage. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-10-15plugins: another round of making local functions staticBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30758 a1c6a512-1295-4272-9138-f99709370657
2011-10-02fuze+: add oscilloscope keymapAmaury Pouly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30665 a1c6a512-1295-4272-9138-f99709370657
2011-07-02Use playback channel directly for peakmeters and plugins using peak ↵Michael Sevakis
calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-05-01Fix nearly all residual 'variable set but not used' warnings reported from ↵Andree Buschmann
GCC 4.6.0. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29810 a1c6a512-1295-4272-9138-f99709370657
2011-01-24* Rename backlight_force_on to backlight_ignore_timeout to make it clear ↵Teruaki Kawashima
what the function does. * Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp. No functional change except lamp. See aslo FS#9883. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2010-11-30HD300 - plugins keymapsMarcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-02MPIO HD200: rename button defines to adhere how they are labeled on the device.Marcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28443 a1c6a512-1295-4272-9138-f99709370657
2010-11-02Begin committing keymap plugins for the Philips GoGear HDD6330.Robert Menes
Not all keymaps are completed, but I want to get some initial work I did under version control. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28442 a1c6a512-1295-4272-9138-f99709370657
2010-08-25Remove build conditions inside .c plugin filesRafaël Carré
Rather use the Makefile to specify which files must be built Fix color builds with test plugins enabled (test_scanrate gave an empty .o file) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27886 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Second try: Introduce plugin_crt0.c that every plugin links.Thomas Martitz
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-23Revert "Introduce plugin_crt0.c that every plugin links."Thomas Martitz
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-23Introduce plugin_crt0.c that every plugin links.Thomas Martitz
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-04-26Add MPIO HD200 port - changed filesMarcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-02-13Packard Bell Vibe 500: More plugin keymaps (second portion).Szymon Dziok
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24634 a1c6a512-1295-4272-9138-f99709370657
2009-12-15Cowon D2: Rename COWOND2_PAD -> COWON_D2_PAD to match macro used in manual, andTomer Shalev
to target naming conventions in general git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-05A few more GoGear SA9200 plugin keymaps.Robert Menes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23854 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 * Fix plugin keymaps for VX777Maurus Cuelenaere
* Enable plugins for VX777 * Fix VX777 simulator All done by Aaron DeMille. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22576 a1c6a512-1295-4272-9138-f99709370657
2009-08-04Commit FS#10251. Plugins for the YH-820, YH-920, and YH-925 by Jens Erdmann ↵Michael Giacomelli
with improvements and bitmap graphics by me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657
2009-04-21Add initial plugin keymaps for M:robe 500Karl Kurbjun
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20765 a1c6a512-1295-4272-9138-f99709370657
2009-04-10FS#10075 - FUZE: QUIT Plugin by selecting BUTTON_HOME by Johannes Schwarz. ↵Thomas Martitz
Updates the plugin keymap to use Long Home to exit plugins to be more inline with the core keymap. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20680 a1c6a512-1295-4272-9138-f99709370657
2009-04-07Enable plugins on the Onda VX747Maurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20647 a1c6a512-1295-4272-9138-f99709370657
2009-01-24Plugins for the Philips HDD1630. The keymaps are largely untested on the ↵Mark Arigo
device (patches welcome). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19846 a1c6a512-1295-4272-9138-f99709370657