mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 00:28:42 +00:00
fix ANT device reset requence
This commit is contained in:
19
src/ANT.cpp
19
src/ANT.cpp
@@ -427,10 +427,20 @@ ANT::setup()
|
||||
// fixme: better synchronisation?
|
||||
msleep(500);
|
||||
|
||||
sendMessage(ANTMessage::resetSystem());
|
||||
uint8_t attempts = 0;
|
||||
do
|
||||
{
|
||||
ANT_Reset_Acknowledge = false;
|
||||
sendMessage(ANTMessage::resetSystem());
|
||||
|
||||
// specs say wait 500ms after reset before sending any more host commands
|
||||
msleep(500);
|
||||
// specs say wait 500ms after reset before sending any more host commands
|
||||
msleep(500);
|
||||
|
||||
if (!ANT_Reset_Acknowledge)
|
||||
qDebug() << "ANT device reset was not acknowledged !...try again";
|
||||
// else
|
||||
// qDebug() << "ANT device reset successful !";
|
||||
} while (!ANT_Reset_Acknowledge && attempts++<3);
|
||||
|
||||
sendMessage(ANTMessage::setNetworkKey(1, key));
|
||||
|
||||
@@ -885,6 +895,9 @@ ANT::processMessage(void) {
|
||||
emit receivedAntMessage(m, timestamp);
|
||||
|
||||
switch (rxMessage[ANT_OFFSET_ID]) {
|
||||
case ANT_NOTIF_STARTUP:
|
||||
ANT_Reset_Acknowledge = true;
|
||||
break;
|
||||
case ANT_ACK_DATA:
|
||||
case ANT_BROADCAST_DATA:
|
||||
case ANT_CHANNEL_STATUS:
|
||||
|
||||
@@ -165,6 +165,7 @@ struct setChannelAtom {
|
||||
#define ANT_VERSION 0x3E
|
||||
#define ANT_CAPABILITIES 0x54
|
||||
#define ANT_SERIAL_NUMBER 0x61
|
||||
#define ANT_NOTIF_STARTUP 0x6F
|
||||
#define ANT_CW_INIT 0x53
|
||||
#define ANT_CW_TEST 0x48
|
||||
|
||||
@@ -530,6 +531,7 @@ private:
|
||||
QTime elapsedTime;
|
||||
#endif
|
||||
|
||||
bool ANT_Reset_Acknowledge;
|
||||
unsigned char rxMessage[ANT_MAX_MESSAGE_SIZE];
|
||||
|
||||
// state machine whilst receiving bytes
|
||||
|
||||
Reference in New Issue
Block a user