Skip to content
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

Support for Joroto X4S and Wahoo TICKR #2903

Open
b202i opened this issue Dec 12, 2024 · 32 comments
Open

Support for Joroto X4S and Wahoo TICKR #2903

b202i opened this issue Dec 12, 2024 · 32 comments
Assignees
Labels
bug Something isn't working

Comments

@b202i
Copy link

b202i commented Dec 12, 2024

Describe the bug
Im running QZ version 2.18.9 beta on an Android Pixel 6 Android 14 phone, with a Joroto X4S bluetooth bike and Wahoo TICKR heart band. When configured with all defaults, only the text startup screen is shown, bike ftms is disabled. It should automatically find and select the bike, find and select the heart rate monitor and dynamically display riding telemetry, but it shows the procedural startup screen.

To Reproduce
Steps to reproduce the behavior:

  1. Clear data from QZ app, clear app from memory
  2. Put on heart strap, batteries are fresh, red-blue lights flashing
  3. Start peddling the bike, hit mode to activate bike display, metrics are shown
  4. Start QZ, complete the startup survey:
  5. Enter age, weight..
  6. Select bike from the list
  7. Select the TICKR from the list
  8. Reach startup text screen

image

I’ve also run QZ on a Samsung S10 Ultra with the same result.

Expected behavior
should automatically find and select the bike, find and select the heart rate monitor and dynamically display riding telemetry.

Screenshots
Using settings, if I manually select the heart rate monitor and bike, I can get the tile screen showing an active heart rate, and the JORORO bike found, but all other numbers are always zero.
image

Desktop (please complete the following information):
n/a no desktop in this configuration

Smartphone (please complete the following information):

  • Device: Google Pixel 6
  • OS: Android
  • Version: 14

Append a debug log
debug-Wed_Dec_11_17_29_47_2024.log

Additional context
From the log file debug-Wed_Dec_11_17_29_47_2024.log

  • Wed Dec 11 17:29:48 2024 1733956188183 Debug: …/src/main.cpp int main(int, char **) “heart_rate_belt_name” QVariant(QString, “TICKR C0C9”)
  • 74 Wed Dec 11 17:29:48 2024 1733956188074 Debug: …/src/main.cpp int main(int, char **) “filter_device” QVariant(QString, “JOROTO-3132”)
  • 857 Wed Dec 11 17:29:51 2024 1733956191440 Debug: Device found: “JOROTO-3132” “E2:00:00:00:0C:3C” isLeScanResult: true Manufacturer data size: 0
  • 911 Wed Dec 11 17:29:51 2024 1733956191641 Debug: …/src/devices/bluetooth.cpp void bluetooth::debug(const QString &) “deviceUpdated JOROTO-3132 \u0001”
  • 986, 988, 1008, 1016, 1059, 1052 (many more, 1 sec apart)
  • 1178 Wed Dec 11 17:30:00 2024 1733956200900 Debug: Device found: “JOROTO-3132” “E2:00:00:00:0C:3C” isLeScanResult: true Manufacturer data size: 0
  • 680 Wed Dec 11 17:29:50 2024 1733956190527 Warning: qrc:/ChartFooterInnerJS.qml qrc:/ChartFooterInnerJS.qml:17: ReferenceError: rootItem is not defined
  • 681 Wed Dec 11 17:29:50 2024 1733956190530 Warning: qrc:/HomeForm.ui.qml qrc:/HomeForm.ui.qml:61: ReferenceError: rootItem is not defined
  • 828 Wed Dec 11 17:29:51 2024 1733956191219 Warning: qrc:/Home.qml qrc:/Home.qml:158: ReferenceError: appModel is not defined
@b202i b202i added the bug Something isn't working label Dec 12, 2024
@cagnulein
Copy link
Owner

cagnulein commented Dec 12, 2024 via email

@cagnulein
Copy link
Owner

good news @b202i the problem is that i didn't add this specific model, but i can add it! Install the free app nrfconnect and show me a screenshot of the bike on the app and share it! Thanks!

@b202i
Copy link
Author

b202i commented Dec 14, 2024

No problem. Not sure what to capture, so here are a few. I can dig down more if necessary.
Screenshot_20241213-193205
Screenshot_20241213-193224
Screenshot_20241213-193234
Screenshot_20241213-193243
Screenshot_20241213-193305

