E316 Fluid Rower

749 views
Skip to first unread message

Adam C

unread,
Nov 10, 2016, 5:08:07 PM11/10/16
to golden-cheetah-users
Hi All

I realise GC is not designed for rowers but is there any chance this could be connected up to use workouts in Training mode, if not, maybe just importing the data ?
It is made by First Degree Fitness.
It connects via USB.

I have a Tacx trainer that I use GC for but have to switch to other software when using the rower.

Also, is there a way to build multiple layouts and easily switch between them so I can select either a standard training layout or one that follows video ?

Thanks
Adam

stsc...@gmail.com

unread,
Nov 10, 2016, 8:29:57 PM11/10/16
to golden-cheetah-users
Hey Adam,

the difficulty is always in having a compatible device available to test the device. How is your programming?
From looking at their "Fluid Coach" software, the rowing machine sends updates during a workout through a very simple text based protocol on a USB virtual serial port at 9600 Baud.

There is already support for serial port based Kettler devices in GoldenCheetah: https://github.com/GoldenCheetah/GoldenCheetah/tree/master/src/Train
The protocol is different, but that could be a blueprint for an implementation.

Regards,
Stefan

Adam C

unread,
Nov 13, 2016, 4:39:38 PM11/13/16
to golden-cheetah-users
Hi Stefan

I'll look into the protocol, programming should be possible as long as I have the right details.
I looked into the Ketler files you linked to, but one question,
Where do these files go in order to utilise them, there doesn't seem to be too much info on the basics of this software ?

Cheers
Adam

Mark Liversedge

unread,
Nov 13, 2016, 5:27:36 PM11/13/16
to golden-cheetah-users
If you have an example file I can see if it simple enough to implement an importer.

Adam C

unread,
Nov 13, 2016, 6:42:51 PM11/13/16
to golden-cheetah-users
Hi Mark,

I attached a couple of examples.
They can be opend in notepad or what ever or viewed in the FDF software which is available here: https://firstdegreefitness.zendesk.com/hc/en-us/articles/228299348-Fluid-Coach-Version-1-3
Ultimately I want to try and get it connected up as the FDF software has no way of building / using any sort of workouts or interval training.
The onboard IPM has the ability but then nothing can be saved for later viewing !

I will see if I can 'sniff' the USB port and see what it gives, maybe Stefans links will help - I know NetAthlon worked when I tested it while on the demo version....

Cheers
Adam
FDFSavedSessions.zip

Mark Liversedge

unread,
Nov 14, 2016, 5:29:31 AM11/14/16
to golden-cheetah-users
Stinky. Will look in v4, multiple files with no headers. Quality !

Adam C

unread,
Nov 14, 2016, 6:29:48 AM11/14/16
to golden-cheetah-users
I know, basic isnt it..
The heartrate is an optional fitment to the main board but why it can't write to the same file is anyones guess.

The summary file wouldn't be needed anyhow.

Do you think a connection would be possible to collect live data ?
The heartrate could be taken from a GC compatible ANT device I guess.

Cheers
Adam

Mark Liversedge

unread,
Nov 14, 2016, 6:49:34 AM11/14/16
to golden-cheetah-users
A connection should be possible if someone can supply the protocol docs.
As ever, this is usually the hard part.

Mark

stsc...@gmail.com

unread,
Nov 15, 2016, 7:43:55 AM11/15/16
to golden-cheetah-users
Hey,

I've looked at the Fluid Coach software and the format is as follows:

HeartRateData.fdf: <Time>,<Heart Rate>
Time is in seconds since session start, Heart Rate in bpm

RowerSessionFile.fdf: <Time>,<Distance>,<Speed>,<SPM>,<Power>,<Cals>
Time is in seconds since session start,
Distance is is in metres,
Speed is seconds/500m,
SPM is strokes per minute,
Power is in Watts,
Cals is instantaneous calories/hour

The summary has documentation included.

Regards,
Stefan

Mark Liversedge

unread,
Nov 15, 2016, 8:45:48 AM11/15/16
to golden-cheetah-users
Yeah, multiple formats with same extension, and no headers.
Will add in v4, but its too late for 3.4 as its not trivial enough to add before we release this weekend.

CHEERS

Mark

Adam C

unread,
Nov 15, 2016, 6:20:58 PM11/15/16
to golden-cheetah-users
Ok, I had a play around with the rower and some comport software, turns out it is very simple to get the data from the rower, probably easier than trying to import the log files...

9600 baud and standard settings as Stefan said.
Standard FTDI usb comport

Send Char: / Return String:

