<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/firmware/drivers/button.c, branch xracer</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>iBasso DX50/DX90: Major code cleanup and reorganization.</title>
<updated>2015-02-02T20:57:55+00:00</updated>
<author>
<name>Udo Schläpfer</name>
<email>rockbox-2014.10@desktopwarrior.net</email>
</author>
<published>2015-02-02T20:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=dbabd0d9c34a33bc0c51243ec37f230d117db955'/>
<id>dbabd0d9c34a33bc0c51243ec37f230d117db955</id>
<content type='text'>
Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone
  hosted targets. Most device specific code is in the
  firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed.
  32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory
  leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf,
  logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and
  fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
  (see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight
interface and new option for hold switch, touchscreen, physical button
interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see
http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit
gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50.
Compiled (not tested) for iBasso DX90.
Compiled (not tested) for PLATFORM_ANDROID.

Change-Id: I5f5e22e68f5b4cf29c28e2b40b2c265f2beb7ab7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone
  hosted targets. Most device specific code is in the
  firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed.
  32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory
  leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf,
  logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and
  fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
  (see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight
interface and new option for hold switch, touchscreen, physical button
interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see
http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit
gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50.
Compiled (not tested) for iBasso DX90.
Compiled (not tested) for PLATFORM_ANDROID.

Change-Id: I5f5e22e68f5b4cf29c28e2b40b2c265f2beb7ab7
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix (unintentional) linkage of HAVE_BUTTON_DATA with HAVE_TOUCHSCREEN</title>
<updated>2014-03-18T09:56:19+00:00</updated>
<author>
<name>Sebastian Leonhardt</name>
<email>sebastian.leonhardt@web.de</email>
</author>
<published>2014-03-14T15:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=1cf17436b77659aa59e205c1dcf62b4fe485e95e'/>
<id>1cf17436b77659aa59e205c1dcf62b4fe485e95e</id>
<content type='text'>
Defining HAVE_BUTTON_DATA without simultaneously defining HAVE_TOUCHSCREEN
caused compile errors. (I need them separated for a scrollstrip driver.)

Change-Id: I945d3437d840035ccc0c147f8155029b403c6ec2
Reviewed-on: http://gerrit.rockbox.org/771
Reviewed-by: Amaury Pouly &lt;amaury.pouly@gmail.com&gt;
Reviewed-by: Thomas Martitz &lt;kugel@rockbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Defining HAVE_BUTTON_DATA without simultaneously defining HAVE_TOUCHSCREEN
caused compile errors. (I need them separated for a scrollstrip driver.)

Change-Id: I945d3437d840035ccc0c147f8155029b403c6ec2
Reviewed-on: http://gerrit.rockbox.org/771
Reviewed-by: Amaury Pouly &lt;amaury.pouly@gmail.com&gt;
Reviewed-by: Thomas Martitz &lt;kugel@rockbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>touch devices: Disable touch on softlock.</title>
<updated>2013-09-05T18:02:07+00:00</updated>
<author>
<name>Jean-Louis Biasini</name>
<email>jlbiasini@gmail.com</email>
</author>
<published>2013-09-02T09:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=df6eb82f5156256e1999374ce9b1a159610ff9a0'/>
<id>df6eb82f5156256e1999374ce9b1a159610ff9a0</id>
<content type='text'>
Target that have a touchpad/touchscreen should disable it while
being locked (In order to avoid LCD to drain battery power due to
"key locked" constant reporting messages. If they a have a keylock
button this was already handled at driver level. If not (e.g. fuze+),
they will have to implement a switch at driver level that action.c
can operate on softlock.
This patch does the following for any target having a touchpad
or a touchscreen and no HAS_BUTTON_HOLD (ie any softlock target)
1) it implements the code to call button_enable_touch(bool en) in
action.c.
2) button_enable_touch is implemented in button.c and call
either touchpad_enable or touchscreen_enable
3) those two function are implemented respectively in touchscreen.c
and a new touchpad.c file. They provide a generic way to silents touch's
device and call a function at driver level where target specific code
can be implemented if possible/needed (for power saving for instance).
Those function name are touchpad_enable_device and touchscreen_enable_device
4) we implement an empty function at driver level of targets that need it
to have them still being able to compiled.

Change-Id: I9ead78a25bd33466a8533f5b9f259b395cb5ce49
Reviewed-on: http://gerrit.rockbox.org/569
Reviewed-by: Thomas Martitz &lt;kugel@rockbox.org&gt;
Reviewed-by: Amaury Pouly &lt;amaury.pouly@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Target that have a touchpad/touchscreen should disable it while
being locked (In order to avoid LCD to drain battery power due to
"key locked" constant reporting messages. If they a have a keylock
button this was already handled at driver level. If not (e.g. fuze+),
they will have to implement a switch at driver level that action.c
can operate on softlock.
This patch does the following for any target having a touchpad
or a touchscreen and no HAS_BUTTON_HOLD (ie any softlock target)
1) it implements the code to call button_enable_touch(bool en) in
action.c.
2) button_enable_touch is implemented in button.c and call
either touchpad_enable or touchscreen_enable
3) those two function are implemented respectively in touchscreen.c
and a new touchpad.c file. They provide a generic way to silents touch's
device and call a function at driver level where target specific code
can be implemented if possible/needed (for power saving for instance).
Those function name are touchpad_enable_device and touchscreen_enable_device
4) we implement an empty function at driver level of targets that need it
to have them still being able to compiled.

