kettler usb support

1,209 views
Skip to first unread message

Joe Kearney

unread,
Nov 17, 2016, 4:31:34 PM11/17/16
to golden-cheetah-users
Hi,

I've been unable to get 3.4RC2 to connect via USB to my Kettler Racer 9. I had hoped that the new serial support would work for this.

Should I expect it to work, or is the implementation so far only for other Kettler devices? Are there specific USB drivers I need that I've not found yet? I've tried on OSX Sierra and on a Windows 10 VM.

I'd be delighted to hear success stories from others!

Thanks,
Joe

stsc...@gmail.com

unread,
Nov 17, 2016, 5:11:06 PM11/17/16
to golden-cheetah-users
Hey,

I'm not the author of the original Kettler support, but from the code it seems to be meant to work for a range of Kettler trainers. However, it does need the serial port which might require drivers.
Could you check if an extra serial port shows up when you connect your trainer?

Greetings,
Stefan

Joe Kearney

unread,
Nov 17, 2016, 6:52:58 PM11/17/16
to golden-cheetah-users
Hi,

Yes there's a new device called /dev/cu.SLAB_USBtoUART that appears with the device. I have the drivers from here.

I've actually had more luck so far with the bluetooth connector, which appears as /dev/cu.KETTLER0A7527-SerialPort and seems to respond to the commands listed here (another project with some of the protocol defined) including the "ST" status command that GC uses to get status from the device.

I can't get the USB/UART device to respond to any of that, or indeed anything I send it at all. So maybe there is some other driver that I need -- I'll carry on debugging.

I'm now wondering if it would be easy to change the Kettler selector also to look at serial ports that come from bluetooth connections but continue to use the KettlerConnection parsing. I've not had any luck getting GC to build locally yet so haven't been able to test it myself. Does that sound like something that would be easy and straightforward?!

Thanks,
Joe

Mark Liversedge

unread,
Nov 18, 2016, 3:18:53 AM11/18/16
to golden-cheetah-users, Erik Botö
On Thursday, 17 November 2016 23:52:58 UTC, Joe Kearney wrote:
I'm now wondering if it would be easy to change the Kettler selector also to look at serial ports that come from bluetooth connections but continue to use the KettlerConnection parsing. I've not had any luck getting GC to build locally yet so haven't been able to test it myself. Does that sound like something that would be easy and straightforward?!

I've cc'ed the author of the Kettler support to get some insight.

Mark 

Erik Botö

unread,
Nov 18, 2016, 4:19:18 AM11/18/16
to golden-cheetah-users
Hi,

I'm the author of the Kettler support, although I have never had access to any bike. I got contacted by one who had one, and the handling was close enough to the Monark bikes which I do have access to so I basically just wrote something that should work and sent test versions to the guy with the bike. So it's hard for me to do any improvements/changes since I can't test anything.

See additional comment inline below.


On Friday, November 18, 2016 at 12:52:58 AM UTC+1, Joe Kearney wrote:
Hi,

Yes there's a new device called /dev/cu.SLAB_USBtoUART that appears with the device. I have the drivers from here.

I've actually had more luck so far with the bluetooth connector, which appears as /dev/cu.KETTLER0A7527-SerialPort and seems to respond to the commands listed here (another project with some of the protocol defined) including the "ST" status command that GC uses to get status from the device.


Taking a quick look it seems like all that has to be done for non-windows platforms is to extend the regexp in find_devices() in https://github.com/GoldenCheetah/GoldenCheetah/blob/master/src/FileIO/Serial.cpp to also include /dev/cu.KETTLER*. 

On Windows using bluetooth, does it show up as a regular COMx? 
 
You say that you try using "ST", but GC actually sends "st". I actually got a mail this week from a guy with a Kettler from 2013 with USB-port, he says his bike only replies to command in upper case and not lower case. Could you try if both works on your bike, or just one of them?

I don't have a good build setup for building Mac versions, but I can help you out with test versions for Windows. E.g. a version that uses upper case if that seems to be the problem.

Cheers,
Erik

Joe Kearney

unread,
Nov 18, 2016, 4:39:42 AM11/18/16
to Erik Botö, golden-cheetah-users
Hi Erik,

