Replies: 5 comments 11 replies
-
|
Exposing a custom characteristic that you could read from and write to is actually pretty simple. I'll try to get a branch going this week for you to test. If you could, please think about exactly what data you think you'll ever need and propose a characteristic data format for me to follow. I believe we get around 20 bytes max before we have to try fancy stuff. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @doudar I noticed the new One quick comment on the first commit of this: I noticed that you're currently treating an incoming change to resistance level as the same as setting the incline. But I also noticed your comment! So I guess the idea is to create a new value in userParameters to represent the shifterPosition, and then this method will directly set that instead. Have I got that right? |
Beta Was this translation helpful? Give feedback.
-
|
No worries! I decided to try and help on the project, so I dived in and created a Pull Request to move the shifterPosition variable inside userConfig; feel free to do with it what you will! If it conflicts with the other work then we can just delete it.
Carl Partridge
CEO, UrbanThings
T: +44 (0) 0 7043 1680 | M: +44 (0) 7494 496 891
<http://urbanthings.co/> <http://www.facebook.com/urbanthingsco> <https://twitter.com/urbanthingsco/> <https://www.linkedin.com/company/3216912/>
20 St Thomas St, London
Check out Ticketless <http://www.ticketless.travel/>™, our government-backed transport ticketing solution… without the tickets.
… On 17 May 2021, at 17:20, Anthony Doud ***@***.***> wrote:
Yep, it's just preliminary. @kadaan <https://github.com/kadaan> has been playing around with a custom characteristic for shifting and step feedback also.
I'll be a bit time limited again this week but we're working on it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#208 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/APRJUEZLEWQQ3H4QAONJVK3TOE66PANCNFSM44PRSVPA>.
|
Beta Was this translation helpful? Give feedback.
-
|
Project update: It currently support both reading of basic characteristics (currently heart rate and cycle power) and also manual adjustment of the shifters (i.e. resistance). In other words, if you lose your manual shifters, or forget to pack them in your luggage, you can still use the companion app as a replacement. Subject to PR #218 it should also update the resistance display when you use the manual shifters. I'll be open sourcing the project once it's stable: in a couple of weeks it should be ready to upload to GitHub. Screenshot of current alpha test version: |
Beta Was this translation helpful? Give feedback.
-
|
Hi Anthony
I haven’t unfortunately, work has been crazy. I did get an iPhone app working successfully with most of it though which I am happy to open source when I get time. (Source attached just in case it’s useful in any way)
Carl
Carl Partridge
CEO @ UrbanThings
T: +44 (0) 20 7043 1680 | M: +44 (0) 7494 496 891
<http://urbanthings.co/> <http://www.facebook.com/urbanthingsco> <https://twitter.com/urbanthingsco/> <https://www.linkedin.com/company/3216912/>
20 St. Thomas St, London, SE1 9RS
<https://jump.urbanthings.io/id/email-sig-2021-06>
… On 2 Dec 2021, at 22:35, Anthony Doud ***@***.***> wrote:
@urb4nc4rl <https://github.com/urb4nc4rl> Just wondering if you've had any additional time to look at the custom characteristic?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#208 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/APRJUEZUGE32ILY3QK3OCCLUO7YC7ANCNFSM44PRSVPA>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Apart from Zwift, my secondary use case for the SS2K is to use it with a Peloton Digital subscription so that I have an easy and reproducible way to
To achieve this, I set about writing a SS2K companion app for iPhone - the idea is that it would have:
shifterPosition. (Calibrated as a percentage)shifterPositionHaving dug into the GATT specs, my initial thought was to achieve this using the FTMS ‘control point’ characteristic that is currently implemented.
I’ve got a POC of this working and the iPhone can now correctly set the gradient percentage via indoor bike simulation parameter.
But, of course, I now realise that incline is not really what I want here, since it doesn’t relate in any way to shifterPosition:
targetPosition = shifterPosition + (userConfig.getIncline() * userConfig.getInclineMultiplier());Is there any way in which I can read stepperPosition and write shifterPosition via BLE?
One approach might be for SS2K’s BLE server to implement the ‘Fitness Machine Status’ characteristic more fully; there is an Op Code (0x07) for Target Resistance Level Changed that could do the job nicely. I'm not too sure what the best-practice way to write
shifterPositionvalues might be? And perhaps also send relative position commands, such asshiftUpandshiftDown.On a side-note, does the concept of current
stepperPositionand/orshifterPositionsurvive a device reboot? I guess this affects our approach, as presumably I will need to include a calibration UX if the values are not persisted between power cycles.@doudar if you were willing to implement the characteristics, I'd certainly be happy to release the iPhone companion app as Open Source; it might be pretty basic but could be a useful addition to the overall codebase for SmartSpin2K.
Beta Was this translation helpful? Give feedback.
All reactions