• Status Closed
  • Percent Complete
  • Task Type Feature Requests
  • Category Battery/Charging
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Davide-NYC - 2008-03-08
Last edited by Marc_Guay - 2008-04-01

FS#8702 - Rework USB Charging-Only Functionality

Having the HOLD switch “on” should prevent the device from entering disk mode when a USB cable is inserted. Basically this would allow the player to charge without having to interrupt use of Rockbox.

This would benefit the H1x0 players as well since a simple, single wire modification would allow USB charging. (IIUC)

This feature request relates to (and supercedes)  FS#5359  .

This is also indirectly related to (at least) the following FS tasks:
 FS#5977   FS#6226   FS#6897   FS#6930 

Closed by  zagor

Reason for closing:  Fixed
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

Closing all feature requests.

This is also indirectly related to  FS#7715 .

"Basically this would allow the player to charge without having to interrupt use of Rockbox." This has LONG been possible by holding down a button while inserting a USB cable. This is even readily apparent from the discussion at tasks you've linked. Please, learn the features of Rockbox before making a request.

petur commented on 2008-03-08 08:23

Calm down Llorean, please…

the issue is that now this is a different button on most targets, and a double-used one on some. For example, on h300 it is the REC button, so if I want to have USB-Charging mode only, I also end up in the recording screen, which is quite silly…

If that's the case, why even say "this would allow the player to charge without having to interrupt use of Rockbox." That statement alone makes it rather clear the poster was unaware this is already allowed, because you cannot exactly re-allow something that's already allowed. If the user did already know this, they did an extremely poor job of wording their task, since it explicitly requests a feature that already exists, rather than mentioning at any point within the task that he is requesting a change of existing behaviour.

As for the hold switch itself, this has been discussed before. One significant problem is that it allows you to accidentally prevent automatically going into USB mode. What's so difficult about holding down a single button that we should change it to a method that might have users saying "My iPod won't go into USB mode any more?"

If anything, why not introduce a menu option that lets one switch between the default of "USB if nothing held, Power if Menu (or other button on the few targets it hasn't been changed to menu yet) held" to "Power by default, USB if held". This is much more explicit than a hold switch, and also discoverable without using the manual for those people who never look at it, so it's much less likely to lead to spurious bug reports or unexpected behaviour.

petur commented on 2008-03-08 16:03

Read my comment again… on h300 it is a PITA

Yes and one of the tasks he linked is already a feature request for resolving that. And it could use whatever button does the quickmenu much like other ports. This task is all players If it was just about the H300 it can go ahead and be closed as duplicate.

I'm not convinced that misusing the hold switch in this way is the right solution, but I do agree that we should find a better solution to this than the current method - it's definitely not nice that the user is taken into an unrelated screen (varying between targets) when trying to charge their device.

This has been discussed various times in IRC over the past few years, but I can't remember any good solutions - no-one seems to be able to agree.

For the purpose of discussion, the options I remember are:

1) Leave as it is, but make all targets more consistent - i.e. use the same button as the quickmenu on all targets, meaning the user would be taken to the quickmenu screen.

2) Use the hold switch to prevent entering disk mode. (the suggestion in this task) I agree that this could cause people to accidentally avoid disk mode, but that could be compensated (a little - it assumes the user is looking at their device) by displaying a splash saying something like "HOLD detected, charging only".

3) Display a prompt, asking the user if they want to charge or enter disk mode. This could have a time-out, after which time it would go to disk mode,

I'm not really sure what I prefer, so am hoping for more ideas - let's try and finally sort this issue out.

My preference:

USB Connect menu option with choices: always, never, ask.

If in always or never mode, holding down any button (but not the hold switch) will inverse the behavior causing it to charge if in always or connect if in never.

using hold or the menu option which Paul said has my vote.

I just got an h300 and this statement: "if I want to have USB-Charging mode only, I also end up in the recording screen, which is quite silly…" is very true. I vote for the simple solution of changing the charge-only button from REC to NAVI (like the e200) or A-B (like other targets?), at least for now. Adding a new menu option for this, although a good idea as well, is a much larger task, and working on that would leave a minor, but annoying, inconsistency present in the meanwhile.

petur commented on 2008-05-21 14:24

nope…. holding NAVI gives the context menu, holding A-B gives the quick menu

I stay by my HOLD proposal :)

HOLD gets my vote.

