Yat shiu / Mbed 2 deprecated nRF24L01P_Hello_World2

Dependencies:   MMA8451Q mbed nRF24L01P

Fork of nRF24L01P_Hello_World by Owen Edwards

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MMA8451Q.h"
00003 #include "nRF24L01P.h"
00004 #include <string>
00005 
00006 #define MMA8451_I2C_ADDRESS (0x1d<<1)
00007 #define TRANSFER_SIZE   1
00008 
00009 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTC5, PTA4, PTC8, PTA12);    // mosi, miso, sck, csn, ce, irq
00010 DigitalOut tx(PTD5);
00011 DigitalOut rx(PTA13);
00012 DigitalIn press(PTB0);
00013 
00014 
00015 int funcx(float y);  //Function to dtermine angle
00016 string funcp(int, char);
00017 string funcp(int p, char c);
00018 Serial pc(USBTX, USBRX);
00019 
00020 float Y;
00021 int x;
00022 string z;
00023 float p;
00024 
00025 
00026 int main(){
00027     MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
00028     char rxData[TRANSFER_SIZE];
00029     int rxDataCnt = 0;
00030     my_nrf24l01p.powerUp();
00031     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
00032     my_nrf24l01p.setReceiveMode();
00033     my_nrf24l01p.enable();
00034     pc.printf("receiver\n");
00035 
00036     
00037     while (1){
00038         p = press.read();
00039         Y = abs(acc.getAccY()); //Get gyroscope readings
00040         x =funcx(Y); //Call function to determine angle based on gyroscoe readings
00041         
00042         if (p && my_nrf24l01p.readable()){//transmitter not sending signal when open string.
00043         //if (my_nrf24l01p.readable()){
00044             rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
00045             for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ){
00046                 //pc.putc( rxData[i] );
00047                 z = funcp(x, rxData[i]);
00048                 pc.printf("%s\n", z);
00049             }
00050             rx = !rx;
00051         }
00052         
00053         //z=funcp(x,rxData[i]); what is this?????????????????????????????????????????????????????????????????????
00054         
00055     }
00056 }
00057 
00058 //Function used to determine the angle for note 
00059 int funcx(float y){
00060     int a;
00061     if (y < 0.25000)       
00062         {
00063             a=1;
00064         }
00065 else if (y > 0.25001 && y < 0.5000)
00066         {
00067             a=2;
00068         } 
00069 else if (y > 0.50001 && y < 0.7500)
00070         {
00071             a=3;
00072         }
00073 else
00074         {
00075             a=4;
00076         }
00077         //pc.printf("%i     ",a);
00078         return a; 
00079 }
00080 
00081 //Final function used to dtermine what string to send to the phone//
00082 string funcp(int p, char c){ 
00083     string str; // Final string output 
00084     
00085     if(p == 1)
00086     {
00087         if(c == 'r')
00088         {
00089             str = "G string D flat"; 
00090             //return str;
00091         }
00092         if(c == 'e')
00093         {
00094             str = "G string C flat"; 
00095             //return str;
00096         }
00097         if(c == 'w')
00098         {
00099             str = "G string B flat"; 
00100             //return str;
00101         }
00102         if(c == 'q')
00103         {
00104             str = "G string A flat"; 
00105             //return str;
00106         }
00107         if(c == 'f')
00108         {
00109             str = "G string D"; 
00110             //return str;
00111         }
00112         if(c == 'd')
00113         {
00114             str = "G string C"; 
00115             //return str;
00116         }
00117         if(c == 's')
00118         {
00119             str = "G string B"; 
00120             //return str;
00121         }
00122         if(c == 'a')
00123         {
00124             str = "G string A"; 
00125             //return str;
00126         }
00127         if(c == 'v')
00128         {
00129             str = "G string D sharp"; 
00130             //return str;
00131         }
00132         if(c == 'c')
00133         {
00134             str = "G string C sharp"; 
00135             //return str;
00136         }
00137         if(c == 'x')
00138         {
00139             str = "G string B sharp"; 
00140             //return str;
00141         }
00142         if(c == 'z')
00143         {
00144             str = "G string A sharp"; 
00145             //return str;
00146         } 
00147         if(c == '0')
00148         {
00149             str = "Open G string";
00150             return str; 
00151         }
00152           
00153     }
00154     if(p == 2)
00155     {
00156         str = "Open D";
00157         if(c == 'r')
00158         {
00159             str = "D string A flat"; 
00160             //return str;
00161         }
00162         if(c == 'e')
00163         {
00164             str = "D string G flat"; 
00165             //return str;
00166         }
00167         if(c == 'w')
00168         {
00169             str = "D string F flat"; 
00170             //return str;
00171         }
00172         if(c == 'q')
00173         {
00174             str = "D string E flat"; 
00175             //return str;
00176         }
00177         if(c == 'f')
00178         {
00179             str = "D string A"; 
00180             //return str;
00181         }
00182         if(c == 'd')
00183         {
00184             str = "D string G"; 
00185             //return str;
00186         }
00187         if(c == 's')
00188         {
00189             str = "D string F"; 
00190             //return str;
00191         }
00192         if(c == 'a')
00193         {
00194             str = "D string E"; 
00195             //return str;
00196         }
00197         if(c == 'v')
00198         {
00199             str = "D string A sharp"; 
00200             //return str;
00201         }
00202         if(c == 'c')
00203         {
00204             str = "D string G sharp"; 
00205             //return str;
00206         }
00207         if(c == 'x')
00208         {
00209             str = "D string F sharp"; 
00210             //return str;
00211         }
00212         if(c == 'z')
00213         {
00214             str = "D string E sharp"; 
00215             //return str;
00216         }    
00217         if(c == '0')
00218         {
00219             str = "Open D string";
00220             return str; 
00221         } 
00222     }
00223     if(p == 3)
00224     {
00225         str = "Open A";
00226         if(c == 'r')
00227         {
00228             str = "A string E flat"; 
00229             //return str;
00230         }
00231         if(c == 'e')
00232         {
00233             str = "A string D flat"; 
00234             //return str;
00235         }
00236         if(c == 'w')
00237         {
00238             str = "A string C flat"; 
00239             //return str;
00240         }
00241         if(c == 'q')
00242         {
00243             str = "A string B flat"; 
00244             //return str;
00245         }
00246         if(c == 'f')
00247         {
00248             str = "A string E"; 
00249             //return str;
00250         }
00251         if(c == 'd')
00252         {
00253             str = "A string D"; 
00254             //return str;
00255         }
00256         if(c == 's')
00257         {
00258             str = "A string C"; 
00259             //return str;
00260         }
00261         if(c == 'a')
00262         {
00263             str = "A string B"; 
00264             //return str;
00265         }
00266         if(c == 'v')
00267         {
00268             str = "A string E sharp"; 
00269             //return str;
00270         }
00271         if(c == 'c')
00272         {
00273             str = "A string D sharp"; 
00274             //return str;
00275         }
00276         if(c == 'x')
00277         {
00278             str = "A string C sharp"; 
00279             //return str;
00280         }
00281         if(c == 'z')
00282         {
00283             str = "A string B sharp"; 
00284             //return str;
00285         }    
00286         if(c == '0')
00287         {
00288             str = "Open A string";
00289             return str; 
00290         }
00291     }
00292     if(p == 4)
00293     {
00294         str = "Open E";
00295         if(c == 'r')
00296         {
00297             str = "E string B flat"; 
00298             //return str;
00299         }
00300         if(c == 'e')
00301         {
00302             str = "E string A flat"; 
00303             //return str;
00304         }
00305         if(c == 'w')
00306         {
00307             str = "E string G flat"; 
00308             //return str;
00309         }
00310         if(c == 'q')
00311         {
00312             str = "E string F flat"; 
00313             //return str;
00314         }
00315         if(c == 'f')
00316         {
00317             str = "E string B"; 
00318             //return str;
00319         }
00320         if(c == 'd')
00321         {
00322             str = "E string A"; 
00323             //return str;
00324         }
00325         if(c == 's')
00326         {
00327             str = "E string G"; 
00328             //return str;
00329         }
00330         if(c == 'a')
00331         {
00332             str = "E string F"; 
00333             //return str;
00334         }
00335         if(c == 'v')
00336         {
00337             str = "E string B sharp"; 
00338             //return str;
00339         }
00340         if(c == 'c')
00341         {
00342             str = "E string A sharp"; 
00343             //return str;
00344         }
00345         if(c == 'x')
00346         {
00347             str = "E string G sharp"; 
00348             //return str;
00349         }
00350         if(c == 'z')
00351         {
00352             str = "E string F sharp"; 
00353             //return str;
00354         }   
00355         if(c == '0')
00356         {
00357             str = "Open E string";
00358             return str; 
00359         }  
00360     }
00361     
00362     
00363     
00364     return str;
00365 }