Skip to content

Commit a6438b0

Browse files
committed
Completed Tx example and tested Tx message
1 parent 77a23ab commit a6438b0

File tree

1 file changed

+53
-65
lines changed

1 file changed

+53
-65
lines changed

examples/TxCounter/TxCounter.ino

Lines changed: 53 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
/***********************************
2-
* Ant Open Channel Example
2+
* Ant Tx Counter Example
33
*
44
* Opens a channel with the public
55
* network key and transmits data
66
* increments in value every second
77
*
8-
* NOTE: THIS EXAMPLE IS INCOMPLETE
9-
*
108
* Author Curtis Malainey
119
************************************/
1210

1311
#include "ANT.h"
1412
#define BAUD_RATE 9600
1513
Ant ant = Ant();
1614

15+
uint8_t buffer[] = {0, 0, 0, 0, 0, 0, 0, 0};
16+
1717
void parseMessage();
1818
void parseEventMessage(uint8_t code);
1919

@@ -25,6 +25,7 @@ void setup()
2525
ChannelId ci;
2626
ChannelPeriod cp;
2727
ChannelRfFrequency crf;
28+
BroadcastMsg bm;
2829
OpenChannel oc;
2930

3031
Serial1.begin(BAUD_RATE);
@@ -43,7 +44,7 @@ void setup()
4344

4445
ac = AssignChannel();
4546
ac.setChannel(0);
46-
ac.setChannelType(CHANNEL_TYPE_BIDIRECTIONAL_TRANSMIT);
47+
ac.setChannelType(CHANNEL_TYPE_BIDIRECTIONAL_TRANSMIT); //can't wildcard this
4748
ac.setChannelNetwork(0);
4849
ant.send(ac);
4950
parseMessage();
@@ -68,6 +69,12 @@ void setup()
6869
ant.send(crf);
6970
parseMessage();
7071

72+
bm = BroadcastMsg();
73+
bm.setData(buffer);
74+
bm.setChannel(0);
75+
ant.send(bm);
76+
parseMessage();
77+
7178
oc = OpenChannel();
7279
oc.setChannel(0);
7380
ant.send(oc);
@@ -81,86 +88,67 @@ void loop()
8188

8289
void parseMessage() {
8390
ant.readPacket();
84-
while (ant.getResponse().isAvailable() || ant.getResponse().isError())
91+
if(ant.getResponse().isAvailable())
8592
{
86-
if (ant.getResponse().isAvailable())
87-
{
88-
uint8_t msgId = ant.getResponse().getMsgId();
89-
switch (msgId) {
90-
case CHANNEL_EVENT:
91-
{
92-
ChannelEventResponse cer = ChannelEventResponse();
93-
ant.getResponse().getChannelEventResponseMsg(cer);
94-
Serial.println("Received Msg: ChannelEventResponse");
95-
Serial.print("Channel: ");
96-
Serial.println(cer.getChannelNumber());
97-
parseEventMessage(cer.getCode());
98-
break;
99-
}
100-
101-
case START_UP_MESSAGE:
102-
{
103-
StartUpMessage sum = StartUpMessage();
104-
ant.getResponse().getStartUpMsg(sum);
105-
Serial.println("Received Msg: StartupMessage");
106-
Serial.print("Message: ");
107-
Serial.println(sum.getMessage());
108-
break;
109-
}
110-
111-
case BROADCAST_DATA:
112-
{
113-
BroadcastData bd = BroadcastData();
114-
ant.getResponse().getBroadcastDataMsg(bd);
115-
Serial.println("Received Msg: BroadcastData");
116-
Serial.print("Channel: ");
117-
Serial.println(bd.getChannelNumber());
118-
Serial.print("Data:[");
119-
Serial.print(bd.getData(0), HEX);
120-
for (uint8_t i = 1; i < 8; i++)
121-
{
122-
Serial.print(", ");
123-
Serial.print(bd.getData(i), HEX);
124-
}
125-
Serial.println("]");
126-
break;
127-
}
128-
129-
default:
130-
Serial.print("Undefined Message: ");
131-
Serial.println(msgId, HEX);
132-
break;
93+
uint8_t msgId = ant.getResponse().getMsgId();
94+
switch (msgId) {
95+
case CHANNEL_EVENT:
96+
{
97+
ChannelEventResponse cer = ChannelEventResponse();
98+
ant.getResponse().getChannelEventResponseMsg(cer);
99+
Serial.println("Received Msg: ChannelEventResponse");
100+
Serial.print("Channel: ");
101+
Serial.println(cer.getChannelNumber());
102+
parseEventMessage(cer.getCode());
103+
break;
133104
}
134-
}
135-
else if (ant.getResponse().isError())
136-
{
137-
Serial.print("ANT MSG ERROR: ");
138-
Serial.println(ant.getResponse().getErrorCode());
105+
106+
case START_UP_MESSAGE:
107+
{
108+
StartUpMessage sum = StartUpMessage();
109+
ant.getResponse().getStartUpMsg(sum);
110+
Serial.println("Received Msg: StartupMessage");
111+
Serial.print("Message: ");
112+
Serial.println(sum.getMessage());
113+
break;
114+
}
115+
116+
default:
117+
Serial.print("Undefined Message: ");
118+
Serial.println(msgId, HEX);
119+
break;
139120
}
140121
}
122+
else if (ant.getResponse().isError())
123+
{
124+
Serial.print("ANT MSG ERROR: ");
125+
Serial.println(ant.getResponse().getErrorCode());
126+
}
141127
}
142128

143129
void parseEventMessage(uint8_t code)
144130
{
131+
BroadcastMsg bm;
145132
Serial.print("Code: ");
146133
switch (code)
147134
{
148135
case RESPONSE_NO_ERROR:
149136
Serial.println("RESPONSE_NO_ERROR");
150137
break;
151138

152-
case EVENT_RX_FAIL:
153-
Serial.println("EVENT_RX_FAIL");
154-
break;
155-
156-
case EVENT_RX_SEARCH_TIMEOUT:
157-
Serial.println("EVENT_RX_SEARCH_TIMEOUT");
158-
break;
159-
160139
case EVENT_CHANNEL_CLOSED:
161140
Serial.println("EVENT_CHANNEL_CLOSED");
162141
break;
163142

143+
case EVENT_TX:
144+
Serial.println("EVENT_TX");
145+
buffer[0]++;
146+
bm = BroadcastMsg();
147+
bm.setData(buffer);
148+
bm.setChannel(0);
149+
ant.send(bm);
150+
break;
151+
164152
default:
165153
Serial.println(code);
166154
break;

0 commit comments

Comments
 (0)