I still think Hold is a fairly terrible idea. It's the one button in my mind that should never, ever do anything more that the single function it does. It shouldn't alter player behaviour.

What's *bad* about ending up in the context menu or quick screen? No actions take place, it takes a single button to back out of, and they're a lot harder to do accidentally than the quick screen.

petur commented on 2008-05-21 14:40

I would even change it further:

HOLD on ⇒ USB mode
HOLD off ⇒ charge only

reason: you can't touch buttons in usb mode anyway.

The only disadvantage: change of usage - most users will wonder why usb mode no longer works

other than that, I do not feel a problem with using the HOLD selector…

Hold already affects player behaviour - I use it to turn off the backlight when powered (using the backlight on hold option), or at other times just toggle it to turn on the backlight without having any other effect.

Hold is a switch, so you can slide it then insert USB cable. Physically holding a particular button is slightly harder to do. Of course this also has the disadvante that you need to explicitly turn hold off again afterwards, but that's easier than having to press a different button to get out of the quickscreen or context menu.

I really like the menu + any button approach too. I'd use USB connect = ask.

Why not just always ask on USB cable-detect? (ButtonA = Charge-Only, Any Other = USB Connect).
- It won't create confusion. In fact, it may lessen it.
- A new menu option won't need to be added.
- If button needs to be held or switch needs to be pushed anyway, why not make it explicit?

How about the best of both worlds:

In [ Setting –> General Settings –> System ] we make a USB behavior menu with three choices:

1 - Defaults to Disk Mode [default behavior]

 On connect, a splash screen prompts the user to hit SELECT to Charge Only (should timeout after 3 seconds)   

2 - Defaults to Charging Only

 On connect, a splash screen prompts the user to hit SELECT to enter Disk Mode (should timeout after 3 seconds)

3 - Hold Toggles Disk Mode (Petur's Idea)

 HOLD ON (Disk Mode + Charging) :: Presents the user with a splash screen saying something like "HOLD ON (Disk Mode + Charging)" 
 HOLD OFF (Charge Only) :: Presents the user with a splash screen saying "HOLD OFF (Charging Only)"

Personally I think just implementing option 3 is the most elegant. It's clear and all of the SWCODEC targets have hold switches with the except ion of the M3.

My $0.02.

In my mind that's actually the worst of both worlds. And you're assuming the presence of a hold switch, which you already have admitted not all targets have.

Instead of suggesting random new things that can't even work on all targets, why not explain what's wrong with my suggestion that can work on all targets?

Edit: To clarify, part of the reason we even have this problem is because of differing behaviour on different targets. We should concentrate on finding a behaviour that can be consistent, usable, and not trigger extra bug reports/confusion. While I admit holding a button down is less simple than flipping a switch, I think it's better than accidental unexpected behaviour such as someone not realizing the hold switch changes behaviour on USB insertion.

petur commented on 2008-05-28 06:40

hmmm… the Llorean solution isn't that bad either (setting to choose with the possibility to have it asked every time.

But: if you occasionally want to charge, this will be a pita: either put on ask and be bothered with the question every time, or go to the settings menu before you can charge. Neither seems attractive to me :(

I think you missed a part of what I suggest it do. I think maybe my last post on it wasn't clear enough (I was a bit short).

There's a menu option with the choices "Always, Never, or Ask".

In "Ask" mode, on any connection, you are given a prompt to choose.

In "Always" you always charge, unless ANY button is held down, in which case you USB connect instead.

In "Never" you always connect, unless ANY button is held down, in which case you charge instead.

This way the user can pick any button (one that's easy for them to reach while connecting, one that doesn't start an action, or one that does but starts an action that USB connection will cut off such as resuming playback) as long as it's comfortable for them to reach. Meanwhile, it doesn't have the delay of a menu coming up every single time, even if it's one that times out after a few seconds. And if you occasionally want to charge, you don't even have to remember a button, just hold down anything.

For the record, I now think that Lloreans suggestion is the most universal.
Just to clarify: When in ASK mode disk mode would not start until you chose to start it.
Also, which buttons are universal to use when answering YES/NO questions of this sort? LEFT and RIGHT?

I assume we'd use the standard Yes/No screen. I believe there's one.

I've changed the H300 button to the A-B/Mode button in the interrum.


Available keyboard shortcuts


Task Details

Task Editing