55
Dependencies: MMA8451Q TSI mbed nRF24L01P
main.cpp@0:de9d80744bb6, 2017-04-03 (annotated)
- Committer:
- prtkmynk
- Date:
- Mon Apr 03 07:33:42 2017 +0000
- Revision:
- 0:de9d80744bb6
22
Who changed what in which revision?
User | Revision | Line number | New 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 | } |