Library for handling subset of coap functionality by radio transmitter.

Dependencies:   nRF24L01P cantcoap

Dependents:   server2

radioWrapper.h

Committer:
Ka_myk
Date:
2019-01-18
Revision:
0:6a6f97ca5572
Child:
1:1d936c763440

File content as of revision 0:6a6f97ca5572:

#pragma once

#include "nRF24L01P.h"

//***************************************************************************//
// !!! SETTINGS !!!
#define DATA_RATE       NRF24L01P_DATARATE_1_MBPS

#define POWER           NRF24L01P_TX_PWR_ZERO_DB

#define CHANNEL         4 // 0 - 30
#define RX_ADDRESS      ((unsigned long long) 0xABCDEF08)
#define TX_ADDRESS      ((unsigned long long) 0xABCDEF08)

#define TRANSFER_SIZE 32

//***************************************************************************//

class RadioWrapper {
private:
    nRF24L01P radio(PB_15, PB_14, PB_13, PB_12, PB_1, PB_2);    // mosi, miso, sck, csn, ce, irq

public:
    RadioWrapper(int channel, unsigned long long rx_address,  unsigned long long tx_address);

    int packetSize() {
        return 32;
    }

    /*a
    read bytes and saves them to given buffer turncating it.
    @len
    @return number of read bytes, -1 if error
    */
    int read(uint8_t* buffer, int len, int timeout);
    /*
    send bytes from given buffor
    @return number of writeen bytes, -1 if error.
    */
    int write(uint8_t* buffer, int len);
}