Change-Id: I9ead78a25bd33466a8533f5b9f259b395cb5ce49
Reviewed-on: http://gerrit.rockbox.org/569
Reviewed-by: Thomas Martitz &lt;kugel@rockbox.org&gt;
Reviewed-by: Amaury Pouly &lt;amaury.pouly@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>FS#10345 - Gigabeat: Switch volume buttons in Upside Down mode</title>
<updated>2012-04-15T21:27:50+00:00</updated>
<author>
<name>Bertrik Sikken</name>
<email>bertrik@sikken.nl</email>
</author>
<published>2012-04-15T13:53:46+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=e92fbb42d7d25311cc03a69390ba758033d5134a'/>
<id>e92fbb42d7d25311cc03a69390ba758033d5134a</id>
<content type='text'>
Change-Id: If2d5ed52e5b52c48b50e412dda52632bb08b0c8d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: If2d5ed52e5b52c48b50e412dda52632bb08b0c8d
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: listen to ACTION_AUDIO_BECOMING_NOISY for headphone (FS#12097).</title>
<updated>2011-06-04T19:17:51+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2011-06-04T19:17:51+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=d25a61f01c21978d0c9e229fd72852e99da1414a'/>
<id>d25a61f01c21978d0c9e229fd72852e99da1414a</id>
<content type='text'>
This event is sent before the audio is routed back to the speaker so we
get the information about the unplugged headphone notably earlier.

Decrease the debouncing of the headphone status from 1s to 0.5s to work
around audio still getting played back via the speaker due to the pause
delay by debouncing. On Android we shouldn't need the debouncing at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29957 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This event is sent before the audio is routed back to the speaker so we
get the information about the unplugged headphone notably earlier.

Decrease the debouncing of the headphone status from 1s to 0.5s to work
around audio still getting played back via the speaker due to the pause
delay by debouncing. On Android we shouldn't need the debouncing at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29957 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix FS#11894 - Sansa Clip+ Volume Buttons don't switch when Upside Down is activated</title>
<updated>2011-03-13T10:24:49+00:00</updated>
<author>
<name>Bertrik Sikken</name>
<email>bertrik@sikken.nl</email>
</author>
<published>2011-03-13T10:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=e86a7fb77d22cdd593162e91d57012f4ae61cc81'/>
<id>e86a7fb77d22cdd593162e91d57012f4ae61cc81</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29577 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29577 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one).</title>
<updated>2011-02-14T11:27:45+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2011-02-14T11:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2'/>
<id>b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Hopefully fix FS#11696: scrollwheel doesn't respond in some cases.</title>
<updated>2010-11-14T13:13:06+00:00</updated>
<author>
<name>Magnus Holmgren</name>
<email>magnushol@gmail.com</email>
</author>
<published>2010-11-14T13:13:06+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=4480e3a82cc12bddde528331f0838f4f232a148c'/>
<id>4480e3a82cc12bddde528331f0838f4f232a148c</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28584 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28584 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Enlarge the button post interval against audio drop outs, Too many lcd updates</title>
<updated>2010-09-22T23:28:26+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2010-09-22T23:28:26+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=b2872c616c3decf521c8424db3cfcf4e7b095865'/>
<id>b2872c616c3decf521c8424db3cfcf4e7b095865</id>
<content type='text'>
per seconds apparently don't very well.
Not sure if it's the hardware or our threading that doesn't play well enough
here (UI isn't less response despite of the audio drop outs).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28144 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
per seconds apparently don't very well.
Not sure if it's the hardware or our threading that doesn't play well enough
here (UI isn't less response despite of the audio drop outs).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28144 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Touchscreen: button driver improvements</title>
<updated>2010-09-22T23:01:51+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2010-09-22T23:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=54a81076bcca1da13673526b57e9c2fc3e807ae7'/>
<id>54a81076bcca1da13673526b57e9c2fc3e807ae7</id>
<content type='text'>
* Until BUTTON_REPEAT was started, coordinate changes were not exposed. Change
that (post on every coordinate change) so that wiping over the screen does actually
something between the first touch and BUTTON_REPEAT
* Once BUTTON_REPEAT is active, further repeats are posted in an acceleration
fashion (slow at the begginning), which smoothes list scrolling. But this has
the contrary effect on touchscreen, as it makes swiping appear very laggy. So,
remove that acceleration for touchscreen and make it equally fast at all times
so the scrollbar is better usable.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28143 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Until BUTTON_REPEAT was started, coordinate changes were not exposed. Change
that (post on every coordinate change) so that wiping over the screen does actually
something between the first touch and BUTTON_REPEAT
* Once BUTTON_REPEAT is active, further repeats are posted in an acceleration
fashion (slow at the begginning), which smoothes list scrolling. But this has
the contrary effect on touchscreen, as it makes swiping appear very laggy. So,
remove that acceleration for touchscreen and make it equally fast at all times
so the scrollbar is better usable.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28143 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
</feed>
