You are here: Forum Home → ANT Developers Forums → ANT General Questions → Thread
Hi,
Sorry, it's a bit difficult without the common embedded debug tools to help. I can try to suggest a few things...
Do you ever assert the SLEEP or SUSPEND lines? You could try never asserting them (keeping them high) if you do use them now.
// **************************************************************************************************
// * ANT Management Routines
// **************************************************************************************************
void antBegin() {
pinMode(SUSPEND_PIN, OUTPUT);
pinMode(SLEEP_PIN, OUTPUT);
pinMode(RESET_PIN, OUTPUT);
pinMode(RTS_PIN, INPUT);
//Per datasheet
digitalWrite(RESET_PIN, HIGH);
digitalWrite(SUSPEND_PIN, HIGH);
digitalWrite(SLEEP_PIN, LOW);
//This should not be strictly necessary - the device should always come up by itself....
//But let's make sure we didn't miss the first RTS in a power-up race
hardwareReset();
}
How long do you wait after receiving the startup message? You could try waiting at least 500ms afterward.
Have you tried an alternate interface such as SPI?
Does the CRC come back correctly during those strings of messages?
ANT+ARDUINO
----------------------> Reset Executed: 1
started
rts_ant_received 1
MESSAGE_READ_ERROR_BAD_CHECKSUM
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 1 6F 1 C9 ] (get a startup message)
D52Q Starts Up In 370ms