projects
/
goodfet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Restored instruction to flush CC2420 buffer.
[goodfet]
/
firmware
/
apps
/
radios
/
ccspi.c
diff --git
a/firmware/apps/radios/ccspi.c
b/firmware/apps/radios/ccspi.c
index
8a8d7e8
..
197886a
100644
(file)
--- a/
firmware/apps/radios/ccspi.c
+++ b/
firmware/apps/radios/ccspi.c
@@
-115,6
+115,7
@@
void ccspi_handle_fn( uint8_t const app,
uint8_t const verb,
uint32_t const len){
unsigned long i;
uint8_t const verb,
uint32_t const len){
unsigned long i;
+ u8 j;
//debugstr("Chipcon SPI handler.");
//debugstr("Chipcon SPI handler.");
@@
-126,9
+127,11
@@
void ccspi_handle_fn( uint8_t const app,
case WRITE:
case POKE:
CLRSS; //Drop !SS to begin transaction.
case WRITE:
case POKE:
CLRSS; //Drop !SS to begin transaction.
+ j=cmddata[0];//Backup address.
for(i=0;i<len;i++)
cmddata[i]=ccspitrans8(cmddata[i]);
SETSS; //Raise !SS to end transaction.
for(i=0;i<len;i++)
cmddata[i]=ccspitrans8(cmddata[i]);
SETSS; //Raise !SS to end transaction.
+ cmddata[0]=j&~0x40;//Restore address.
txdata(app,verb,len);
break;
case SETUP:
txdata(app,verb,len);
break;
case SETUP:
@@
-160,9
+163,9
@@
void ccspi_handle_fn( uint8_t const app,
SETSS;
//Flush buffer.
SETSS;
//Flush buffer.
-
//
CLRSS;
-
//
ccspitrans8(0x08); //SFLUSHRX
-
//
SETSS;
+ CLRSS;
+ ccspitrans8(0x08); //SFLUSHRX
+ SETSS;
//Only should transmit length of one more than the reported
//Only should transmit length of one more than the reported
@@
-357,6
+360,12
@@
void ccspi_handle_fn( uint8_t const app,
//Wait for last packet to TX.
//while(ccspi_status()&BIT3);
//Wait for last packet to TX.
//while(ccspi_status()&BIT3);
+
+ //Flush TX buffer.
+ CLRSS;
+ ccspitrans8(0x09); //SFLUSHTX
+ SETSS;
+
//Load the packet.
CLRSS;
//Load the packet.
CLRSS;
@@
-373,12
+382,7
@@
void ccspi_handle_fn( uint8_t const app,
//Wait for the pulse on SFD, after which the packet has been sent.
while(!SFD);
while(SFD);
//Wait for the pulse on SFD, after which the packet has been sent.
while(!SFD);
while(SFD);
-
- //Flush TX buffer.
- CLRSS;
- ccspitrans8(0x09); //SFLUSHTX
- SETSS;
-
+
txdata(app,verb,0);
#else
debugstr("Can't TX a packet with SFD and FIFOP definitions.");
txdata(app,verb,0);
#else
debugstr("Can't TX a packet with SFD and FIFOP definitions.");