@cagnulein
Copy link
Owner

Ok perfect, you can set the bike under the accessories, cadence sensor, and also enable the cadence sensor as a bike setting
Let me know!

@b202i
Copy link
Author

b202i commented Dec 14, 2024

Setting cadence under accessories worked, it shows on the tile display. All other tile values are zero, including heart-rate. I am unable to find bike under the accessories. Under Bike Options, I continue to leave FTMS Bike as Disabled.

@cagnulein
Copy link
Owner

did you set the heart rate under heart rate belt name setting?
if so could you please show me a fresh debug log?

@b202i
Copy link
Author

b202i commented Dec 14, 2024

@cagnulein
Copy link
Owner

The settings are right but the issue is that the heart rate belt is not advertising itself. This means that it's not awake or it is connected somewhere else. Try to unpair it from the phone

@b202i
Copy link
Author

b202i commented Dec 15, 2024

With the Wahoo app I can confirm the TICKR C0C9 connects and is the latest firmware. Even though the Wahoo app is picking up a heartbeat, the TICKR C0C9 does not appear as a bluetooth connected device. The TICKR is not visible when pairing new devices. Also of note, the Wahoo app is also able connect the JOROTO bike cadence and speed, although the speed is incorrect, 6 MPH should read about 18 MPH. It does not appear to receive power/watts from the bike.

From the startup QZ page, I can see it cycling through bluetooth devices, including "TICKR C0C9 found". The app can see the device but does not always select it for some reason. I just tried QC 10 times and it did connect to the TICKR a single time, did not connect the other 9. I cleared the app from memory to have a clean start each time. The single time it did connect, I had heart-rate and cadence, but no speed or power.

@cagnulein
Copy link
Owner

cagnulein commented Dec 15, 2024 via email

@b202i
Copy link
Author

b202i commented Dec 15, 2024

I tried nRF Connect several times and it connects to the TICKR and Joroto each time. In Qz I don't always see TICKR in the top label. There is a Toast message that says something like, Bluetooth name is too long. It might not be related to this issue.

nRF Connect-tickr

@cagnulein
Copy link
Owner

In the log i don't see the device advertising. Do you mind share other logs from qz of your tries?

@b202i
Copy link
Author

b202i commented Dec 16, 2024

Here you go. Thanks again for your help.
debug-Sun_Dec_15_13_19_30_2024.log
debug-Wed_Dec_11_17_29_47_2024.log

@cagnulein
Copy link
Owner

I can see that once it was connected to it

hrm_lastdevice_address" QVariant(QString, "E9:74:C5:7B:30:A3")

But I can't see advertising anymore

Just to be sure, on nrfconnect, if you clear the cache it always appears?

I can check if I can use the Mac address to connect to it in case but it's a very non standard behavior from a Bluetooth device

@b202i
Copy link
Author

b202i commented Dec 16, 2024

I cleared the cash on nrfconnect, and TICKR C0C9 appears after just a couple of seconds. Did it twice, same result each time. The Joroto also shows my heart rate. Can more than one device connect to the TICKR at the same time? As I type this, I am not at the bike but at my desk some 30 feet away. I'll take the batteries out of the bike and report back.

@cagnulein
Copy link
Owner

once the tickr is connected to a device it's stopping for sure to advertise itself. so nope, it shouldn't be connected to different devices.
the fact that you see on nrfconnect everytime it leaves me very stunned. In the QZ log i can see it only once. Unfortunately if it doesn't advertise itself in QZ I can't connect to it. Is your only HR device?

@cagnulein
Copy link
Owner

in nrfconnect don't press connect to it, otherwise you are hiding it from qz

@b202i
Copy link
Author

b202i commented Dec 16, 2024

Used a second HR monitor, TICKR RDF2, it has older firmware. Now the Joroto computer does not show a HR. I still get hung up on the instruction page. Devices TICKR 3DF2 and JOROTO 3132 appear in the header as found. While sitting on the bike nrfconnect shows both devices after a few seconds.

Log file and nrfconnect snap attached.
debug-Mon_Dec_16_11_31_31_2024.log
nrf-tickr-3DF2

@cagnulein
Copy link
Owner

You have now to set the joroto as a cadence sensor and also enable the cadence sensor as a bike setting

Let me know

@b202i
Copy link
Author

b202i commented Dec 18, 2024