C .FDF IPM... Connect (this is replied if the IPM was off) - First Degree Fitness Interacvtive Performance Monitoring
C C2135 Connect (this is replied if the IPM was already awake) - firmware version.
T T5 I think this is the Rower display type ?
V V2135014 Another firmware version no.
O O871 72 Odometer reading, km / hrs, that seems right for my rower but the ipm software shows 0.871 km 72 mins !
L L7 Manual resistance level you have the rower set at (1-16), used in the power / calories calculation
H H000 Heart rate would read H076 for instance if 76bpm
R R Resets (zeroes) the IPM display and therefore the data sent, distance, time, calories etc
D D Disconnect - end the row session and disconnect

C Has to be sent to waken the IPM, then again to start continuous output of the row performance data / heart rate

The rowing software sends out:
C T V O L H R R R

C is continuously sent until the IPM is awake and a firmware version is replied, so it could be:
C C C T V O L H R R R

Wht 3 resets I don't know ?
So if the first C replies .FDF IPM... then another C needs sending until the C replies C2135 or anything other than .FDF IPM... or C blank

Here is some data that is sent (Heart belt was on):

.FDF IPM...
C2135
H065
H066
H068
H069
H071
H074
H079
H084
H085
H081
H079
A5000000000000415000021037207
H080
H081
H080
A5000040000900408014023037907
H106
A5000060001500358019026038907
H110
A5000100001500528000000000007
H087

I'll work out exactly what number corresponds to what value tomoz.

If the heart belt reading is 000 (H000) then it is not sent, only the rowing data is sent.
Sometimes it takes a few secs for the heart belt to work so it would need to have a check box 'yes I have an FDF belt' or 'no I use standard Ant+ belt'

This is from a different FDF rowing session log to the above:

#FDF Rower Session Data File v1.0
0,2,229,54,29,400
2,9,184,26,56,493
4,15,180,26,60,506
6,21,186,30,54,486
8,26,185,28,55,489
10,31,194,33,48,465
12,37,188,28,53,482
14,42,194,33,48,465
16,47,188,28,53,482
18,52,191,33,50,472
20,57,190,31,51,476
22,63,186,29,54,486
24,67,191,34,50,472
26,73,189,30,52,479

And the summary file:

#FDF Rower Session Summary File v1.0
#11/15/2016 20:36:42# ' Session Date & Time
26,73,3,14,7,5 ' Session Duration (s), Distance (m), Totals Cals, #Strokes, Level, Type
180,229,178.08 ' Speed : Min, Max, Avg
26,54,32.31 ' SPM : Min, Max, Avg
29,60,54.66,1.42 ' Power : Min, Max, Avg, Total Energy (kJ)
400,506,415.38,3 ' Cals/hr : Min, Max, Avg, Total
0,104,93 ' Heart Rate : Min, Max, Avg

Cheers
Adam


Adam C

unread,
Nov 16, 2016, 3:28:52 PM11/16/16
to golden-cheetah-users
So in short, 9600 baud and keep sending ascii char 'C' until you get a reply 'C' back
You can ask for various info to populate chart boxes by sending other ascii char shown in the last post

Once connected and 'C' has been replied back, if heart rate motor is connected and working then the heartrate value will be sent out continuously
After each rowing stoke, that particular stroke data will be sent out.

Here is the some sample data (heart rate not connected):

FDF IPM...
C2135
A5000000000000245000078056809
A5000010001000219022129074409
A5000030001500231035101064809
A5000050002300227028111068209
A5000070002900233033097063409
A5000090003500230029103065409
A5000110004200232031100064409
A5000130004800233030097063409
A5000150005500230029103065409
A5000170006100232032099064109
A5000190006800232030099064109
A5000210007400236032092061709
A5000230008000231031101064809
A5000250008600235034094062409
A5000270009200232031099064109

Lets take the 2nd line:

A5 00001 00010 002 19 022 129 0744 09

A5 not sure why the A but 5 means the device type, mine is a 16 level rower (see below)
00001 Row duration (secs)
00010 Row Distance (meters)
002    500m time (minutes)
19      500m time (secs) so it means 2:19 or 139s
022    Strokes / minute
129    Power (watts)
0744  Calories / hr
09      Resistance level 

Device types:

1 ‐ UBE Upper Body Ergometer, UB‐E820
2 ‐ UBE Rehab (Rehab labeled) , UB‐E920
3 ‐ CXT recumbent cycle XT‐E720
4 ‐ 20 Level Rower
5 ‐ 16 Level Rower
6 ‐ N/A
7 ‐ 4 Level Rower

Is any other info required ?

Cheers
Adam

Adam C

unread,
Jan 24, 2017, 3:02:15 PM1/24/17
to golden-cheetah-users
For now, is there a current Rowing csv file format that I could convert the FDF files to myself so as so be able to import my activity data into Golden Cheetah ?

The data from the rower will give:

Stroke No
Time (s)
Distance (m)
Pace (s/500m)
SPM
Heart Rate
Power (w)
Cals / hr

And from that obviously averages and total Cals

Cheers
Adam
Reply all
Reply to author
Forward
0 new messages