Jump to content

Help! S18 roll angle can’t be changed.


Ksmack

Recommended Posts

TLDR; I can’t set the S18 roll angle shut off to be more than the 40 degrees default in either the Kingsong app or DarknessBot. I cut out as a result. 

I had my first cut out yesterday on my S18. I was at a bike park and took a sharp berm aggressively. As I was going around (about 13mph) the berm, which is angled at about 45 degrees, the whee suddenly cut out. My arm is a bit sore, but my gear saved me from any real injury. I had the angle at which the wheel shuts off set to 70 degrees in the app, so I was surprised it cut off. I was leaning hard, but not that hard. 
 

I did some testing of the tilt angle turn off. I tried setting it using both the Kingsong app and Darkness bot. I calibrated the wheel first.
 

 Using the default setting of 40 degrees I began tilting the wheel until it shut off. It looks like it turns off at about a 40 degree angle as expected. Next I set it to 70 degrees, but when performing the same tilt test it turns off at 40 degrees. 
 

I’d there any way to increase this angle?

I’m on firmware 2.12. 

Edited by Ksmack
Link to comment
Share on other sites

Glad you didn't get hurt too bad.
The custom angle is expected to taken into account only above a certain speed. To test that, you would need to have the wheel spinning in the air, and shift it to the desired angle. I know: tricky!

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

Oh, weird. Is there any way to find out what that speed threshold is? The pump tracks I’m riding are designed for 8-15mph, so not super fast. I want something that is reliable and predictable to avoid another cut out. 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Ksmack said:

Oh, weird. Is there any way to find out what that speed threshold is? The pump tracks I’m riding are designed for 8-15mph, so not super fast. I want something that is reliable and predictable to avoid another cut out. 

I read 5 km/h somewhere, but I'n not sure of the reliability of the statement.

Interesting video, it gave me another idea on how to test:

  • finding something to put the whole wheel weight on its pedal hanger on one side
  • letting the wheel spin at your target riding speed
  • angling the wheel progressively up tho the desired threshold

If that doesn't work, then it's definitely a firmware bug to report.

  • Upvote 1
Link to comment
Share on other sites

I definitely cut out going 20 km/h at a tilt angle of 40 degrees when it was set for 70 degrees. There is no way I was leaning the wheel at 70 degrees on the banked turn-the wheel was perpendicular to the berm which was about 45 degrees. 
 

I think it is definitely a firmware bug. 

Link to comment
Share on other sites

It's not terribly surprising that the tilt angle change doesn't work—it was added after initial release. I believe (but have not tested) that it works on the 16X but never tested it on S18.

I do think that KS is writing a common firmware for their wheels (at least up to the S18) and that features that apply to 1 model may not be valid to another. For instance, the handle-up behavior can be set to microbalance or damped on my 16X, but it does nothing (remains unmotivated) as it's an S18 feature only (microbalance and damped are most excellent BTW, if you haven't tried it on your S18).

Anyway, it is possible that roll angle doesn't work on S18 even though you can move things around on the app to "set" it.

  • Like 1
Link to comment
Share on other sites

8 minutes ago, Tawpie said:

Anyway, it is possible that roll angle doesn't work on S18 even though you can move things around on the app to "set" it.

this strange, as it was added because of the s18 and people saying they had cutouts in trails etc. I kind of knew that it didn't in mine, but thought that it was due to 2.06.

  • Like 1
Link to comment
Share on other sites

This is really frustrating. I’m annoyed I had a crash because of a bad UI, firmware bug, or both. I can understand some feature being not being functional due to a common firmware, but the tilt angle settings are a safety issue. I was led to believe the wheel wouldn’t cut out if I took a 45 degree banked turn based on my settings. If I knew I was limited to 40 degrees, I would have ridden that track differently. 
 

At least Kingsong is consistent in their software and hardware quality control. 

  • Upvote 1
Link to comment
Share on other sites

I checked mine, 2.16, mid 2020 vintage. I need to cut the video (which I may or may not get around to) to see if it actually changed when I went from 40° to 70°, but when it was at 70° it tipped way past 45 before it beeped. Then setting it back to 40 didn't seem to "take", it still allowed me to tip it much farther than 40° before it beeped.