Under Setting-Accessories-Cadence Sensor Options, I was able to select the Joroto but it only worked one time, now the device never shows up. Next, when you change anything in settings the dialog Settings Changed offers to restart the app. One time when I said Yes, if flashed the tile screen while exiting, showing it was full of metrics and had been working. Although when I restarted, it was still no-go. One other thing, I noticed the Joroto computer now displays my HR, using the second HR band. Previously it showed zero for the HR, but now it is active. I think it is finding and attaching to the HR monitor, which prevents QZ from attaching to the HR monitor.

One idea is to buy the Wahoo Cadence sensor and the Wahoo Speed sensor and upgrade the Joroto. I would take the batteries of the Joroto computer and ignore it. Is that a good path forward?

@cagnulein
Copy link
Owner

Under Setting-Accessories-Cadence Sensor Options, I was able to select the Joroto but it only worked one time, now the device never shows up. Next, when you change anything in settings the dialog Settings Changed offers to restart the app. One time when I said Yes, if flashed the tile screen while exiting, showing it was full of metrics and had been working. Although when I restarted, it was still no-go.

Show me a fresh log now, so I can understand which is your issue. It must work in this way

@b202i
Copy link
Author

b202i commented Dec 18, 2024

Latest log and settings follow. That is a lot of settings!
debug-Wed_Dec_18_10_05_20_2024.log
settings_default_20241218100642.qzs.txt

@b202i
Copy link
Author

b202i commented Dec 18, 2024

If you want to modify the settings, I can import them back into the app, or just tell me what to change.

@cagnulein
Copy link
Owner

cagnulein commented Dec 18, 2024 via email

@b202i
Copy link
Author

b202i commented Dec 19, 2024

Success! ..Um, now I am not sure what other parameters I had changed, there were quite a few restarts along the way. I have the working parameters. I could do a reset, export default parameters, save each as a .txt file, and do a diff to see what had changed. I also need to test with Zwift.

success-tiles

@cagnulein
Copy link
Owner

great! let me know!

@b202i
Copy link
Author

b202i commented Dec 22, 2024

I'm not sure how it should work. I've had a couple of rides now to learn that the resistance is not being used. The resistance tile remains unchanged when making adjustments. Cadence and heart-rate seem to work perfectly in QZ and Zwift. (ps at end of this post)

Here are most of the diff, lines with '>' are non-defaults

< watt_ignore_builtin=true

watt_ignore_builtin=false
< filter_device=Disabled
filter_device=JOROTO-3132
< heart_rate_belt_name=Disabled
heart_rate_belt_name=TICKR 3DF2
hrm_lastdevice_address=F8:A9:B5:26:F7:52
hrm_lastdevice_name=TICKR 3DF2
< bike_resistance_offset=4
bike_resistance_offset=18
bluetooth_lastdevice_address=E2:00:00:00:0C:3C
bluetooth_lastdevice_name=JOROTO-3132
< cadence_sensor_as_bike=false
< cadence_sensor_name=Disabled
cadence_sensor_as_bike=true
cadence_sensor_name=JOROTO-3132

settings-diff.txt

PS. I reset the app to defaults and am not able to get the heart-rate working. I'll report back after more tinkering.

@cagnulein
Copy link
Owner

cagnulein commented Dec 22, 2024 via email

@b202i
Copy link
Author

b202i commented Dec 22, 2024

The bike has manual resistance control. There is a knob you turn that changes the resistance between 0 and 100.

@cagnulein
Copy link
Owner

cagnulein commented Dec 23, 2024 via email

@b202i
Copy link
Author

b202i commented Dec 27, 2024

Thanks Roberto, I am sure it would help but there would still be a good bit of lag. In Zwift I'm trying to replicate real group riding where I would shift to the big chainring, go anaerobic for a bit and jump across the gap to the next group. There seems to be a very loose connection between cadence and bike speed. Even without resistance delta (or changing gears) if I were to jump on it and change cadence from 60 to 120 rpm I would expect the speed to double. Getting the cadence vs speed relationship is likely possible, but using resistance in place of gear shifting seems to be not possible with this bike.

@cagnulein
Copy link
Owner

Yes because the power it's coming from your heart rate in 90% and cadence for 10% so the lag comes from the fact that the hr needs some tenth of seconds to raise.

On the manufacturer app, is it able to read power or even resistance value?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants