]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Fix that addresses CC2420 Errata Note 003, rev. 0.3.
authorjwhui <jwhui>
Wed, 17 Jan 2007 05:24:52 +0000 (05:24 +0000)
committerjwhui <jwhui>
Wed, 17 Jan 2007 05:24:52 +0000 (05:24 +0000)
tos/chips/cc2420/CC2420ControlC.nc
tos/chips/cc2420/CC2420ControlP.nc
tos/chips/cc2420/CC2420SpiC.nc

index a453770e4fbf7d28a1f3c068cf914bc70cc3d74b..04de72efad0dd27e22321691291b1827e267d8e6 100644 (file)
@@ -81,6 +81,7 @@ implementation {
   CC2420ControlP.IOCFG1 -> Spi.IOCFG1;
   CC2420ControlP.MDMCTRL0 -> Spi.MDMCTRL0;
   CC2420ControlP.MDMCTRL1 -> Spi.MDMCTRL1;
+  CC2420ControlP.RXCTRL1 -> Spi.RXCTRL1;
   CC2420ControlP.PANID -> Spi.PANID;
 
   components new CC2420SpiC() as SyncSpiC;
index 38464cb4b3375e50877a5c390652bcc5ce977e7f..333d3ca7819d0f5d484ae96acfa2f7bb1a30bdb1 100644 (file)
@@ -56,6 +56,7 @@ module CC2420ControlP {
   uses interface CC2420Register as IOCFG1;
   uses interface CC2420Register as MDMCTRL0;
   uses interface CC2420Register as MDMCTRL1;
+  uses interface CC2420Register as RXCTRL1;
   uses interface CC2420Strobe as SRXON;
   uses interface CC2420Strobe as SRFOFF;
   uses interface CC2420Strobe as SXOSCOFF;
@@ -172,6 +173,13 @@ implementation {
                           ( 1 << CC2420_MDMCTRL0_AUTOCRC ) |
                           ( 1 << CC2420_MDMCTRL0_AUTOACK ) |
                           ( 2 << CC2420_MDMCTRL0_PREAMBLE_LENGTH ) );
+      call RXCTRL1.write( ( 1 << CC2420_RXCTRL1_RXBPF_LOCUR ) |
+                          ( 1 << CC2420_RXCTRL1_LOW_LOWGAIN ) |
+                          ( 1 << CC2420_RXCTRL1_HIGH_HGM ) |
+                          ( 1 << CC2420_RXCTRL1_LNA_CAP_ARRAY ) |
+                          ( 1 << CC2420_RXCTRL1_RXMIX_TAIL ) |
+                          ( 1 << CC2420_RXCTRL1_RXMIX_VCM ) |
+                          ( 2 << CC2420_RXCTRL1_RXMIX_CURRENT ) );
     }
     return SUCCESS;
   }
index c2c70c495bdce1237b29eae0f2ed6507aface58a..8d54674b13dbf93fb6fb7d60ceb435a41b14955d 100644 (file)
@@ -57,6 +57,7 @@ generic configuration CC2420SpiC() {
   provides interface CC2420Register as IOCFG1;
   provides interface CC2420Register as MDMCTRL0;
   provides interface CC2420Register as MDMCTRL1;
+  provides interface CC2420Register as RXCTRL1;
   provides interface CC2420Register as TXCTRL;
 
   // ram
@@ -99,6 +100,7 @@ implementation {
   IOCFG1 = Spi.Reg[ CC2420_IOCFG1 ];
   MDMCTRL0 = Spi.Reg[ CC2420_MDMCTRL0 ];
   MDMCTRL1 = Spi.Reg[ CC2420_MDMCTRL1 ];
+  RXCTRL1 = Spi.Reg[ CC2420_RXCTRL1 ];
   TXCTRL = Spi.Reg[ CC2420_TXCTRL ];
 
   // ram