ponewheel / android-ponewheel

pOneWheel Android app
MIT License
72 stars 25 forks source link

Fix GPS logging + CSV export is broke (not sure if one broke the other...) #69

Open kwatkins opened 6 years ago

kwatkins commented 6 years ago

GPS isn't being logged, fixed in branch notifications

Now noticed CSV export is a bit off, looks like it's getting a return carriage. Will look into it. owlogs_2018-05-27_14_55.csv.txt

muellergit commented 6 years ago

Is this issue related to why I can't find any of my ride logs now? They are listed in the app but I can't find the files anywhere on my device. Also when I tap on a ride in the app the app spins its wheels for a few minutes and then returns to the logged ride list without doing anything.

On Wed, May 30, 2018, 10:36 AM Kevin Watkins notifications@github.com wrote:

GPS isn't being logged, fixed in branch notifications

Now noticed CSV export is a bit off, looks like it's getting a return carriage. Will look into it. owlogs_2018-05-27_14_55.csv.txt https://github.com/ponewheel/android-ponewheel/files/2054592/owlogs_2018-05-27_14_55.csv.txt

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ponewheel/android-ponewheel/issues/69, or mute the thread https://github.com/notifications/unsubscribe-auth/APHfOc8jRQ9Q7bHK0ogaDK0_iHq-xv_Aks5t3ryCgaJpZM4UThwB .

ebabel commented 6 years ago

@muellergit Hit the dots in the upper right (next to scan), you'll see Logged Rides in there. You can export any ride and share it.

kwatkins commented 6 years ago

Right, you just export the ride and share it - it's not file based anymore, but stored/exported from a local database.

Not being able to open a ride, not sure, it may be related. If you have the error logs that would help. And/or wait until this fix comes out and give it a try...

-- Kevin

On Wed, May 30, 2018 at 10:29 AM Erik Babel notifications@github.com wrote:

@muellergit https://github.com/muellergit Hit the dots in the upper right (next to scan), you'll see Logged Rides in there. You can export any ride and share it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ponewheel/android-ponewheel/issues/69#issuecomment-393249575, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0LrbCrKyClUjeGeDhp97gV9wh_YLVPks5t3tb9gaJpZM4UThwB .

muellergit commented 6 years ago

Where can I find the error logs? I can't swipe right from the logged rides screen where the "error" is occurring. Not sure if it is a error now though, see below.

I tried a few more tests with the app... The app seems to be returning with "No chart data" because the app is still working on displaying the charts for several minutes and then my phone screen locks and the app stops its processing. My phone is also low on internal storage currently, only has 500MB available, so not sure if that is contributing to the time that the app takes to process the log data into the charts.

If the app usually takes multiple minutes to produce the charts, maybe the export file option could be made available before the app starts to do that processing or ideally while it is doing that? I have verified that if I manually lock my screen to interrupt the app's chart processing that I can then go back and select the "export file" option immediately.

muellergit commented 6 years ago

Here is the chart I came up with from monitoring voltage when doing full range testing. This works pretty well, but doesn't work while the batteries on under load because the voltage sags. For the stock battery the range estimates are all half of this chart.

{Unloaded Volts} ~ {Range remaining} = {Actual charge remaining} {Estimated Trip Distance}

54V ~ 15 miles = 100% 1 53V ~ 12 miles = 80% 3 52V ~ 9 miles = 60% 6 51V ~ 6 miles = 40% 9 50V ~ 4 miles = 25% 11 49V ~ 3 miles = 20% 12 48V ~ 2 mile = 12% 13 47V ~ 1 mile = 6% 14 46V ~ 0.5 mile = 3% 15 42V = EMPTY = 0% 15.5

These are the miles of range expected for each volt used, across the discharge curve:

54V to 50V = 3 mpV miles per volt 50V to 48V = 1 mpV 48V to 46V = 0.5 mpV 46V to 42V = 0.5 mile

On Sat, Jul 14, 2018 at 12:40 PM Kevin Watkins notifications@github.com wrote:

