[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/lis3l02dq
HplLIS3L02DQLogicSPIP.nc, 1.1.2.2, 1.1.2.3
Philip Buonadonna
philipb at users.sourceforge.net
Thu Nov 2 11:36:45 PST 2006
Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/lis3l02dq
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv29809
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
HplLIS3L02DQLogicSPIP.nc
Log Message:
Removed PXA27X specific pin initialization routines
Index: HplLIS3L02DQLogicSPIP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/lis3l02dq/HplLIS3L02DQLogicSPIP.nc,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -C2 -d -r1.1.2.2 -r1.1.2.3
*** HplLIS3L02DQLogicSPIP.nc 6 Jul 2006 23:21:40 -0000 1.1.2.2
--- HplLIS3L02DQLogicSPIP.nc 2 Nov 2006 19:36:42 -0000 1.1.2.3
***************
*** 33,39 ****
* This module is the driver components for the ST LIS3L02DQ 3-axis
* accelerometer in the 4 wire SPI mode. It requires the SPI packet
! * interface and provides the HplLIS3L02DQ HPL interface.
*
* @author Phil Buonadonna <pbuonadonna at archrock.com>
* @version $Revision$ $Date$
*/
--- 33,41 ----
* This module is the driver components for the ST LIS3L02DQ 3-axis
* accelerometer in the 4 wire SPI mode. It requires the SPI packet
! * interface and assumes the ability to manually toggle the chip select
! * via a GPIO. It provides the HplLIS3L02DQ HPL interface.
*
* @author Phil Buonadonna <pbuonadonna at archrock.com>
+ * @author Kaisen Lin <klin at archrock.com>
* @version $Revision$ $Date$
*/
***************
*** 47,55 ****
uses interface SpiPacket;
uses interface GpioInterrupt as InterruptAlert;
!
! uses interface HplPXA27xGPIOPin as SPIRxD;
! uses interface HplPXA27xGPIOPin as SPITxD;
! uses interface HplPXA27xGPIOPin as SPICLK;
! uses interface HplPXA27xGPIOPin as SPIFRM;
}
--- 49,53 ----
uses interface SpiPacket;
uses interface GpioInterrupt as InterruptAlert;
! uses interface GeneralIO as SPIFRM;
}
***************
*** 79,83 ****
task void StopDone() {
- atomic mState = STATE_STOPPED;
signal SplitControl.stopDone(mSSError);
return;
--- 77,80 ----
***************
*** 90,106 ****
mState = STATE_STOPPED;
}
- call SPICLK.setGAFRpin(SSP1_SCLK_ALTFN);
- call SPICLK.setGPDRbit(TRUE);
-
// Control CS pin manually
! call SPIFRM.setGPSRbit(); // CS HIGH
! call SPIFRM.setGPDRbit(TRUE);
! //call SPIFRM.setGAFRpin(SSP1_SFRM_ALTFN);
!
! call SPIRxD.setGAFRpin(SSP1_RXD_ALTFN);
! call SPIRxD.setGPDRbit(FALSE);
! call SPITxD.setGAFRpin(SSP1_TXD_ALTFN);
! call SPITxD.setGPDRbit(TRUE);
}
}
--- 87,95 ----
mState = STATE_STOPPED;
}
// Control CS pin manually
! call SPIFRM.makeOutput();
! call SPIFRM.set();
}
+ return SUCCESS;
}
***************
*** 120,125 ****
mSPITxBuf[0] = LIS3L02DQ_CTRL_REG1;
mSPITxBuf[1] = 0;
! mSPITxBuf[1] = (LIS3L01DQ_CTRL_REG1_PD(1) | /*LIS3L01DQ_CTRL_REG1_ST |*/ LIS3L01DQ_CTRL_REG1_XEN | LIS3L01DQ_CTRL_REG1_YEN | LIS3L01DQ_CTRL_REG1_ZEN);
! call SPIFRM.setGPCRbit(); // CS LOW
error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2);
return error;
--- 109,114 ----
mSPITxBuf[0] = LIS3L02DQ_CTRL_REG1;
mSPITxBuf[1] = 0;
! mSPITxBuf[1] = (LIS3L01DQ_CTRL_REG1_PD(1) | LIS3L01DQ_CTRL_REG1_XEN | LIS3L01DQ_CTRL_REG1_YEN | LIS3L01DQ_CTRL_REG1_ZEN);
! call SPIFRM.clr(); // CS LOW
error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2);
return error;
***************
*** 140,144 ****
return error;
! return post StopDone();
}
--- 129,138 ----
return error;
! mSPITxBuf[0] = LIS3L02DQ_CTRL_REG1;
! mSPITxBuf[1] = 0;
! mSPITxBuf[1] = (LIS3L01DQ_CTRL_REG1_PD(0));
! call SPIFRM.clr(); // CS LOW
! error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2);
! return error;
}
***************
*** 153,157 ****
mSPIRxBuf[1] = 0;
mState = STATE_GETREG;
! call SPIFRM.setGPCRbit(); // CS LOW
error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2);
--- 147,151 ----
mSPIRxBuf[1] = 0;
mState = STATE_GETREG;
! call SPIFRM.clr(); // CS LOW
error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2);
***************
*** 181,185 ****
case STATE_GETREG:
mState = STATE_IDLE;
! call SPIFRM.setGPSRbit(); // CS HIGH
signal HplLIS3L02DQ.getRegDone(error, (txBuf[0] & 0x7F) , rxBuf[1]);
break;
--- 175,179 ----
case STATE_GETREG:
mState = STATE_IDLE;
! call SPIFRM.set(); // CS HIGH
signal HplLIS3L02DQ.getRegDone(error, (txBuf[0] & 0x7F) , rxBuf[1]);
break;
***************
*** 190,196 ****
case STATE_STARTING:
mState = STATE_IDLE;
! call SPIFRM.setGPSRbit();
post StartDone();
break;
default:
mState = STATE_IDLE;
--- 184,193 ----
case STATE_STARTING:
mState = STATE_IDLE;
! call SPIFRM.set();
post StartDone();
break;
+ case STATE_STOPPING:
+ mState = STATE_STOPPED;
+ post StopDone();
default:
mState = STATE_IDLE;
***************
*** 207,215 ****
}
- async event void SPITxD.interruptGPIOPin() {}
- async event void SPIRxD.interruptGPIOPin() {}
- async event void SPICLK.interruptGPIOPin() {}
- async event void SPIFRM.interruptGPIOPin() {}
-
default event void SplitControl.startDone( error_t error ) { return; }
default event void SplitControl.stopDone( error_t error ) { return; }
--- 204,207 ----
More information about the Tinyos-2-commits
mailing list