Non-fec virtual trainers support

I see Zwift support Computrainer - it is not  ANT+ FE-C.

But there are other old trainers - need support also.


There are many programmers that  do reverse engineer for his trainer and can control his trainer from c++ program.
And they try to do virtual usb stick device with  ANT+ FE-C support.
They stuck on it -  with ant api can easy work with existing  ANT+ FE-C device , but simulate virtual  device - very hard task. Or need change hardware part - easier buy new trainer.

Need do very simple protocol with few functions: initTrainer, startTrainer, stopTrainer , controlTrainer.  In controlTrainer can set resistance and get current speed, cadence, resistance from trainer.

Many programmes that have other trainers can himself write support for his trainers. Need only simply way to communicate with Zwift.

Easy with Using the SimulANT+ Library ANT+ ProfileLib.dll in #C.
requires 2 ANT+ dongles

Example :

using AntPlus.Profiles.FitnessEquipment;
using AntPlus.Types;

static TrainerControlDevice SmartTrainer;

channels[max_channels - 1].channel.setChannelID(7, false, 17, 1, 500);

SmartTrainer = new TrainerControlDevice(channels[max_channels - 1].channel, networkAntPlus);
SmartTrainer.ChannelParameters.DeviceNumber =DEVICE_NUMBER_SMART_TRAINER;

SmartTrainer.InstantaneousPower = (ushort) Watts;
SmartTrainer.Cadence = cadence;
SmartTrainer.Grade = grade;

why need 2 ant dongle? 

usb from trainer and one ANT+ dongle is possible?

_ To run your program and Zwift at the same time, you will need 2 ANT+ sensors.Your program receives and broadcast/relays from one and Zwift just receives your program relay from the other.

 I include in my application SDk PowerCurve32.dll C++ and use USB PowerCurve Sensor._