summaryrefslogtreecommitdiffstats
path: root/apps/plugins/calculator.c
AgeCommit message (Collapse)AuthorFilesLines
2023-09-22calculator: Fix compile issue in mingw32Solomon Peachy1-0/+4
Change-Id: I7d70b4f0d6fd574575298b0709e78b9096801c07
2021-08-04Document intentional fallthroughs + fix harmless unintended onesAidan MacDonald1-0/+2
Change-Id: I1ca5b1027ec30cbf61093bab35b980196ed14e6b
2021-07-13New port: Shanling Q1 nativeAidan MacDonald1-0/+3
- Audio playback works - Touchscreen and buttons work - Bootloader works and is capable of dual boot - Plugins are working - Cabbiev2 theme has been ported - Stable for general usage Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps. There's a few minor known issues: - Bootloader must be installed manually using 'usbboot' as there is no support in jztool yet. - Keymaps may be lacking, need further testing and feedback. - Some plugins may not be fully adapted to the screen size and could benefit from further tweaking. - LCD shows abnormal effects under some circumstances: for example, after viewing a mostly black screen an afterimage appears briefly when going back to a brightly-lit screen. Sudden power-off without proper shutdown of the backlight causes a "dissolving" effect. - CW2015 battery reporting driver is buggy, and disabled for now. Battery reporting is currently voltage-based using the AXP192. Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
2021-06-16Fix yellow from 9ccae042Aidan MacDonald1-3/+2
Change-Id: Iad4eaab8b766d1d0aad051971fd49a64126ca4be
2021-06-16Implement x^y in calculatorMoshe Piekarski1-3/+173
Change-Id: I868b703131675876bd91198b8a53a921152aecba
2021-04-26Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAXSolomon Peachy1-13/+0
They were never finished, never saw any release ever, and haven't compiled for the better part of a decade. Given their HW capabilities [1], they are not worth trying to fix. [1] 1-2MB RAM, ~256MB onboard flash, no expandability Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
2021-03-28New port: FiiO M3K on bare metalAidan MacDonald1-0/+10
Change-Id: I7517e7d5459e129dcfc9465c6fbd708619888fbe
2021-02-27Rename symbols of FiiO M3K Linux-based portAidan MacDonald1-1/+1
Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX. Change-Id: Id07c84f8150991d1b6851540c2c3f8f67e3f12c2
2020-10-11New port: AIGO EROS Q / EROS KSolomon Peachy1-34/+11
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
2020-10-09New port: FiiO M3KSolomon Peachy1-0/+11
Most credit goes to: Roman Skylarov Additional integration and refactoring by myself. *** COMPLETELY UNTESTED *** Change-Id: Ia64c36d92e0214c6b15f7a868df286f8113ea27b
2020-07-24[1/4] Remove SH support and all archos targetsSolomon Peachy1-23/+2
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-04-13av300: Continue cleaning out keymaps.Solomon Peachy1-11/+0
(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 Bukat1-0/+22
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 Peachy1-0/+22
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 Peachy1-0/+11
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 Bukat1-0/+10
Patch provided by Aapo Tahkola. Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
2018-04-03Zen XFi2: Enable PluginsSebastian Leonhardt1-0/+4
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2016-01-25Replace SAMSUNG_YH920_PAD with YH92XSebastian Leonhardt1-1/+1
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 Leonhardt1-4/+15
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 Rothen1-0/+3
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 Pouly1-0/+10
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 Stec1-0/+10
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 Leonhardt1-1/+2
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 Jilke1-0/+11
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>
2013-07-18[Fuze+][Keymaps] Application and viewer keymaps updateJean-Louis Biasini1-2/+2
Last core update for keymaps and manual. Manual is now 100% complete Change-Id: I9ad33206ecea41a88cba7a355da911fa7ab0455d Reviewed-on: http://gerrit.rockbox.org/521 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-10-19Implements exponential and logarithm in calculator pluginOphir LOJKINE1-1/+74
exponential implementation uses the series e^x = 1 + x + x^2/2 + x^3/6 + ... natural logarithm uses ln(a) = 2 * ( (a-1)/(a+1) + 1/3 * ((a-1)/(a+1))^3 +... ) log10 uses log10(a) = ln(a)/ln(10) Change-Id: I7303404b2b5a2bf60aad0706ca964a7cea19a27c Reviewed-on: http://gerrit.rockbox.org/333 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2012-04-19hm801: Add support for plugins.Andrew Ryabinin1-0/+11
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19hm60x: Add support for plugins.Andrew Ryabinin1-0/+11
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-02-02MPIOs: keymap tweaksMarcin Bukat1-1/+2
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2011-12-24Initial commit of the Samsung YP-R0 port.Thomas Martitz1-0/+11
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ń1-0/+13
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 Sikken1-45/+46
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30758 a1c6a512-1295-4272-9138-f99709370657
2011-10-02fuze+: fix calculator keymapAmaury Pouly1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30661 a1c6a512-1295-4272-9138-f99709370657
2011-10-02fuze+: add calculator keymapAmaury Pouly1-0/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30660 a1c6a512-1295-4272-9138-f99709370657
2010-11-30HD300 - plugins keymapsMarcin Bukat1-0/+10
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 Bukat1-3/+3
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 Menes1-0/+11
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é1-3/+1
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 Martitz1-1/+1
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 Martitz1-1/+1
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 Martitz1-1/+1
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-05-14Move math.h to firmware/libc/include/ and fix slight incompatibilities ↵Thomas Martitz1-0/+3
between our and the host's math.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26020 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-0/+3
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-04-26Add MPIO HD200 port - changed filesMarcin Bukat1-0/+7
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 Dziok1-0/+11
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 Shalev1-1/+1
to target naming conventions in general git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-02Start committing plugin keymaps for the Philips GoGear SA9200.Robert Menes1-0/+11
I still have more plugins to finish, but this is an initial start and I can at least get them under version control in case I need to revise any. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23813 a1c6a512-1295-4272-9138-f99709370657
2009-10-09calculator: use home as clear button for sansa fuzeRafaël Carré1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23027 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 * Fix plugin keymaps for VX777Maurus Cuelenaere1-0/+3
* 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 Giacomelli1-0/+11
with improvements and bitmap graphics by me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657