Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

You are here: Forum Home → ANT+ Forums → ANT+ Bike Power → Thread

   

Bike Trainer (FE-C)

Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Just trying the latest SimulANT+

Wondering if there is any documentation on the FE-C Profile so I can start playing around and sending message to my trainer to try and control the resistance, etc.

Thanks in advance!
Max      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

RankRankRankRank

Total Posts: 156

Joined 2013-01-07

PM

Hi Max,

The FE-C use case was added in version 4.0 of the Fitness Equipment device profile. (http://www.thisisant.com/resources/fitness-equipment-device/)

     
Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

usamak - 16 April 2015 10:54 AM
Hi Max,

The FE-C use case was added in version 4.0 of the Fitness Equipment device profile. (http://www.thisisant.com/resources/fitness-equipment-device/)



Thanks for the reply!

Any chance to get a list of the Trainer supported by FE-C?
I checked the ANT+ directory but could not find any known trainer listed.
For example, is the Kickr using this message protocol?
thank you!      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Hey guys,

I'm trying to run a FE-C Trainer in SimulAnt 1.7 but there is no script available to choose from,
see here :
https://www.dropbox.com/s/t8qcmft6b8c5em9/Simulant17.png?dl=0

Would really like to implement FE-C support inside my software, still not clear which trainer use this profile, so I'm not sure I can test with my Kickr, SimulAnt is much easier.. thanks      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Fixed, you have to click "Turn On" in simulant instead of using a script, work perfectly, thanks!      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

RankRankRankRank

Total Posts: 156

Joined 2013-01-07

PM

TACX has released firmware updates that will enable FE-C communication in its Bushido Smart and Vortex Smart trainers.

http://www.thisisant.com/news/first-ant-fe-c-enabled-fitness-products-enter-the-market/      
Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Thanks for the info! Happy to see the profile being used.

Almost done implementing it. Doing the ANT+ verification tool on it right now.

Just a quick question on RollOver event, if you have the information available.
EventCount rollover at 256 or 255? In some documentation I read 255, other 256.
Just verifying so I calculate correctly the difference in EventCount between messages.

Thanks!


Edit: Values from ANT simulator (tested with Muscle Oxygen Monitor) are between 0-255 so the code below should be correct


case ANT_SPECIFIC_TRAINER_DATA:  //0x19
    
{
        qDebug
() << "ANT_SPECIFIC_TRAINER_DATA";

        
uint8_t eventCount0x19 stMessage.aucData[2];
        
uint8_t instantCadence stMessage.aucData[3];
        
uint16_t accumulatedPower stMessage.aucData[4] + (stMessage.aucData[5]<<8);

        
uint16_t diffAccumulatedPower 0;
        
uint16_t diffEventCount 0;


        
//--- Check for rollover event
        
if (lastAccumulatedPower accumulatedPower{
            diffAccumulatedPower 
65536-lastAccumulatedPower accumulatedPower;
        
}
        
else {
            diffAccumulatedPower 
accumulatedPower lastAccumulatedPower;
        
}
        
if (lastEventCount0x19 eventCount0x19{
            diffEventCount 
256-lastEventCount0x19 eventCount0x19;
        
}
        
else {
            diffEventCount 
eventCount0x19 lastEventCount0x19;
        
}
       
....
     
     

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

RankRankRankRank

Total Posts: 156

Joined 2013-01-07

PM

The size of the field lets you know at which value to roll over.

The Event Count fields are 0 based byte values, so once the Event Count cycles through 0 - 255, it should then roll over back to 0 at the 256th event. (Same with the Accumulated Power field which goes to 65535 W and rolls over when 65536 W have been reached.)

There is a discrepancy in how this roll-over range is documented between the two profile documents, but the size of the field lets you know when to roll over. Thanks for pointing this out, we will address it in the next document revision.



     
Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Thanks for the clarification usamak! really appreciated.
Yes some documents says 255 and other 256 but both is okay, I guess it depends if you count the 0, you have 256 possibles values. I prefer 255 if you specify somewhere in the doc that eventCount starts at 0, should be clear enough for data-type newbies like me!!

One last question, I know this is not the place but haven't found a forum for the "Muscle Oxygen Profile"?
I just finished implementing it, but wondering if it's worth it to send the "Commands page" that Set Time, Start/Stop Session and Send Lap Event. I haven't found any way to test this with SimulANT+ to see if the message are correctly received by the monitor (monitor update his local value).
Not sure theses pages are used right now by any monitor, but would be happy to code them for future ones.

Edit:
the SetTime command is working from SimulANT, if you check the "UTC Time Required" box, it will uncheck after receiving a setTime command. Not sure how I can test the other event though.

Thanks for the great work!
Max      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Just wanted a last clarification for the Muscle Oxygen (p.15/26)

For the Data Page 16 – Commands
0x00 – Set Time
0x01 – Start Session
0x02 – Stop Session
0x03 – Lap

I send a "Set Time Command" whenever the monitor has the flag "UTC Time Required" box" to On. This is working good.

But for Start/Stop Session, is it only at the beginning/end of the exercise or should I send it for "Pause/Resume" Event also?
For example, If the workout is paused in the middle, should I send a Stop session and another Start Session when it will be resumed?

Thanks      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com

Avatar
RankRankRankRank

Total Posts: 123

Joined 2013-10-07

PM

Ok you can mark this thread as solved
I send the Start/Stop Session message only at the beginning/end of Workout and setTime message when the sensor requests it.
Thank you      

Signature

——————————————————
Free Indoor Cycling Software - https://maximumtrainer.com