IOT_LAB_accelerometer_receiver

Dependencies:   MMA8451Q mbed nRF24L01P

Committer:
RITVIK_DAVE
Date:
Mon Apr 03 03:08:00 2017 +0000
Revision:
0:1208cef6fff7
acc

Who changed what in which revision?

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