client version of coap

Dependencies:   nRF24L01P cantcoap3

Dependents:   client3

Committer:
Ka_myk
Date:
Thu Jan 24 16:33:30 2019 +0000
Revision:
2:e8823d9fa162
Parent:
1:1d936c763440
Child:
5:d633e12f113f
aaaa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ka_myk 0:6a6f97ca5572 1 //
Ka_myk 0:6a6f97ca5572 2 // Created by Kamil Mykitiuk on 2019-01-17.
Ka_myk 0:6a6f97ca5572 3 //
Ka_myk 0:6a6f97ca5572 4
Ka_myk 0:6a6f97ca5572 5 #ifndef COAPCLIENT_H
Ka_myk 0:6a6f97ca5572 6 #define COAPCLIENT_H
Ka_myk 0:6a6f97ca5572 7
Ka_myk 0:6a6f97ca5572 8
Ka_myk 0:6a6f97ca5572 9 #include <cstdint>
Ka_myk 0:6a6f97ca5572 10 #include "cantcoap.h"
Ka_myk 0:6a6f97ca5572 11 #include "radioWrapper.h"
Ka_myk 0:6a6f97ca5572 12
Ka_myk 0:6a6f97ca5572 13 class CoapClient {
Ka_myk 0:6a6f97ca5572 14 public:
Ka_myk 0:6a6f97ca5572 15 enum ERROR {
Ka_myk 0:6a6f97ca5572 16 SERVER_RESPONSE_AMBIGOUS = -1,
Ka_myk 0:6a6f97ca5572 17 SERVER_TIMED_OUT = -2,
Ka_myk 0:6a6f97ca5572 18 SMALL_BUFFER = -3,
Ka_myk 0:6a6f97ca5572 19 RADIO_NOT_WORKING = -4
Ka_myk 0:6a6f97ca5572 20 };
Ka_myk 0:6a6f97ca5572 21
Ka_myk 0:6a6f97ca5572 22 private:
Ka_myk 2:e8823d9fa162 23 uint8_t token[1];
Ka_myk 0:6a6f97ca5572 24 uint16_t message_counter;
Ka_myk 1:1d936c763440 25 int listeningTimeout;
Ka_myk 0:6a6f97ca5572 26 int retransmissionLimit;
Ka_myk 0:6a6f97ca5572 27 RadioWrapper radioWrapper;
Ka_myk 1:1d936c763440 28
Ka_myk 0:6a6f97ca5572 29
Ka_myk 0:6a6f97ca5572 30 public:
Ka_myk 2:e8823d9fa162 31 CoapClient(uint8_t* token, int retransmissionLimit, int timeout, int channel, unsigned long long rx_address,
Ka_myk 2:e8823d9fa162 32 unsigned long long tx_address);
Ka_myk 2:e8823d9fa162 33
Ka_myk 0:6a6f97ca5572 34 int get(uint8_t buffer[], int len, char* uri);
Ka_myk 0:6a6f97ca5572 35
Ka_myk 0:6a6f97ca5572 36 int post(uint8_t buffer[], int len, char* uri);
Ka_myk 0:6a6f97ca5572 37
Ka_myk 0:6a6f97ca5572 38 private:
Ka_myk 0:6a6f97ca5572 39 uint16_t preparePDU(CoapPDU& coapPDU);
Ka_myk 0:6a6f97ca5572 40
Ka_myk 0:6a6f97ca5572 41 bool isAck(CoapPDU& coapPDU, uint16_t message_id, char* uri);
Ka_myk 0:6a6f97ca5572 42
Ka_myk 2:e8823d9fa162 43 bool hasGetResponse(CoapPDU& response);
Ka_myk 2:e8823d9fa162 44
Ka_myk 2:e8823d9fa162 45 bool hasPostResponse(CoapPDU& response);
Ka_myk 0:6a6f97ca5572 46 };
Ka_myk 0:6a6f97ca5572 47
Ka_myk 0:6a6f97ca5572 48 #endif //COAPCLIENT_H