Rockbox Development > New Ports

Sony NWZ-E370

<< < (8/23) > >>

jrbb:
I had a brief look at the code. I think I found the thresholds ("expected value") but since I'm not familiar with the code and I don't have a build environment setup I think I would take me quite a lot effort the figured out how to fix it. But if there's a plugin or debug facility that displays the raw button values I could provide those values.

pamaury:
Hi,
it could be that the E380 uses sligthly different values than the E370. You can view the raw values in the debug menu: System > Debug > View HW Info > Button.
However, out of memory, I think the E380 screen might be too small to correctly display this information, if that's the case, I'll commit a fix tomorrow to make it more readable and so that you can provide the values :)

jrbb:
Hey,

hmmm so what I could figure out so far:

A quick hot fix is to increase the hardcoded threshold in

firmware/target/arm/imx233/button-imx233.c:92  to 100.

I have no idea whether this might have any side effects but it seems to work for now.


The vddio raw value changes when I press the up and down buttons between 31xx and 38xx (xx -> can't read ;-)) I assume this is the way it is supposed to be because of the scaling done in the code.

complete list for the left key:
vddio -> left
31xx -> 1977
32xx -> 2045
33xx -> 2111
34xx -> 2181
35xx -> 2246
36xx -> 2311
37xx -> 2377
38xx -> 2442

values for the other keys for vddio 36xx:

right 1957
down 3042
up 2680

can't get values for the other keys, because they quit the debug view.

I.e. they are of by almost the threshold in the code and a little bit of vddio scaling imprecision might cause the problem.

What do you think of just increasing the threshold value? This would be platform independent and since the values are spread for enough from each other there should be no overlapping. Might this cause any side effects?

Anyway, it's a complete new and great experience to use a rockbox with fully working buttons after half a year of annoying work arounds :D

pamaury:
Hum, to be honest I don't really like the idea of simply increasing the value because it affects many targets and may broke some of them. Furthermore, it doesn't really solve the problem which you identified: imprecision increases with vddio because of scaling. A quick fix could be to have a per-target threshold. But in this case it seems some of the values you are off compared to the expected values, which means that:

* either I made a mistake when writing the expected values, in which case it suffces to fix them
* either the NWZ-E370 and NWZ-E380 are slightly different and need different valuesI'm going to double-check on my E370 as soon as possible. I'll also commit something so that one can try all the buttons in the menu.
Anyway thanks for the report and stay tuned :)

JosieQ:
The buttons-not-working issue!  Initially I read jrbb's post and it had never happened to ME before, so naturally I (as I'm sure most of us did) assumed he was completely insane.

;)

But yeah, I did get this issue the other day with the "Play" key and it was strange.  Pushing it hard or soft did nothing, and pushing it a bunch of times in succession didn't do anything either.  A restart did not fix it and eventually it just... fixed itself.  Although then it did play-pause-play-pause-play-pause real fast a bunch of times, so maybe it was sort of, I dunno, catching up with the past presses?  Is that possible?  Hmmm.

Everything else is going swimmingly.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version