void InitHRM(int channelNumber) { var channelHrm = usbDevice.getChannel(channelNumber); var heartRateDisplay = new HeartRateDisplay(channelHrm, network); hrmCommander = new HRMCommander(heartRateDisplay); hrmCommander.Start(); }
void InitHRM(int channelNumber) { Int32 deviceNumber = Int32.Parse(ConfigurationManager.AppSettings["hrm_device"]); if (deviceNumber < 0) { return; } var channelHrm = usbDevice.getChannel(channelNumber); var heartRateDisplay = new HeartRateDisplay(channelHrm, network); hrmCommander = new HRMCommander(heartRateDisplay, (UInt16)deviceNumber); hrmCommander.Start(); }
private static void ConfigureANT() { Thread.Sleep(500); bool flag = ANT.device0.setNetworkKey(ANT.USER_NETWORK_NUM, ANT.USER_NETWORK_KEY, 500u); if (!flag) { throw new Exception("Error configuring network key"); } bool flag2 = ANT.channel0.assignChannel(ANT.channelType, ANT.USER_NETWORK_NUM, 500u); if (!flag2) { throw new Exception("Error assigning channel"); } bool flag3 = ANT.channel0.setChannelID(ANT.USER_DEVICENUM, false, ANT.USER_DEVICETYPE, ANT.USER_TRANSTYPE, 500u); if (!flag3) { throw new Exception("Error configuring Channel ID"); } bool flag4 = ANT.channel0.setChannelFreq(ANT.USER_RADIOFREQ, 500u); if (!flag4) { throw new Exception("Error configuring Radio Frequency"); } bool flag5 = ANT.channel0.setChannelPeriod(ANT.USER_CHANNELPERIOD, 500u); if (!flag5) { throw new Exception("Error configuring Channel Period"); } ANT.bBroadcasting = true; bool flag6 = ANT.channel0.openChannel(500u); if (flag6) { ANT.heartRateDisplay = new HeartRateDisplay(ANT.channel0, ANT.networkAntPlus); ANT.heartRateDisplay.HeartRateDataReceived += new Action <HeartRateData, uint>(ANT.HeartRateDisplay_HeartRateDataReceived); ANT.heartRateDisplay.TurnOn(); ANT.device0.enableRxExtendedMessages(true); return; } ANT.bBroadcasting = false; throw new Exception("Error opening channel"); }
/* public static async void SendDeviceProperties() * { * try * { * Console.WriteLine("Sending device properties:"); * Random random = new Random(); * TwinCollection telemetryConfig = new TwinCollection(); * reportedProperties["DeviceProperty"] = random.Next(1, 6); * Console.WriteLine(JsonConvert.SerializeObject(reportedProperties)); * * await Client.UpdateReportedPropertiesAsync(reportedProperties); * } * catch (Exception ex) * { * Console.WriteLine(); * Console.WriteLine("Error in sample: {0}", ex.Message); * } * } */ private static async void SendTelemetryAsync(CancellationToken token) { try { //ANT Part byte USER_RADIOFREQ = 57; // RF Frequency + 2400 MHz //ANTPLUS KEY byte[] USER_NETWORK_KEY = { 0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45 }; // key byte USER_NETWORK_NUM = 0; //Use USB dongle to connect ANT+ device ANT_Device USB_Dongle; USB_Dongle = new ANT_Device(); USB_Dongle.ResetSystem(); USB_Dongle.setNetworkKey(USER_NETWORK_NUM, USER_NETWORK_KEY); ANT_Channel Channel0 = USB_Dongle.getChannel(0); Network AntPlusNetwork = new Network(USER_NETWORK_NUM, USER_NETWORK_KEY, USER_RADIOFREQ); HeartRateDisplay HR = new HeartRateDisplay(Channel0, AntPlusNetwork); HR.TurnOn(); Console.WriteLine(">>ANT+ Tuen on..."); while (true) { byte currentHeartbeat = HR.HeartRate; var telemetryDataPoint = new { heartbeat = currentHeartbeat, }; var messageString = JsonConvert.SerializeObject(telemetryDataPoint); var message = new Message(Encoding.ASCII.GetBytes(messageString)); token.ThrowIfCancellationRequested(); await Client.SendEventAsync(message); Console.WriteLine("{0} > Sending heartbeat signal : {1}", DateTime.Now, messageString); await Task.Delay(1000); } } catch (Exception ex) { Console.WriteLine(); Console.WriteLine("Intentional shutdown: {0}", ex.Message); } }
public void Start() { var feChannel = usbDevice.getChannel(0); var bpChannel = usbDevice.getChannel(1); var hrChannel = usbDevice.getChannel(2); var bcChannel = usbDevice.getChannel(3); var bscChannel = usbDevice.getChannel(4); feDisplay = new FitnessEquipmentDisplay(feChannel, network); bpDisplay = new BikePowerDisplay(bpChannel, network); hrDisplay = new HeartRateDisplay(hrChannel, network); bcDisplay = new BikeCadenceDisplay(bcChannel, network); bscDisplay = new BikeSpeedCadenceDisplay(bscChannel, network); BindEvents(); _ = ConsumeClientDataAsync(); feDisplay.TurnOn(); bpDisplay.TurnOn(); hrDisplay.TurnOn(); bcDisplay.TurnOn(); bscDisplay.TurnOn(); }
static void Main(string[] args) { byte USER_RADIOFREQ = 57; // RF Frequency + 2400 MHz //Do not distrubute this key byte[] USER_NETWORK_KEY = { 0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45 }; byte USER_NETWORK_NUM = 0; ANT_Device USB_Dongle; USB_Dongle = new ANT_Device(); USB_Dongle.ResetSystem(); USB_Dongle.setNetworkKey(USER_NETWORK_NUM, USER_NETWORK_KEY); ANT_Channel Channel0 = USB_Dongle.getChannel(0); Network AntPlusNetwork = new Network(USER_NETWORK_NUM, USER_NETWORK_KEY, USER_RADIOFREQ); HeartRateDisplay HeartRate = new HeartRateDisplay(Channel0, AntPlusNetwork); HeartRate.TurnOn(); while (Console.KeyAvailable == false) { Console.WriteLine("Heart Rate=" + HeartRate.HeartRate); System.Threading.Thread.Sleep(500); } }
public HRMCommander(HeartRateDisplay simulator) { this.simulator = simulator; }