RF24Network Send example program.

Dependencies:   xtoff RF24Network mbed

Fork of RF24Network_Send by Akash Vibhute

main.cpp

Committer:
pietor
Date:
2018-02-12
Revision:
4:bc1126d78e55
Parent:
3:d605536db315
Child:
5:e6067799a414

File content as of revision 4:bc1126d78e55:

#include "mbed.h"
#include <RF24Network.h>
#include <RF24.h>
#include <string> 

Serial pc(USBTX, USBRX);

#define nrf_CE      p9
#define nrf_CSN     p8
#define spi_SCK     p7
#define spi_MOSI    p5
#define spi_MISO    p6

RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN );
RF24Network network(radio);

const uint16_t this_node = 01;
const uint16_t other_node = 00;
const unsigned long interval = 100; //ms
unsigned long last_sent;
Timer t;

unsigned long packets_sent;
Timer t_packet;

DigitalIn pb(p25);


// Structure of our payload
struct payload_t 
{
    bool reedsensor;
    int milligram; 
};


int main()
{
    pb.mode(PullUp);
    pc.baud(9600);
    wait_ms(1000);

    pc.printf("mBed RF24Network node: Tx\n\r");
    radio.begin();
    network.begin(90,this_node);
    wait_ms(2000);
    t.start();
    t_packet.start();
    while(1) 
    {
        network.update();
        unsigned long now = t.read_ms();
        if (!pb) 
        {
            t.reset();

            pc.printf("Sending...");
            payload_t payload_tx;
            payload_tx.reedsensor = !pb;
            payload_tx.milligram = 521000;


            RF24NetworkHeader header_tx(other_node);
            
            bool ok = network.write(header_tx,&payload_tx,sizeof(payload_tx));
            if (ok)
                pc.printf("ok.\n\r");
            else
                pc.printf("failed.\n\r");
        }
    }
}