mouse

Dependencies:   MMA8451Q USBDevice mbed nRF24L01P

Files at this revision

API Documentation at this revision

Comitter:
monish
Date:
Wed Jun 29 05:33:15 2016 +0000
Commit message:
USB mouse;

Changed in this revision

MMA8451Q.lib Show annotated file Show diff for this revision Revisions of this file
USBDevice.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
nRF24L01P.lib Show annotated file Show diff for this revision Revisions of this file
nRF_Mouse_Rx.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r ce839a2617d5 MMA8451Q.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA8451Q.lib	Wed Jun 29 05:33:15 2016 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/emilmont/code/MMA8451Q/#c4d879a39775
diff -r 000000000000 -r ce839a2617d5 USBDevice.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice.lib	Wed Jun 29 05:33:15 2016 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/mbed_official/code/USBDevice/#01321bd6ff89
diff -r 000000000000 -r ce839a2617d5 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Jun 29 05:33:15 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file
diff -r 000000000000 -r ce839a2617d5 nRF24L01P.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nRF24L01P.lib	Wed Jun 29 05:33:15 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Owen/code/nRF24L01P/#8ae48233b4e4
diff -r 000000000000 -r ce839a2617d5 nRF_Mouse_Rx.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nRF_Mouse_Rx.cpp	Wed Jun 29 05:33:15 2016 +0000
@@ -0,0 +1,107 @@
+#include "mbed.h"
+#include "nRF24L01P.h"
+#include "USBMouse.h"
+ 
+Serial pc(USBTX, USBRX); // tx, rx
+nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4);    // mosi, miso, sck, csn, ce, irq
+DigitalOut led(LED1);
+USBMouse mouse; 
+
+int main() {
+    
+    char buff[2]; //make it 4
+    char RxDataCnt_PIPE0;
+    int x=0;
+    int y=0;
+    //int z=0;
+    //int sensor=0;
+    char temp;
+    
+    
+    //specifying address same as transmitter for pipe0 and pipe1
+    long long RxAddress_PIPE0 = 0xE7E7E7E7E7;
+    
+    my_nrf24l01p.powerUp();
+    my_nrf24l01p.setRfFrequency(2425);
+    
+    //set rx address with default address and for specified pipe
+    my_nrf24l01p.setRxAddress(RxAddress_PIPE0, DEFAULT_NRF24L01P_ADDRESS_WIDTH, NRF24L01P_PIPE_P0);
+    
+ 
+    // Display the (default) setup of the nRF24L01+ chip
+    pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
+    pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
+    pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
+    pc.printf( "nRF24L01+ RX Address - PIPE0  : 0x%010llX\r\n", my_nrf24l01p.getRxAddress(NRF24L01P_PIPE_P0) );
+    pc.printf( "Wireless Sensor Network - Mouse Reciever\r\n" );
+    
+    RxDataCnt_PIPE0 = 10; //make it 4
+   
+    
+    //set transfer size explicitly for both pipes
+
+    my_nrf24l01p.setTransferSize(RxDataCnt_PIPE0, NRF24L01P_PIPE_P0);
+    
+    my_nrf24l01p.setReceiveMode();
+    my_nrf24l01p.enable();
+ 
+    //int s=10;
+    
+    while (1) {
+        
+        //check if data is available in pipe0
+        if ( my_nrf24l01p.readable(NRF24L01P_PIPE_P0) ) {
+            
+            temp = my_nrf24l01p.read( NRF24L01P_PIPE_P0, buff, RxDataCnt_PIPE0 );
+            x=buff[0];
+            y=buff[1];
+            //z=buff[2];
+            //sensor = buff[3];
+            
+            if(x>100)
+            {
+                x=x-256;
+            }
+            if(y>100)
+            {
+                y=y-256;
+            }
+            
+            mouse.move(-y,x);
+            
+            pc.printf("\n%d byte recieved: x=%d y=%d",temp,x,y);
+            
+            led = !led;
+            
+            //wait_ms(100);
+            /*
+            if(sensor<35 && sensor>1)
+            {
+            mouse.press(MOUSE_RIGHT);
+            }
+            else
+                {
+                mouse.release(MOUSE_RIGHT);
+                }    
+            if(sensor<100 && sensor>65)
+            {
+            mouse.press(MOUSE_LEFT);
+            }
+            else
+                {
+                mouse.release(MOUSE_LEFT);
+                }      
+            if(sensor>36 && sensor<64)
+            {
+            mouse.press(MOUSE_MIDDLE);
+            mouse.scroll(z);
+            }
+            else
+                {
+                mouse.release(MOUSE_MIDDLE);
+                }*/ 
+        }
+        
+       
+    }
+}
\ No newline at end of file