WIRELESS MOUSE CODE FOR RECEIVER USING NRF MODULE
Dependencies: MMA8451Q TSI USBDevice mbed nRF24L01P
Fork of kl25Z_nRF_RX by
Receiver.cpp
- Committer:
- saitejarao
- Date:
- 2018-03-18
- Revision:
- 4:47d9d6c2d7e9
- Parent:
- 3:f3e27d1b37ad
File content as of revision 4:47d9d6c2d7e9:
#include "mbed.h"
#include "nRF24L01P.h"
#include "MMA8451Q.h"
#include "TSISensor.h"
#include "USBMouse.h"
#define MMA8451_addr (0X1d<<1)
USBMouse mouse;
MMA8451Q acc(PTE25,PTE24,MMA8451_addr);
TSISensor tsi;
Serial pc(USBTX, USBRX);
nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4);
int main()
{
char count[4];
char RxDataCnt;
float x,y;
char temp;
my_nrf24l01p.powerUp();
my_nrf24l01p.setRfFrequency(2400);
RxDataCnt = 4;
my_nrf24l01p.setTransferSize( RxDataCnt );
my_nrf24l01p.setReceiveMode();
my_nrf24l01p.enable();
while (1)
{
if ( my_nrf24l01p.readable() )
{
temp = my_nrf24l01p.read( NRF24L01P_PIPE_P0, count, RxDataCnt );
// pc.printf( "Cnt %d = %d %d %d %d\r\n",temp,count[0],count[1],count[2],count[3]);
y=count[0];
x=count[1];
y=(y/50.0f)-(float)2;
x=(x/50.0f)-(float)2;
mouse.move(-1.0f*y*20.0f,x*20.0f);
if(count[2]==1)
{
mouse.press(MOUSE_LEFT);
}
else if(count[3]==1)
{
mouse.press(MOUSE_RIGHT);
}
else
{
mouse.release(MOUSE_LEFT);
mouse.release(MOUSE_RIGHT);
}
wait_ms(50);
}
}
}
