You are here: Forum Home → ANT+ Forums → ANT+ Heart Rate Monitor → Thread
static void InitSlaveHRM()
{
byte USER_ANT_CHANNEL = 0; // ANT Channel to use
byte[] USER_NETWORK_KEY = { 0, 0, 0, 0, 0, 0, 0, 0 };
byte USER_RADIOFREQ = 57; // RF Frequency + 2400 MHz
byte USER_TRANSTYPE = 0; // Pairing
byte USER_DEVICETYPE = 120; // Device type
ushort USER_DEVICENUM = 100; // Device number
ushort USER_CHANNELPERIOD = 8070; // Channel Period (8192/32768)s period = 4Hz
byte USER_NETWORK_NUM = 0; // The network key is assigned to this network number
device0 = new ANT_Device();
device0.setNetworkKey(USER_NETWORK_NUM, USER_NETWORK_KEY, 500);
channel0 = device0.getChannel(0);
// Set the channel to receive using the current network number
if (channel0.assignChannel(ANT_ReferenceLibrary.ChannelType.BASE_Slave_Receive_0x00, USER_NETWORK_NUM, 0))
Console.WriteLine("Channel assigned.");
else
Console.WriteLine("Error: Channel not assigned.");
// id=100, non-pairing, device type, transmission type (HRM), delay
if (channel0.setChannelID(USER_DEVICENUM, false, USER_DEVICETYPE, USER_TRANSTYPE, 500))
Console.WriteLine("Channel id assigned.");
else
Console.WriteLine("Error: Channel id not assigned.");
if (channel0.setChannelPeriod(USER_CHANNELPERIOD,500))
Console.WriteLine("Channel period id set.");
else
Console.WriteLine("Error: Channel period not set.");
if (channel0.setChannelFreq(USER_RADIOFREQ, 500))
Console.WriteLine("Radio frequency set.");
else
Console.WriteLine("Error: Radio frequency not set.");
if (channel0.openChannel(500))
Console.WriteLine("Channel opened.");
else
Console.WriteLine("Error: Channel not opened.");
// Message Handler Assignment
device0.deviceResponse += new ANT_Device.dDeviceResponseHandler(DeviceResponse);
channel0.channelResponse += new dChannelResponseHandler(ChannelResponse);
// Request some action here
device0.requestMessage(ANT_ReferenceLibrary.RequestMessageID.VERSION_0x3E);
/*
??? What is the right code to read from the Ant+ Sensor Simulator for Heart Rate Monitor (HRM)?
ANT_Response respChID = device0.requestMessageAndResponse(ANT_ReferenceLibrary.RequestMessageID.CHANNEL_ID_0x51, 500);
ushort usDeviceNumber = (ushort)((respChID.messageContents[2] << 8) + respChID.messageContents[1]);
byte ucDeviceType = respChID.messageContents[3]; byte ucTransmissi
Console.WriteLine("CHANNEL ID: (" + usDeviceNumber.ToString() + "," + ucDeviceType.ToString() + "," + ucTransmissionType.ToString() + ")");
*/
Console.ReadLine();
Console.WriteLine("Disconnecting module...");
ANT_Device.shutdownDeviceInstance(ref device0);
}
device0.requestMessage(ANT_ReferenceLibrary.RequestMessageID.VERSION_0x3E);