[Tinyos-beta-commits] CVS: tinyos-1.x/beta/platform/pxa27x
PXA27XGPIOIntM.nc, 1.1, 1.2
Philip Buonadonna
philipb at users.sourceforge.net
Wed Mar 9 14:49:50 PST 2005
Update of /cvsroot/tinyos/tinyos-1.x/beta/platform/pxa27x
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5233
Modified Files:
PXA27XGPIOIntM.nc
Log Message:
- Optimized GPIO edge detetion scan routine.
Index: PXA27XGPIOIntM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/platform/pxa27x/PXA27XGPIOIntM.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PXA27XGPIOIntM.nc 13 Nov 2004 01:12:40 -0000 1.1
--- PXA27XGPIOIntM.nc 9 Mar 2005 22:49:48 -0000 1.2
***************
*** 140,179 ****
uint32_t DetectReg;
uint8_t pin;
- uint8_t i;
atomic DetectReg = GEDR0;
! for (i = 0;i < 32; i++) {
! if (DetectReg & (1 << i)) {
! pin = i;
! signal PXA27XGPIOInt.fired[pin]();
! }
}
atomic DetectReg = GEDR1;
! for (i = 0;i < 32; i++) {
! if (DetectReg & (1 << i)) {
! pin = 32 + i;
! signal PXA27XGPIOInt.fired[pin]();
! }
}
atomic DetectReg = GEDR2;
! for (i = 0;i < 32; i++) {
! if (DetectReg & (1 << i)) {
! pin = 64 + i;
! signal PXA27XGPIOInt.fired[pin]();
! }
}
atomic DetectReg = GEDR3;
! for (i = 0;i < 32; i++) {
! if (DetectReg & (1 << i)) {
! pin = 96 + i;
! signal PXA27XGPIOInt.fired[pin]();
! }
}
--- 140,174 ----
uint32_t DetectReg;
uint8_t pin;
atomic DetectReg = GEDR0;
! while (DetectReg) {
! pin = 31 - _pxa27x_clzui(DetectReg);
! signal PXA27XGPIOInt.fired[pin]();
! DetectReg &= ~(1 << pin);
}
atomic DetectReg = GEDR1;
! while (DetectReg) {
! pin = 31 - _pxa27x_clzui(DetectReg);
! signal PXA27XGPIOInt.fired[(pin+32)]();
! DetectReg &= ~(1 << pin);
}
atomic DetectReg = GEDR2;
! while (DetectReg) {
! pin = 31 - _pxa27x_clzui(DetectReg);
! signal PXA27XGPIOInt.fired[(pin+64)]();
! DetectReg &= ~(1 << pin);
}
atomic DetectReg = GEDR3;
! while (DetectReg) {
! pin = 31 - _pxa27x_clzui(DetectReg);
! signal PXA27XGPIOInt.fired[(pin+96)]();
! DetectReg &= ~(1 << pin);
}
More information about the Tinyos-beta-commits
mailing list