@muellergit https://github.com/muellergit The %/State of Charge comes directly off the OW (0-100). I assume it keeps an internal voltage chart, that gets out of line occasionally and needing a reset by draining the battery and nosediving on hillway ave.

Thoughts on how we can extend the model you have to any battery source? From what I can tell on https://en.wikipedia.org/wiki/State_of_charge this would be an "offline" technique reading the battery current comparing it over time w/ a hash/lookup table. The table would be the model, reset manually or when the board is 100%. Something like that. We could add another "estimated/smart/extended battery %" metric having an option to making that the primary source of truth for battery % off the board.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ponewheel/android-ponewheel/issues/76#issuecomment-405038568, or mute the thread https://github.com/notifications/unsubscribe-auth/APHfOcdu6k8haHsE1PJpwbJNWSowkZ2Iks5uGi0NgaJpZM4VPpV_ .

muellergit commented 6 years ago

Ok, here are a couple more thoughts on this.

How about a setting where you can enter your total Watt hours of batteries and the app uses that in its range calculation? It would have the stock battery Wh as a default but you could change it to include any add on or CnR batteries.

The voltage/range chart I made is directly proportional to voltage/charge of course. And those discharge curves are available for the cells. You can see my chart is a rough approximation of the curve and corner where the LFP pack starts to drop off quickly.

Using the actual curve in the app calculation would be much better than my 3 region approximation, and the voltage could be a moving median average over some seconds to get a more steady voltage level for the look up. Going further, the actual curves could be included for different temperature regions. And range could also be adjusted based on the current ride and how far off the expected look up value for range is versus actual odometer.

On Jul 14, 2018 12:50 PM, "Mike Mueller" muellermbox@gmail.com wrote:

Here is the chart I came up with from monitoring voltage when doing full range testing. This works pretty well, but doesn't work while the batteries on under load because the voltage sags. For the stock battery the range estimates are all half of this chart.

{Unloaded Volts} ~ {Range remaining} = {Actual charge remaining} {Estimated Trip Distance}

54V ~ 15 miles = 100% 1 53V ~ 12 miles = 80% 3 52V ~ 9 miles = 60% 6 51V ~ 6 miles = 40% 9 50V ~ 4 miles = 25% 11 49V ~ 3 miles = 20% 12 48V ~ 2 mile = 12% 13 47V ~ 1 mile = 6% 14 46V ~ 0.5 mile = 3% 15 42V = EMPTY = 0% 15.5

These are the miles of range expected for each volt used, across the discharge curve:

54V to 50V = 3 mpV miles per volt 50V to 48V = 1 mpV 48V to 46V = 0.5 mpV 46V to 42V = 0.5 mile

On Sat, Jul 14, 2018 at 12:40 PM Kevin Watkins notifications@github.com wrote:

@muellergit https://github.com/muellergit The %/State of Charge comes directly off the OW (0-100). I assume it keeps an internal voltage chart, that gets out of line occasionally and needing a reset by draining the battery and nosediving on hillway ave.

Thoughts on how we can extend the model you have to any battery source? From what I can tell on https://en.wikipedia.org/wiki/State_of_charge this would be an "offline" technique reading the battery current comparing it over time w/ a hash/lookup table. The table would be the model, reset manually or when the board is 100%. Something like that. We could add another "estimated/smart/extended battery %" metric having an option to making that the primary source of truth for battery % off the board.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ponewheel/android-ponewheel/issues/76#issuecomment-405038568, or mute the thread https://github.com/notifications/unsubscribe-auth/APHfOcdu6k8haHsE1PJpwbJNWSowkZ2Iks5uGi0NgaJpZM4VPpV_ .

kwatkins commented 6 years ago

@muellergit - this sounds sweet, a setting that you can enter total watt hours and/or presets, like for the two-x. Your chart seems like a good first cut, and it's heaps better then what we have now - and gets us an estimated distance trip distance.

How are you on doing a first cut of this? You seem to know it better than any of us. Let us know, I can try to add it as well, but not sure I know enough about this to do it right.