• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Drivers
  • Assigned To No-one
  • Operating System Sansa e200
  • Severity Low
  • Priority Very Low
  • Reported Version Version 3.2
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by sko - 2009-06-06
Last edited by kugel. - 2009-06-22

FS#10284 - Sansa e200v2 & Fuze: Merge the button driver into 1 file

This patch renames the variable for wheel acceleration and changes some comments to make it more equal to the fuze’s button driver. I also implements the button_delay() function from the fuze driver.
The aim of this patch is to make it easier to read the source of both drivers (why call the same things by two names ;) ) and maybe unify them to one driver later.
I tested it with  FS#10048  and with clean svn and I couldn’t find any problems, works like before.

Closed by  kugel.
2009-06-22 22:26
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed in r21474. Thanks for the good work!

sko commented on 2009-06-07 21:10

Here is a new patch: overlooked one place for using button_delay() (button_read_device() also has an delay). Works also fine for me, but should be tested by someone else too, because the delay in button_read_device() is a little longer now (8 in svn, now 10). Fuze does it the same way, so I applied it for e200v2 too.

Now the fuze and e200v2 driver are identical, except these few differences:

- some comments
- how button_hold() is positioned

- some settings (acceleration, how much hardware changes = 1 software change)
- how lcd and button concurrent access to DBOP are managed (e200v2 skips whole button reading if lcd is used, fuze only skips buttons read by dbop)

Please kugel since you wrote all of this, can you detail what are the differences here, and what prevent us from merging the 2 files ?

sko: did you try to use the button-fuze.c file on e200v2 ?

I tried the first patch on the way home tonight and it works fine. If the 2 button drivers are finally coming together should we just wait until we can merge them?

sko commented on 2009-06-08 07:00

@funman: - "sko: did you try to use the button-fuze.c file on e200v2 ?"

I tried long time ago and it was not working, but now they're very similar, I'll try again (but will need a little adaption since e200v2 has no BUTTON_HOME). Anyway I startet merging the two drivers, it's a little more complex then I thought due the differences you mentioned in your comment (well it's a little "#if defined()"-hell right now^^).

I was suggesting that the functional differences could be removed as well, especially the settings.

Perhaps both models have a decent user experience with respect to the buttons (especially the wheel), but this experience is a bit different. Does anyone have both an e200v2 and a fuze?

"Does anyone have both an e200v2 and a fuze?"


I have an e280v2 and a fuze, but recently my fuze's screen got stepped on, so using it is next to impossible.

sko commented on 2009-06-22 19:45

Here is my actual patch for a unified driver. It's working good on e200v2, maybe someone with a fuze should have a look at it.

Looks good, I'm thinking this can actually go in. I will test on my fuze!


Available keyboard shortcuts


Task Details

Task Editing