EDIT:

I looked at the video, when the wheel is stopped, the tilt angle is about 40° (eyeball) regardless of setting. It just feels way tipped over!

I noticed the KS Gyro Angle Adjustment screen says "When the angle is set greater than 40°, it needs to be valid during riding". Which I believe means that the increased tilt angle is only invoked when you're moving, so my 'test' doesn't mean diddly squat.

"Hardware will break. Software comes broken"

Edited by Tawpie
  • Like 1
Link to comment
Share on other sites

2 hours ago, Ksmack said:

This is really frustrating. I’m annoyed I had a crash because of a bad UI

I agree, I think we can rule UI out, I had a look at what darknessbot does when changing this value, the wheel( even mine, on 2.06) responds like it accepts the value, this looks like a firmware issue.

 

 

 

image.thumb.jpeg.ca36ecc3de5d7c1584c6d48f83527752.jpeg

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

29 minutes ago, Tawpie said:

I checked mine, 2.16, mid 2020 vintage. I need to cut the video (which I may or may not get around to) to see if it actually changed when I went from 40° to 70°, but when it was at 70° it tipped way past 45 before it beeped. Then setting it back to 40 didn't seem to "take", it still allowed me to tip it much farther than 40° before it beeped.

"Hardware will break. Software comes broken"

That is interesting that you were able to get the angle set more than 40 degrees. Was this test done at a standstill? Did you use the Kingsong app? Maybe I need to update my firmware to 2.16. 

Link to comment
Share on other sites

31 minutes ago, enaon said:

I agree, I think we can rule UI out, I had a look at what darknessbot does when changing this value, the wheel( even mine, on 2.06) responds like it accepts the value, this looks like a firmware issue.

 

 

 

image.thumb.jpeg.ca36ecc3de5d7c1584c6d48f83527752.jpeg

Nice sleuthing! 

Link to comment
Share on other sites

40 minutes ago, Ksmack said:

That is interesting that you were able to get the angle set more than 40 degrees. Was this test done at a standstill? Did you use the Kingsong app? Maybe I need to update my firmware to 2.16. 

see edit above, I consulted objective evidence instead of "feel"

Link to comment
Share on other sites

1 hour ago, enaon said:

I agree, I think we can rule UI out, I had a look at what darknessbot does when changing this value, the wheel( even mine, on 2.06) responds like it accepts the value, this looks like a firmware issue.

Does KS report a roll angle? It doesn't show up in the EUC World logs, but maybe it's in the extended packets?

  • Like 1
Link to comment
Share on other sites

1 hour ago, Ksmack said:

Nice sleuhing! 

I am afraid I found the problem, I didn't like that the number was in the packet in plan decimal on DB, it is not the way kingsong does things, so I had a look inside softTuner.

this is what it does, it doesn't handle the "3" event on field 2, but there was evidence that the format is not plan decimal. 

Quote

else if ((bArr2[16] & UByte.MAX_VALUE) == 138) {
                    if ((bArr2[2] & UByte.MAX_VALUE) == 0) {
                        String[] split2 = bleDataFactory.getValue(4001).split("&");
                        if (split2.length == 0) {
                            split2[1] = "0";
                        }
                        bleDataFactory.setValue(4001, byteArrayInt2(bArr2[4], bArr2[5]) + "&" + split2[1]);
                    } else if ((bArr2[2] & UByte.MAX_VALUE) == 2) {
                        String[] split3 = bleDataFactory.getValue(4001).split("&");
                        if (split3.length == 0) {
                            split3[0] = "0";
                        }
                        bleDataFactory.setValue(4001, split3[0] + "&" + byteArrayInt2(bArr2[4], bArr2[5]));
                    } else if ((bArr2[2] & UByte.MAX_VALUE) == 6) {
                        bleDataFactory.setValue((int) BleConstant.voltageRegulation, (int) byteArrayInt2(bArr2[4], bArr2[5]));
                    } else if ((bArr2[2] & UByte.MAX_VALUE) == 7 && (bArr2[3] & UByte.MAX_VALUE) == 206) {
                        bleDataFactory.setValue((int) BleConstant.voltageRegulation, (int) byteArrayInt2(bArr2[4], bArr2[5]));
                    }
                    LogUtil.m1707e("gyroId", HexUtil.encodeHexStr(bArr));
                    LogUtil.m1707e("gyroId", bleDataFactory.getValue(4001));
                }


