Using interrupt from accelerometer movement

Hi there,
I’m working on a project where the Arduino needs to wake up and performs a job and goes back to sleep.
The waking needs to be done by moving the accelerometer. However the accelerometer ‘fires’ no interrupt.
The sleep/awake stuff works (tested earlier with a RTC alarm interrupt). I’m having trouble with the interrupt from the accelerometer.

I’m using a LSM303 Accelerometer (Adafruit 9DOF IMU) and attached the LIN1 to INT1 of my Arduino (theairboard/Fio compatible).
Currently I’m trying to read anything which is coming though the INT1 register form the LSM303 using “compass.readAccReg(LSM303::INT1_SRC_A)” to indicate if something is going on, however I get nothing.

I’ve configured the LSM303 registers using the datasheet, but I guess I’m missing something trivial here, because the interrupt is not firing anything.

Any help is much appreciated!

#include <Wire.h>
#include <LSM303.h>
LSM303 compass; //LSM303 object
int led = 9;
int wakePin = 3; //INT1 on theairboard

void setup() {
  pinMode(3, INPUT_PULLUP);
  // put your setup code here, to run once:
  compass.init();  // Figure out which device.
  compass.enableDefault();
  compass.writeAccReg(LSM303::CTRL_REG1_A, 0x97); //Setting: Data rate selection and enable Axis
  compass.writeAccReg(LSM303::CTRL_REG3_A, 0x60); //Setting: Enable Interrupt
  compass.writeAccReg(LSM303::CTRL_REG6_A, 0x41); //Setting: Interrupt active low and Interrupt 1 on PAD2. (not sure what PAD2 is)
  compass.writeAccReg(LSM303::INT1_CFG_A, 0xD5); //Setting: AND/OR combination of interrupt events. 6-direction detection function enabled. Enable interrupt generation on X/Y/Z high/low
  compass.writeAccReg(LSM303::INT1_THS_A, 0x02); //Setting: Interrupt 1 threshold.
  compass.writeAccReg(LSM303::INT1_DURATION_A, 0x01); //Setting: Duration value.
  Serial.begin(57600);
  Serial.println(compass.readAccReg(LSM303::INT1_SRC_A), HEX); //Interrupt 1 source register. Read-only register.
  attachInterrupt(1, blink, LOW); //used for debugging
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println(compass.readAccReg(LSM303::INT1_SRC_A), HEX); //read register for debugging
  delay(100);

}
void blink() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

LSM303 datasheet link

void blink() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

You can NOT use delay() in an interrupt service routine.

I'm using a LSM303 Accelerometer (Adafruit 9DOF IMU) and attached the LIN1 to INT1 of my Arduino (theairboard/Fio compatible).

Links seem to be conspicuously absent from your post.

Thanks for your reply.
Even if I removed the delay or comment the entire function the interrupt is not working.
What do you mean with "Links seem to be conspicuously absent from your post."? I've put the link to the datasheet below in my post. Or do you mean something else?