Some nRF code, untested.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Tue, 18 May 2010 18:44:47 +0000 (18:44 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Tue, 18 May 2010 18:44:47 +0000 (18:44 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@521 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

firmware/apps/radios/nrf.c
firmware/include/nrf.h

index f81afba..d105af5 100644 (file)
@@ -59,8 +59,6 @@ unsigned char nrftrans8(unsigned char byte){
 }
 
 
 }
 
 
-
-
 //! Handles a Nordic RF command.
 void nrfhandle(unsigned char app,
               unsigned char verb,
 //! Handles a Nordic RF command.
 void nrfhandle(unsigned char app,
               unsigned char verb,
@@ -71,6 +69,8 @@ void nrfhandle(unsigned char app,
   P5OUT|=SS;
   nrfsetup();
   
   P5OUT|=SS;
   nrfsetup();
   
+  debugstr("NRF Handler");
+  
   switch(verb){
     //PEEK and POKE might come later.
   case READ:
   switch(verb){
     //PEEK and POKE might come later.
   case READ:
@@ -82,9 +82,12 @@ void nrfhandle(unsigned char app,
     txdata(app,verb,len);
     break;
 
     txdata(app,verb,len);
     break;
 
-
-
   case PEEK://Grab NRF Register
   case PEEK://Grab NRF Register
+    P5OUT&=~SS; //Drop !SS to begin transaction.
+    nrftrans8(0|(0x1F & cmddata[0])); //000A AAAA
+    for(i=1;i<len;i++)
+      cmddata[i]=nrftrans8(cmddata[i]);
+    P5OUT|=SS;  //Raise !SS to end transaction.
     txdata(app,verb,0);
     break;
     
     txdata(app,verb,0);
     break;
     
index 8b13789..f7af527 100644 (file)
@@ -1 +1,17 @@
+/*! \file nrf.h
+  \author Travis Goodspeed
+  \brief Constants for NRF Driver
+*/
+
+//Nordic RF Instructions
+#define NRF_R_REGISTER   0x00
+#define NRF_W_REGISTER   0x20
+#define NRF_R_RX_PAYLOAD 0x60
+#define NRF_W_TX_PAYLOAD 0xA0
+#define NRF_FLUSH_TX     0xE0
+#define NRF_FLUSH_RX     0xE1
+#define NRF_REUSE_TX_PL  0xE2
+#define NRF_NOP          0xFF
+
+