svenmeier / coxswain

Your rowing servant
http://play.google.com/store/apps/details?id=svenmeier.coxswain
Apache License 2.0
80 stars 21 forks source link

S4 Comms module keeps disconnecting #106

Closed n8kowald closed 4 years ago

n8kowald commented 4 years ago

Thank you for the excellent app!

I tried Coxswain with my Pixel 3 XL - Android version 10 and the Bluetooth S4 Comms 53 module last night. During a 20 min row it disconnected after ~5 minutes. The second time during a 15 min row, it disconnected at around 11 minutes. The app stays open, but goes to the main page with the toast message, "Rower was reset".

I had a look at issues here to see if anyone else is experiencing this. I saw there's a setting to Write a trace file. I enabled that tonight and did a 15 minute row, which disconnected after about 5 minutes. On the screen, the duration value stops but the other values: strokerate, speed, strokes keep updating. I've attached the trace, renamed to .log so I can attach it here: waterrower.log

My app settings: Adjust energy - N Adjust speed - N Open end - Y Storage location - External

I saw in the wiki this guide to updating the S4 Comm Module:

My Comm module is about a week old, purchased from WaterRower (Australia). The box has a sticker showing 5.00 BLE and Firmware 0.30. I downloaded nRF Connect, connected to the S4 Comm Module but do not see the option, "tap "DFU" on the top-right". I was also wondering if upgrading the firmware would break it from working with the WaterRower Connect. I have no connection issues with the WaterRower connect app and have completed five rows successfully using that. I would much rather use Coxswain than WaterRower Connect as Coxswain provides more data to Strava, as well as the other excellent features. Hoping I can get it working with the Comms Module somehow.

Using nRF Connect, connected to my S4 COMMS 53 > log I can see it sending these values:

Let me know if you need any other information.

Thank you! Nathan

svenmeier commented 4 years ago

Hi, this is a known bug with the Waterrower Comm Module, it is reporting wrong time values:

elapsed time 299

elapsed time 241 <-- jump back in time

elapsed time 242

...

elapsed time 287

elapsed time 289

I've already added a workaround to Coxswain to temporarily ignore invalid values, but apparently your Comm module never recovers from counting wrong time values.

Note that this isn't a disconnect. Coxswain is just depending on the time reported by the Waterrower and stops a workout when the time jumps back. The App Waterrower Connect is programmed to count the time independently, thus not suffering from this problem. Drawback is that you cannot use the 'pause' button on the S4 with it.

According to the trace log the software-revision is 1.30. I wasn't aware that such 'old' revisions are still shipped.

Let me ask the firmware developers, whether 1.30 can be upgraded to 4.2 too.

Could you please attach a screenshot when you have connected your module in nRF Connect?

n8kowald commented 4 years ago

Hi,

Thank you for your explanation of the cause! I can see why the Connect App has chosen to count independently then.

It looks like the Waterrrower jumps ahead for a moment, then continues reporting the correct time but by then the highest value is counted as the correct one and anything lower is erroneous.

elapsed time 238

elapsed time 299

elapsed time 241

elapsed time erroneous 241, duration is 299

Here are the screenshots of it connected in the nRF Connect (version 4.24.1).

1 2 3 4 5

Thank you for asking the firmware developers!

svenmeier commented 4 years ago

Interesting, I can see many differences between our devices (yours / mine):

n8kowald commented 4 years ago

Thank you for looking into it! Remaining battery in Coxswain would be a nice thing to show, yeah. Shame I can't update the firmware. Out of interest, what does updating that provide? More data? Any stability improvements?

I have ordered an OTG mini USB to USB-C cable. If that works I will use that with Coxswain.

From your experience Com Modules that match your hardware, software and firmware are reliable? Wondering if I should try asking WaterRower if they have any of the other modules.

In a WaterRower Facebook group I see so many different numbers after the ComModule, mine being 53. I wondered what the differences were. What is constant however are complaints about them. Some problems come down to installation error from users, others are genuinely faulty units. I myself suffered from the blue LED not turning off. Had to disconnect/reconnect the battery to fix that but it's been okay since then. That's the end of my rant.

svenmeier commented 4 years ago

The Comm Modules are riddled with errors: Wrong time calculation (with knowledge of the S4 USB protocol it's clear why the Comm Module's calculation is wrong). Failed reconnects after bonding, which itself is needed to reset the rower via Bluetooth. The latter is partially fixed with the latest 4.2 firmware update.

I was hoping that we can push Waterrower to providing a better firmware. But this doesn't help if there are modules out there which cannot be upgraded at all.

n8kowald commented 4 years ago

Thank you. I think I'll give up on it then. Hopefully my phone supports the cable. Yeah, that's not great if they can't be upgraded.

Thank you for your time! Closing this issue.