so installed the KS app, so that it can have a look at my files on the phone, and I can have a look at what it does. 

 

this revealed the issue, KS app send 70 like so:
 

Quote


  "Proxy from wheel:  1662003360813.20385742187 [170,85,3,0,188,2,0,0,0,0,0,0,0,0,0,0,138,20,90,90]",
  "Proxy from phone:  1662003360680.94067382812 [170,85,3,0,188,2,0,0,0,0,0,0,0,0,0,0,138,20,90,90]",

it uses field 4 and 5 like so:

Quote

=undefined
>inpk=[170,85,3,0,188,2,0,0,0,0,0,0,0,0,0,0,138,20,90,90];
=[ 170, 85, 3, 0, 188,  ... 0, 138, 20, 90, 90 ]
>lala=((inpk[5] & 0xff) << 8) | (inpk[4] & 0xff);
=700

I will forward this to DB, use the KS app to confirm please, test while freespining, not on standstill. 

 

 

ps. the proxy on the watch rules :D

Edited by enaon
  • Thanks 2
Link to comment
Share on other sites

1 hour ago, Tawpie said:

see edit above, I consulted objective evidence instead of "feel"

Thanks for checking. Your results exactly match my tests. 
 

You are right that when riding berms it is easy to exceed this tilt angle.  When riding banked curves at the speed they are designed for you end up with the wheel being perpendicular to the angle of the curve. If the curve is angled at 45 degrees or more (pretty standard for many pump tracks) then welcome to cutout city! 
 

🎵 Take me down to cutout city 🎵

🎵 Where the berms are steep 🎵

🎵And the falls ain’t pretty 🎵

🎵Oh, it’s a Kingsong woe 🎵
 

Edit: Thanks to @enaon, it looks like these lyrics are unfair. The Kingsong app should work. 

Edited by Ksmack
Link to comment
Share on other sites

16 minutes ago, enaon said:

I am afraid I found the problem, I didn't like that the number was in the packet in plan decimal on DB, it is not the way kingsong does things, so I had a look inside softTuner.

this is what it does, it doesn't handle the "3" event on field 2, but there was evidence that the format is not plan decimal. 


so installed the KS app, so that it can have a look at my files on the phone, and I can have a look at what it does. 

 

this revealed the issue, KS app send 70 like so:
 

it uses field 4 and 5 like so:

I will forward this to DB, use the KS app to confirm please, test while freespining, not on standstill. 

 

 

ps. the proxy on the watch rules :D

Nice. What tools do you use to debug/look at the logs like this? So, does the KS app set things correctly? 

Link to comment
Share on other sites

Maybe tomorrow evening when there's a bit more light I'll see if I can tilt it with the wheel going "faster" to see if speed causes the adjustment to 'take'. I had hoped that the microbalance mode would make the wheel invoke the larger tilt angle but it didn't change. I was setting with the KS app so would expect that to work.

I'm a teeny bit reluctant because controlling the speed while tilting gets a bit tricky and I don't want a Gotway dancing wheel... but I might play with it.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Ksmack said:

Nice. What tools do you use to debug/look at the logs like this? So, does the KS app set things correctly? 

just the watch. Yes, the way the KS app does it looks standard ks way, Db looks broken. 

Edited by enaon
  • Like 1
Link to comment
Share on other sites

ok, it works even on 2.06, on standstill it is allways 40, but while on freespin, if it was set to 70 from KS app, it is 70

you helped two apps get better, think of it this way :)

 

Edited by enaon
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

15 minutes ago, enaon said:

ok, it works even on 2.06, on standstill it is allways 40, but while on freespin, if it was set to 70 from KS app, it is 70

you helped two apps get better, think of it this way :)

 

Wow! That is fantastic. Thanks so much for figuring this out. 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...