55

Dependencies:   MMA8451Q TSI mbed nRF24L01P

Committer:
prtkmynk
Date:
Mon Apr 03 07:33:42 2017 +0000
Revision:
0:de9d80744bb6
22

Who changed what in which revision?

UserRevisionLine numberNew contents of line
prtkmynk 0:de9d80744bb6 1 #include "mbed.h"
prtkmynk 0:de9d80744bb6 2 #include "nRF24L01P.h"
prtkmynk 0:de9d80744bb6 3 #include "MMA8451Q.h"
prtkmynk 0:de9d80744bb6 4 #include "TSISensor.h"
prtkmynk 0:de9d80744bb6 5 #define address 0x1d<<1
prtkmynk 0:de9d80744bb6 6
prtkmynk 0:de9d80744bb6 7 MMA8451Q acc(PTE25,PTE24,address);
prtkmynk 0:de9d80744bb6 8 TSISensor TSI;
prtkmynk 0:de9d80744bb6 9
prtkmynk 0:de9d80744bb6 10 Serial pc(USBTX, USBRX); // tx, rx
prtkmynk 0:de9d80744bb6 11
prtkmynk 0:de9d80744bb6 12 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // mosi, miso, sck, csn, ce, irq
prtkmynk 0:de9d80744bb6 13 DigitalOut RedLED(PTA5);
prtkmynk 0:de9d80744bb6 14
prtkmynk 0:de9d80744bb6 15 int main()
prtkmynk 0:de9d80744bb6 16 {
prtkmynk 0:de9d80744bb6 17 char count[3];
prtkmynk 0:de9d80744bb6 18 char TxDataCnt;
prtkmynk 0:de9d80744bb6 19 char temp;
prtkmynk 0:de9d80744bb6 20
prtkmynk 0:de9d80744bb6 21
prtkmynk 0:de9d80744bb6 22 my_nrf24l01p.powerUp();
prtkmynk 0:de9d80744bb6 23 my_nrf24l01p.setRfFrequency(2417);
prtkmynk 0:de9d80744bb6 24
prtkmynk 0:de9d80744bb6 25 // Display the (default) setup of the nRF24L01+ chip
prtkmynk 0:de9d80744bb6 26 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
prtkmynk 0:de9d80744bb6 27 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
prtkmynk 0:de9d80744bb6 28 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
prtkmynk 0:de9d80744bb6 29 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
prtkmynk 0:de9d80744bb6 30 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
prtkmynk 0:de9d80744bb6 31
prtkmynk 0:de9d80744bb6 32 pc.printf( "Simple Transmitter (0 - 9 Counter) \r\n");
prtkmynk 0:de9d80744bb6 33
prtkmynk 0:de9d80744bb6 34 TxDataCnt = 3;
prtkmynk 0:de9d80744bb6 35 my_nrf24l01p.setTransferSize(TxDataCnt);
prtkmynk 0:de9d80744bb6 36
prtkmynk 0:de9d80744bb6 37 my_nrf24l01p.enable();
prtkmynk 0:de9d80744bb6 38
prtkmynk 0:de9d80744bb6 39
prtkmynk 0:de9d80744bb6 40
prtkmynk 0:de9d80744bb6 41 while (1) {
prtkmynk 0:de9d80744bb6 42 count[0] = (-1*10.1*acc.getAccY()+2)*60;
prtkmynk 0:de9d80744bb6 43 count[1] = (10.1*acc.getAccX()+2)*60;
prtkmynk 0:de9d80744bb6 44 count[2] = 100*TSI.readPercentage();
prtkmynk 0:de9d80744bb6 45
prtkmynk 0:de9d80744bb6 46 // Send the Transmit buffer via the nRF24L01+
prtkmynk 0:de9d80744bb6 47 temp = my_nrf24l01p.write( NRF24L01P_PIPE_P0,count, TxDataCnt );
prtkmynk 0:de9d80744bb6 48
prtkmynk 0:de9d80744bb6 49 pc.printf( "Sending %d - %d %d %d\r\n",temp,count[0],count[1],count[2]);
prtkmynk 0:de9d80744bb6 50
prtkmynk 0:de9d80744bb6 51 // Toggle LED1 (to help debug Host -> nRF24L01+ communication)
prtkmynk 0:de9d80744bb6 52 RedLED = !RedLED;
prtkmynk 0:de9d80744bb6 53
prtkmynk 0:de9d80744bb6 54
prtkmynk 0:de9d80744bb6 55
prtkmynk 0:de9d80744bb6 56 }
prtkmynk 0:de9d80744bb6 57 }