Skip to content

Commit 73e6aa0

Browse files
NicolasdejeanFokkeZB
authored andcommitted
Added defines for the return values of sendBytes,removed defines, replaced by enum, fix name, fixed docs (#141)
Closes #133
1 parent 36d1e6a commit 73e6aa0

File tree

4 files changed

+45
-34
lines changed

4 files changed

+45
-34
lines changed

docs/TheThingsNetwork.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,21 +91,20 @@ See the [ABP](https://github.com/TheThingsNetwork/arduino-device-lib/blob/master
9191
Send a message to the application using raw bytes.
9292
9393
```c
94-
int8_t sendBytes(const byte* payload, size_t length, port_t port = 1, bool confirm = false);
94+
ttn_response_t sendBytes(const byte* payload, size_t length, port_t port = 1, bool confirm = false);
9595
```
9696

9797
- `const byte* payload `: Bytes to send.
9898
- `size_t length`: The number of bytes. Use `sizeof(payload)` to get it.
9999
- `port_t port = 1`: The port to address. Defaults to `1`.
100-
- `bool confirm = false`: Whether to ask for confirmation. Defaults to `false`. If confirmation fails, the method will return error code `-10`.
100+
- `bool confirm = false`: Whether to ask for confirmation. Defaults to `false`. If confirmation fails, the method will return error code `TTN_ERROR_UNEXPECTED_RESPONSE`.
101101

102102
Returns a success or error code and logs the related error message:
103103

104-
* `-1`: Send command failed.
105-
* `-2`: Time-out.
106-
* `1`: Successful transmission.
107-
* `2`: Successful transmission. Received \<N> bytes
108-
* `-10`: Unexpected response: \<Response>
104+
* `TTN_ERROR_SEND_COMMAND_FAILED`: Send command failed.
105+
* `TTN_SUCCESSFUL_TRANSMISSION`: Successful transmission.
106+
* `TTN_SUCCESSFUL_RECEIVE`: Successful transmission. Received \<N> bytes
107+
* `TTN_ERROR_UNEXPECTED_RESPONSE`: Unexpected response: \<Response>
109108

110109
See the [Send](https://github.com/TheThingsNetwork/arduino-device-lib/blob/master/examples/Send/Send.ino) example.
111110

keywords.txt

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,36 @@ TheThingsMessage KEYWORD1
1313
# Methods and Functions (KEYWORD2)
1414
#######################################
1515

16-
showStatus KEYWORD2
17-
onMessage KEYWORD2
18-
provision KEYWORD2
19-
join KEYWORD2
20-
personalize KEYWORD2
21-
sendBytes KEYWORD2
22-
poll KEYWORD2
23-
calculateAirtime KEYWORD2
24-
airtime KEYWORD2
16+
showStatus KEYWORD2
17+
onMessage KEYWORD2
18+
provision KEYWORD2
19+
join KEYWORD2
20+
personalize KEYWORD2
21+
sendBytes KEYWORD2
22+
poll KEYWORD2
23+
calculateAirtime KEYWORD2
24+
airtime KEYWORD2
2525

26-
encodeDeviceData KEYWORD2
27-
decodeAppData KEYWORD2
26+
encodeDeviceData KEYWORD2
27+
decodeAppData KEYWORD2
2828

2929
#######################################
3030
# Constants (LITERAL1)
3131
#######################################
3232

33-
TTN_BUFFER_SIZE LITERAL1
34-
TTN_DEFAULT_WAIT_TIME LITERAL1
35-
TTN_DEFAULT_SF LITERAL1
36-
TTN_DEFAULT_FSB LITERAL1
37-
TTN_ADR_SUPPORTED LITERAL1
38-
TTN_PWRIDX_868 LITERAL1
39-
TTN_PWRIDX_915 LITERAL1
40-
TTN_FP_EU868 LITERAL1
41-
TTN_FP_EU915 LITERAL1
33+
TTN_BUFFER_SIZE LITERAL1
34+
TTN_DEFAULT_WAIT_TIME LITERAL1
35+
TTN_DEFAULT_SF LITERAL1
36+
TTN_DEFAULT_FSB LITERAL1
37+
TTN_ADR_SUPPORTED LITERAL1
38+
TTN_PWRIDX_868 LITERAL1
39+
TTN_PWRIDX_915 LITERAL1
40+
TTN_FP_EU868 LITERAL1
41+
TTN_FP_EU915 LITERAL1
4242

43-
TTN_PIN_LED LITERAL1
43+
TTN_PIN_LED LITERAL1
44+
45+
TTN_ERROR_SEND_COMMAND_FAILED LITERAL1
46+
TTN_ERROR_UNEXPECTED_RESPONSE LITERAL1
47+
TTN_SUCCESSFUL_TRANSMISSION LITERAL1
48+
TTN_SUCCESSFUL_RECEIVE LITERAL1

src/TheThingsNetwork.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ bool TheThingsNetwork::join(const char *appEui, const char *appKey, int8_t retri
403403
return join(retries, retryDelay);
404404
}
405405

406-
int8_t TheThingsNetwork::sendBytes(const byte* payload, size_t length, port_t port, bool confirm) {
406+
ttn_response_t TheThingsNetwork::sendBytes(const byte* payload, size_t length, port_t port, bool confirm) {
407407
bool send;
408408
if (confirm) {
409409
send = sendPayload(MAC_TX_TYPE_CNF, port, (uint8_t *)payload, length);
@@ -412,7 +412,7 @@ int8_t TheThingsNetwork::sendBytes(const byte* payload, size_t length, port_t po
412412
}
413413
if (!send) {
414414
stateMessage(ERR_MESSAGE, ERR_SEND_COMMAND_FAILED);
415-
return -1;
415+
return TTN_ERROR_SEND_COMMAND_FAILED;
416416
}
417417

418418
const char *response = readLine();
@@ -426,7 +426,7 @@ int8_t TheThingsNetwork::sendBytes(const byte* payload, size_t length, port_t po
426426
}
427427
if (compareStrings(response, CMP_MAC_TX_OK)) {
428428
stateMessage(SUCCESS_MESSAGE, SCS_SUCCESSFUL_TRANSMISSION);
429-
return 1;
429+
return TTN_SUCCESSFUL_TRANSMISSION;
430430
}
431431
if (compareStrings(response, CMP_MAC_RX, 5)) {
432432
port_t downlinkPort = receivedPort(response, 7);
@@ -439,11 +439,11 @@ int8_t TheThingsNetwork::sendBytes(const byte* payload, size_t length, port_t po
439439
stateMessage(SUCCESS_MESSAGE, SCS_SUCCESSFUL_TRANSMISSION_RECEIVED, (const char *)itoa(downlinkLength, set_buffer, 10));
440440
if (this->messageCallback)
441441
this->messageCallback(downlink, downlinkLength, downlinkPort);
442-
return 2;
442+
return TTN_SUCCESSFUL_RECEIVE;
443443
}
444444

445445
stateMessage(ERR_MESSAGE, ERR_UNEXPECTED_RESPONSE, response);
446-
return -10;
446+
return TTN_ERROR_UNEXPECTED_RESPONSE;
447447
}
448448

449449
size_t TheThingsNetwork::bufLength(const char *data) {

src/TheThingsNetwork.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@
1919

2020
typedef uint8_t port_t;
2121

22+
enum ttn_response_t {
23+
TTN_ERROR_SEND_COMMAND_FAILED = (-1),
24+
TTN_ERROR_UNEXPECTED_RESPONSE = (-10),
25+
TTN_SUCCESSFUL_TRANSMISSION = 1,
26+
TTN_SUCCESSFUL_RECEIVE = 2
27+
};
28+
2229
enum ttn_fp_t {
2330
TTN_FP_EU868,
2431
TTN_FP_US915
@@ -82,7 +89,7 @@ class TheThingsNetwork
8289
bool join(int8_t retries = -1, uint32_t retryDelay = 10000);
8390
bool personalize(const char *devAddr, const char *nwkSKey, const char *appSKey);
8491
bool personalize();
85-
int8_t sendBytes(const byte* payload, size_t length, port_t port = 1, bool confirm = false);
92+
ttn_response_t sendBytes(const byte* payload, size_t length, port_t port = 1, bool confirm = false);
8693
int8_t poll(port_t port = 1, bool confirm = false);
8794
};
8895

0 commit comments

Comments
 (0)