-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathft_comlink_sfx_rx.ino
45 lines (42 loc) · 1.1 KB
/
ft_comlink_sfx_rx.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "ComLinkSfx.h"
uint8_t ft_sfxGetStr(void) {
ft_strfree(payload.answer);
ft_wasteTime(20);
for (int i = 0; i < 8; i++) {
if (SigFox.available()) {
payload.answer = ft_scj(payload.answer, SigFox.read());
SerialUSB.print("Answer : ");
SerialUSB.println(payload.answer);
i++;
} else {
ft_wasteTime(10);
i++;
}
}
if (!payload.answer)
return (0);
return (1);
}
void ft_sigFoxRx(void) {
byte *answer = NULL;
bool haveAnswer = false;
for (int i = 0; i < 25 && !haveAnswer; i++) {
if (sfxAntenna.hasSfxAnswer())
haveAnswer = true;
SerialUSB.print("i : ");
SerialUSB.println(i, DEC);
ft_wasteTime(1000);
}
if (haveAnswer /*&& sfxAntenna.getSfxError() == SME_SFX_OK*/) {
SerialUSB.println("Received an answer !");
answer = (byte *)sfxAntenna.getLastReceivedMessage();
for (uint8_t i = 0; i < 8; i++)
payload.answer[i] = (uint8_t)answer[i];
SerialUSB.print("Received Ack: ");
ft_USBputStr((char *)payload.answer);
}
else {
SerialUSB.println("Nothing Received");
sigFoxAnswer = false;
}
}