Thanks for this, sounds good. Understood that it's tricky to debug without access to everything.
  • That serial-port-finding regex is the bit I couldn't find. Yes I think adding "/dev/cu.KETTLER.*" would likely help with that. I see /dev/SLAB_USBtoUART there as well, though on Mac I see a cu/tty prefix for that as well, which would also require a change to the regex. I'll check that again later.
  • On Windows (10, in a virtualbox on mac) the USB connection shows up as COM3 -- GC shows COM3 in the dropdown but otherwise finds nothing in that search dialog. I don't think it's easy to pass a bluetooth connection through virtualbox to the guest OS.
  • Regarding upper/lower case I'll have to try that again later too. It definitely responded to upper case, I'll test whether it responds to lower.
  • I'll continue trying to get the build working on Mac, at which point I would hope to be more helpful! Do you know anyone who's successfully got GC building on Sierra? I keep hitting xcode and qmake problems, some of which have workarounds documented in stackoverflow etc.
One more thing that I tried to hack yesterday -- after setting up GC with the serial port it found (but through which it couldn't communicate with the kettler), I realised that the port address is stored in text in ~/Library/GoldenCheetah/configglobal-trainmode.ini. So I tried changing that in place to the Bluetooth one. It still couldn't read anything in train (but that could be explained by the case thing) and then crashed the app on exit from the training session. I guess that would be trying to close the bluetooth socket as if it were a usb socket. I'll get a proper stack trace next time, in case that's useful.

Thanks,
Joe

--
_______________________________________________
Golden-Cheetah-Users mailing list
golden-che...@googlegroups.com
http://groups.google.com/group/golden-cheetah-users?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "golden-cheetah-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golden-cheetah-users/Gg6TXXM2_c8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golden-cheetah-u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Joe Kearney

unread,
Nov 19, 2016, 6:02:44 AM11/19/16
to Joe Kearney, Erik Botö, golden-cheetah-users
Hi Erik,

Confirmed a couple of things with the Kettler Racer 9:
  • it does not respond to lower case st, only upper case ST
  • the USB serial device that appears is called /dev/cu.SLAB_USBtoUART (not /dev/SLAB_USBtoUART as documented next to that regex)
  • GC 3.4RC2 on Mac doesn't find any of these COM ports (nothing in the drop down for BT or USB)
  • GC on Windows 10 does find a COM3 in that dropdown but can't do anything with it
I've put together a pull request addressing the commands sent and the documentation of the regex: https://github.com/GoldenCheetah/GoldenCheetah/pull/2191

I haven't yet had another chance to try to get the build working on Mac. If it's easy for you to put together a Windows build of this then I can test against that quickly (at least for USB not Bluetooth).

Thanks,
Joe

Erik Botö

unread,
Nov 19, 2016, 6:45:06 AM11/19/16
to Joe Kearney, golden-cheetah-users
Perfect!

I'll try to get a Windows build for you tonight.

Cheers,
Erik

alberto crespi

unread,
Jan 20, 2017, 4:57:24 PM1/20/17
to golden-cheetah-users
hello

Today Im connect racer9 at com3 in win10 but ...nothing...

alberto crespi

unread,
Feb 18, 2017, 5:42:49 AM2/18/17
to golden-cheetah-users
hi
com3 sniffing on kettler racer9
this is the result

000054: 0
KR

000055: KR
0

000056: 0
KR

000057: KR
0

000058: 0
KR

000059: KR
0

000060: 0
RS

000061: RS
ACK

000062: ACK
CM

000063: CM
ACK

000064: ACK
PW 25

000065: PW 25
000    048    081    000    025    0000    00:01    030

000066: 000    048    081    000    025    0000    00:01    030
ES1

000067: ES1
00    0    0    125    000    048    081    000    025    0000    00:01    030    01

000068: 00    0    0    125    000    048    081    000    025    0000    00:01    030    01
KR

000069: KR
0

000070: 0
PW 25

000071: PW 25
000    050    103    000    025    0000    00:02    025

000072: 000    050    103    000    025    0000    00:02    025
ES1

000073: ES1
00    0    0    108    000    050    103    000    025    0000    00:02    025    01

000074: 00    0    0    108    000    050    103    000    025    0000    00:02    025    01
KR

000075: KR
0

000076: 0
KR

000077: KR
0

000078: 0
KR

000079: KR
0

000080: 0
PW 25

000081: PW 25
000    056    103    000    025    0000    00:02    025

000082: 000    056    103    000    025    0000    00:02    025
ES1

000083: ES1
00    0    0    088    000    058    103    000    025    0000    00:02    025    01

000084: 00    0    0    088    000    058    103    000    025    0000    00:02    025    01
KR

000085: KR
0

000086: 0
KR

000087: KR
0

000088: 0
PW 40

000089: PW 40
000    062    126    000    040    0000    00:03    025

000090: 000    062    126    000    040    0000    00:03    025
ES1

000091: ES1
00    0    0    080    000    063    126    000    040    0000    00:03    025    01

000092: 00    0    0    080    000    063    126    000    040    0000    00:03    025    01
KR

000093: KR
0

000094: 0
KR

000095: KR
0

000096: 0
KR

000097: KR
0

000098: 0
PW 40

000099: PW 40
000    067    126    000    040    0000    00:03    040

000100: 000    067    126    000    040    0000    00:03    040
ES1

000101: ES1
00    0    0    111    000    068    126    000    040    0000    00:03    040    01

000102: 00    0    0    111    000    068    126    000    040    0000    00:03    040    01
KR

000103: KR
0

000104: 0
KR

000105: KR
0

000106: 0
PW 40

000107: PW 40
000    071    146    000    040    0000    00:04    040

000108: 000    071    146    000    040    0000    00:04    040
ES1

000109: ES1
00    0    0    107    000    071    146    000    040    0000    00:04    040    01

000110: 00    0    0    107    000    071    146    000    040    0000    00:04    040    01
KR

000111: KR
0

000112: 0
KR

000113: KR
0

000114: 0
KR

000115: KR
0

000116: 0
PW 40

000117: PW 40
000    075    146    000    040    0000    00:04    040

000118: 000    075    146    000    040    0000    00:04    040
ES1

000119: ES1
00    0    0    101    000    076    146    000    040    0000    00:04    040    01

000120: 00    0    0    101    000    076    146    000    040    0000    00:04    040    01
KR

000121: KR
0

000122: 0
KR

000123: KR
0

000124: 0
PW 40

000125: PW 40
000    079    165    000    040    0000    00:05    040

000126: 000    079    165    000    040    0000    00:05    040
ES1

000127: ES1
00    0    0    094    000    081    165    000    040    0000    00:05    040    01

000128: 00    0    0    094    000    081    165    000    040    0000    00:05    040    01
KR

000129: KR
0

000130: 0

Volker Bretschneider

unread,
Feb 18, 2017, 1:53:48 PM2/18/17
to golden-cheetah-users, erik...@gmail.com
I have a Windows 10 PC connected to Kettler ergo Race with a native USB connector, so i could offer a test environment to check whether the train mode works correctly. You could try connecting via TeamViewer for example.
I have spent a lot of time to compile GoldenCheetah from source but i was not competent enough to get that working, so i would need a compiled version of GoldenCheetah first.

I would like very much to get GoldenCheetah to work with the Ergo Race so if i can be of assistance please get back to me.

Regards,
Volker
To unsubscribe from this group and all its topics, send an email to golden-cheetah-users+unsub...@googlegroups.com.

alberto crespi

unread,
Feb 21, 2017, 4:33:02 AM2/21/17
to golden-cheetah-users, ma...@joekearney.co.uk

com3 57600 8N1 no-handshake

ID
CA01S01120
VE
01120
RS
ACK
CM
ACK
PW50
000    000    000    000    050    0000    00:00    005

work!!!
To unsubscribe from this group and all its topics, send an email to golden-cheetah-users+unsub...@googlegroups.com.

alberto crespi

unread,
Mar 11, 2017, 7:49:19 AM3/11/17
to golden-cheetah-users, ma...@joekearney.co.uk
hallo

I recompiled GC with kettler com speed at 57600 baud
everything is working well on a kettler racer9


Il giorno sabato 19 novembre 2016 12:45:06 UTC+1, Erik Botö ha scritto:
To unsubscribe from this group and all its topics, send an email to golden-cheetah-users+unsub...@googlegroups.com.

r...@copas-group.com

unread,
Apr 26, 2017, 1:50:23 AM4/26/17
to golden-cheetah-users, ma...@joekearney.co.uk
Hello,
I tried to connect the newest development build with my Kettler Racer S LTD
I'm running Win 7, the Kettler shows  up under COM8 as Seriell Connection "SPP"

The connection was not found automatically so I selected COM8

When I started a Training the Connection was established but neither the Kettler got commands (Watt) from GC nor did GC show any data from Kettler.

I tried to Setup a Connection with Watts, BPM, Speed and Heart rate and without and the same behavior.
Can I trace the details anywhere?

Thanks for all the good work!!!
Ruediger

Stijn VR

unread,
May 9, 2017, 11:47:52 AM5/9/17
to golden-cheetah-users, ma...@joekearney.co.uk
Hi,

I have a 'Kettler ergorace I' with USB connection.
I have installed GC version 3.4 that has Kettler Ergo Bike Support.
I have set the following com settings:
Bits/s: 57600 - Data bits: 8 - Parity: None - Stop bits: 1 - Flow control: None

When I connect, the device 'Silicon Labs CP210x USB to UART Bridge (COM3)' become visible.
When I search for the device in GC it's not detected automatically. I can select COM3.
When I started a Training the Connection shows established but neither the Kettler got commands (Watt) from GC nor did GC show any data from Kettler.
The ergorace also doesn't see an USB connection, what is normally mentioned on de ergorace screen.

When I use the program 'Virtual Training', the bike is recognized and I see an USB sign on the ergorace.
It seems that the program first send a 'reset' and then the USB is connected.


Can you advice what COM settings should be set?
What commands should be send to GC or the ergorace so the ergorace recognize that an USB connection is setup?
Can I enable logging?

alberto crespi

unread,
May 10, 2017, 3:26:56 PM5/10/17
to golden-cheetah-users, ma...@joekearney.co.uk
hallo

goldencheetah set com port at 9600 baud
You have to recompile and change in

KettlerConnection.cpp
serialPort->setBaudRate(QSerialPort::Baud9600);
with
serialPort->setBaudRate(QSerialPort::Baud57600);

Stijn Van Renterghem

unread,
May 11, 2017, 9:13:37 AM5/11/17
to alberto crespi, golden-cheetah-users, ma...@joekearney.co.uk

Hi,

 

Thank you for the reply.

What needs to be recompiled? The whole application?

Are there Docker images or other images available with all necessary tools installed?

 

Is there a possibility that this parameter is made variable in the option settings ?

 

 

 

 

Regards,

Stijn

--

_______________________________________________
Golden-Cheetah-Users mailing list
golden-che...@googlegroups.com
http://groups.google.com/group/golden-cheetah-users?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "golden-cheetah-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golden-cheetah-users/Gg6TXXM2_c8/unsubscribe.

To unsubscribe from this group and all its topics, send an email to golden-cheetah-u...@googlegroups.com.

alberto crespi

unread,
May 11, 2017, 5:25:19 PM5/11/17
to golden-cheetah-users, eticre...@gmail.com, ma...@joekearney.co.uk
recompile all
try this fork of gc 3.4
https://github.com/eticre/GoldenCheetah

compile is ok on archlinux

To unsubscribe from this group and all its topics, send an email to golden-cheetah-users+unsub...@googlegroups.com.

Mark Liversedge

unread,
May 12, 2017, 4:41:03 AM5/12/17
to golden-cheetah-users, eticre...@gmail.com, ma...@joekearney.co.uk
On Thursday, 11 May 2017 22:25:19 UTC+1, alberto crespi wrote:
recompile all
try this fork of gc 3.4
https://github.com/eticre/GoldenCheetah

I see you added support for the Kettler Racer, is it possible to raise a PR for this?
(You will need to undo the reformatting of existing code)

Mark 

Stijn VR

unread,
Jun 9, 2017, 8:11:32 AM6/9/17
to golden-cheetah-users, ma...@joekearney.co.uk
Will there be a dropdownbox/text-filed in the next release to choose the BauteRate?
How can this be requested?
Reply all
Reply to author
Forward
0 new messages