-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Concept2 Rower support #79
Comments
Some Concept2 has CSAFE port as I've heard, so if NPE would have a CSAFE adaptor which could support Rower machine (they have for Indoor Bike and for Treadmill) that could be a possible easier venue than Concept2's proprietary protocol with 8+ services |
I'm planning to develop PM5 support, opened a concept2 feature branch. |
Part of PM5 protocol is CSAFE, for example the control point is CSAFE. |
…ingle getExtraSensor to plural getAdditionalSensors #79
For the Cloud Next Innovator's Hive in-person event I'll have a night at the "Comfort Inn Sunnyvale - Silicon Valley" and according to the amenities photos there's gonna be a Concept2 with a PM5, so I can test, debug and hone-in the code to claim support. |
The earlier mentioned Comfort Inn Sunnyvale - Silicon Valley gym didn't have a rower with a smart console, it only had a PM2 console. However yesterday at Rio and Naomi's birthday party I discovered that Naomi has a Concept2 rower with a PM5 console on site. It is the newer firmware, so actually it is FTMS Rower Data compatible too. I want to polish the support for the proprietary Concept2 protocol first. When I tried to connect to PM5 via the proprietary protocol, but the connection errored out. I'll attach logs. Once the Concept2 protocol works I'll make sure that if there's FTMS present (newer than firmware 600) then I'd leverage that instead of the proprietary. |
nRF Connect log of the FTMS Rower data of PM5: Log 2023-04-01 18_47_53.txt |
I used my app's logging today when I was downtown for Jury Duty and visited the Galleria during lunch time: 1804202310.txt |
I had a session today (2023/08/18) at Raw Fresno working on the legacy protocol support. The endpoints were connected, needed to tune the HR (255 means invalid), correct the byte layout for the speed and pace. Now it's almost good. We may need to listen on the 0x0031 characteristic as well, because the console keeps holding the same speed after someone stops paddling: https://github.com/cagnulein/qdomyos-zwift/blob/87e5a1905d69bfeaeb668ca5541f03c8b5e0dc7b/src/concept2skierg.cpp#L162 |
The only issue remained is that somehow the app thinks the speed is too low so the limiter logic kicks in and nulls it out. Otherwise when I do something like 3:00 min/500 pace it display 48:00 min/500 or something in that range. I might be off by 10 scale? Not sure. |
… to km/h the divisor should be reciproc, so we need to divide by ms2kmh (or multiply the divider by kmh2ms) because it'll divided by that #79
I believe there was also an issue that Concept2 kept holding some pace even when I stopped rowing. Need to test that. |
Specification available, proprietary protocol, a wide set of characteristics. https://www.concept2.co.uk/files/pdf/us/monitors/PM5_BluetoothSmartInterfaceDefinition.pdf
Concept2_PM5_BLE_def.pdf
Maybe the multiplexed one is the best, but for that it may be needed to set the update rate to 100ms from the default?
The text was updated successfully, but these errors were encountered: