IOT_LAB_Surface_level_Rx

Dependencies:   MMA8451Q mbed nRF24L01P

Committer:
RITVIK_DAVE
Date:
Tue Apr 04 05:08:36 2017 +0000
Revision:
0:dc7dc4c8d832
completed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RITVIK_DAVE 0:dc7dc4c8d832 1 #include "mbed.h"
RITVIK_DAVE 0:dc7dc4c8d832 2 #include "nRF24L01P.h"
RITVIK_DAVE 0:dc7dc4c8d832 3 BusOut LED(PTA5,PTA12, PTC8);
RITVIK_DAVE 0:dc7dc4c8d832 4 Serial pc(USBTX, USBRX); // tx, rx
RITVIK_DAVE 0:dc7dc4c8d832 5
RITVIK_DAVE 0:dc7dc4c8d832 6
RITVIK_DAVE 0:dc7dc4c8d832 7 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // mosi, miso, sck, csn, ce, irq
RITVIK_DAVE 0:dc7dc4c8d832 8 //DigitalOut GreenLED(PTA12);
RITVIK_DAVE 0:dc7dc4c8d832 9
RITVIK_DAVE 0:dc7dc4c8d832 10
RITVIK_DAVE 0:dc7dc4c8d832 11 int main() {
RITVIK_DAVE 0:dc7dc4c8d832 12
RITVIK_DAVE 0:dc7dc4c8d832 13 char count[1];
RITVIK_DAVE 0:dc7dc4c8d832 14 char RxDataCnt;
RITVIK_DAVE 0:dc7dc4c8d832 15 char temp;
RITVIK_DAVE 0:dc7dc4c8d832 16
RITVIK_DAVE 0:dc7dc4c8d832 17 //float x,y,z,POT,LDR;
RITVIK_DAVE 0:dc7dc4c8d832 18
RITVIK_DAVE 0:dc7dc4c8d832 19 my_nrf24l01p.powerUp();
RITVIK_DAVE 0:dc7dc4c8d832 20 my_nrf24l01p.setRfFrequency(2445);
RITVIK_DAVE 0:dc7dc4c8d832 21
RITVIK_DAVE 0:dc7dc4c8d832 22 // Display the (default) setup of the nRF24L01+ chip
RITVIK_DAVE 0:dc7dc4c8d832 23 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
RITVIK_DAVE 0:dc7dc4c8d832 24 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
RITVIK_DAVE 0:dc7dc4c8d832 25 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
RITVIK_DAVE 0:dc7dc4c8d832 26 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
RITVIK_DAVE 0:dc7dc4c8d832 27 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
RITVIK_DAVE 0:dc7dc4c8d832 28
RITVIK_DAVE 0:dc7dc4c8d832 29 pc.printf( "Simple 3 Byte Receiver\r\n" );
RITVIK_DAVE 0:dc7dc4c8d832 30
RITVIK_DAVE 0:dc7dc4c8d832 31 RxDataCnt = 1;
RITVIK_DAVE 0:dc7dc4c8d832 32 my_nrf24l01p.setTransferSize( RxDataCnt );
RITVIK_DAVE 0:dc7dc4c8d832 33
RITVIK_DAVE 0:dc7dc4c8d832 34 my_nrf24l01p.setReceiveMode();
RITVIK_DAVE 0:dc7dc4c8d832 35 my_nrf24l01p.enable();
RITVIK_DAVE 0:dc7dc4c8d832 36
RITVIK_DAVE 0:dc7dc4c8d832 37 while (1) {
RITVIK_DAVE 0:dc7dc4c8d832 38
RITVIK_DAVE 0:dc7dc4c8d832 39 // If we've received anything in the nRF24L01+...
RITVIK_DAVE 0:dc7dc4c8d832 40 if ( my_nrf24l01p.readable() ) {
RITVIK_DAVE 0:dc7dc4c8d832 41
RITVIK_DAVE 0:dc7dc4c8d832 42 // ...read the data into the receive buffer
RITVIK_DAVE 0:dc7dc4c8d832 43 temp = my_nrf24l01p.read( NRF24L01P_PIPE_P0, count, RxDataCnt );
RITVIK_DAVE 0:dc7dc4c8d832 44
RITVIK_DAVE 0:dc7dc4c8d832 45 pc.printf( "Cnt %d = level-->%d \r\n",temp,count[0]);
RITVIK_DAVE 0:dc7dc4c8d832 46 if(count[0]==0)
RITVIK_DAVE 0:dc7dc4c8d832 47 { LED=0x06;
RITVIK_DAVE 0:dc7dc4c8d832 48 pc.printf("surface is Level\r");
RITVIK_DAVE 0:dc7dc4c8d832 49 }
RITVIK_DAVE 0:dc7dc4c8d832 50 else if(count[0]==1)
RITVIK_DAVE 0:dc7dc4c8d832 51 { LED=0x05;
RITVIK_DAVE 0:dc7dc4c8d832 52 pc.printf("surface is close to Level\r");
RITVIK_DAVE 0:dc7dc4c8d832 53 }
RITVIK_DAVE 0:dc7dc4c8d832 54 else
RITVIK_DAVE 0:dc7dc4c8d832 55 { LED=0x03;
RITVIK_DAVE 0:dc7dc4c8d832 56 pc.printf("Emergency\r");
RITVIK_DAVE 0:dc7dc4c8d832 57 }
RITVIK_DAVE 0:dc7dc4c8d832 58
RITVIK_DAVE 0:dc7dc4c8d832 59 // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
RITVIK_DAVE 0:dc7dc4c8d832 60 //GreenLED = !GreenLED;
RITVIK_DAVE 0:dc7dc4c8d832 61 wait_ms(0.01);
RITVIK_DAVE 0:dc7dc4c8d832 62 }
RITVIK_DAVE 0:dc7dc4c8d832 63 }
RITVIK_DAVE 0:dc7dc4c8d832 64 }