I've just purchased a Garmin Bike speed sensor and cadence sensor, and have been trying days without success to connnect.
First Trying AntWare II
After connecting to my ANT+ USB Stick in the PC - and If I understand the instructions correctly using the ANT+ Profile for the devices and a Network Key of (B9-A5-21-FB-BD-72-C3-45) Set for Net #0, I should be able to use AntWare II to connect to my devices and start to see messages. The feedback display for Channel 0 reads as follows:
Set msg period to 8118/32768 sec
Set freq to 2457Mhz
Set ch power to RADIO_TX_POWER_0DB_0x03
Set search timeout to 25s
Set low priority search timeout to 5s
Auto-Open Initiated...
> Assigning Channel...
Assigned: BASE_Slave_Receive_0x00 on net 0
> Setting Channel ID...
Channel Id Set: 0,123,0, pairing
> Opening Channel...
EVENT_RX_SEARCH_TIMEOUT_0x01
:: 40, 00-01-01
EVENT_CHANNEL_CLOSED_0x07
:: 40, 00-01-07
It doesn't seem to find (pair?) with the devices. I believe they use low power, so I wont see any visible sign from the device until its start to be used in anger on my bike - so whilst its on the desk, I'm assuming it should connected and start to work,
Whatever I do, it doesn't work.
Then Trying DEMO_DLL
So, I tried the DEMO_DLL, which I can successfully build (I'm using WIndows 10 running Visual Studio 2015.Once I have loaded the code, adjusted the Network Key
static readonly byte USER_ANT_CHANNEL = 0; // ANT Channel to use
static readonly ushort USER_DEVICENUM = 0; // Device number
static readonly byte USER_DEVICETYPE = 123; // Device type - 123 for GARMIN
static readonly byte USER_TRANSTYPE = 1; // Transmission type
static readonly byte USER_RADIOFREQ = 57; // RF Frequency ( 57 for Garmin )+ 2400 MHz
static readonly ushort USER_CHANNELPERIOD = 8118; // Channel Period (8118/32768)s period = 4Hz
static readonly byte[] USER_NETWORK_KEY = { 0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45 }; // ANT+ Network Key used by Garmin devices
static readonly byte USER_NETWORK_NUM = 0; // The network key is assigned to this network number
.. Compile and run.
Q - Quit
Channel Type? (Master = 0, Slave = 1)
1
Resetting module...
RESET Complete, reason: RESET_CMD
Setting network key...
Network key set
Assigning channel...
Channel assigned
Setting Channel ID...
Channel ID set to 0 123 1
Setting Radio Frequency...
Radio Frequency set to 57
Setting Channel Period...
Channel Period set to 8118
Opening channel...
Channel opened
Enabling extended messages...
Extended messages enabled
... *delay here
Search Timeout
Channel Closed
Unassigning Channel...
Unassigned Channel
Press enter to exit
So nothing, it won't connect either.
Finally, I try SimulAnt and
In the HeartRatetSensorSimulator, I've adjusted the settings as follows.
static readonly byte USER_ANT_CHANNEL = 0; // ANT Channel to use
static readonly ushort USER_DEVICENUM = 42; // Device number
static readonly byte USER_DEVICETYPE = 120; // Device type
static readonly byte USER_TRANSTYPE = 1; // Transmission type
static readonly byte USER_RADIOFREQ = 57; // RF Frequency + 2400 MHz
static readonly byte[] USER_NETWORK_KEY = { 0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45 };
static readonly byte[] USER_NETWORK_KEY = { 0xE8, 0xE4, 0x21, 0x3B, 0x55, 0x7A, 0x67, 0xC1 };
static readonly byte USER_NETWORK_NUM = 0; // The network key is assigned to this network number
Running this displays the following ( with a few more Debug messages than the default)
Attempting to connect to an ANT USB device...
Initialization was successful!
M - Print this menu
C - Request Capabilities
V - Request Version
I - Request Channel ID
U - Request USB Descriptor
Q - Quit
Resetting module...
RESET Complete, reason: RESET_CMD
Setting network key...
Network key set
Setting Channel ID...
Channel ID set
Set new HearRateSensor OK
Unhandled response NO_EVENT_0x00 to message CHANNEL_RADIO_TX_POWER_0x60
Turned ON the heartRateSensor
So I then move onto the HeartRateDisplaySensor code, with the start looking like this
static readonly byte USER_ANT_CHANNEL = 0; // ANT Channel to use
static readonly ushort USER_DEVICENUM = 0; // Device number
static readonly byte USER_DEVICETYPE = 120; // Device type
static readonly byte USER_TRANSTYPE = 1; // Transmission type
static readonly byte USER_RADIOFREQ = 57; // RF Frequency + 2400 MHz
static readonly byte[] USER_NETWORK_KEY = { 0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45 };
static readonly byte USER_NETWORK_NUM = 0; // The network key is assigned to this network number
Running the executable displays the following
Attempting to connect to an ANT USB device...
Demo failed with exception:
Could not connect to any device.
Details:
ANTLibrary Exception: Failed to connect to any ANT devices
It will only work, if the HeartRateSensorSimulator application isn't running !!
From what I can see - my devices (both the Cadence and Speed) are MASTER(i.e. they Transmit) to the SLAVEwhich is currently my PC with the ANT+ USB Stick. I've checked the Device Profiles on the ANT+ Web Site with the Device Type (123 or 0x7b) being important, along with the 8118 Channel period and the 57Mhz.
But despite what I try, I can't see what I'm doing wrong.
HELP!!!
Many thanks in advance.
mark