5 Replies Latest reply on Aug 14, 2014 5:50 PM by Simba

    Galileo Interrupts

    mholler

      Does the Galileo board support Interrupts the way other arduino boards do?

       

      I tried inserting  an interrupts();   call to enable interrupts in setup() and got the error "'interrupts' was not declared in this scope".  The code was copied over from a sketch I ran on an arduino uno where it worked fine.    An attachInterrupt() function call didn't generate this type of error.   I searched through the examples with grep and couldn't find any example that used interrupts.

        • 1. Re: Galileo Interrupts
          Clayton Hofrock

          I think this falls into the not yet implemented category. Just like the servo() function and a few other.

           

          Here is a thread on the topic:

          Re: Interrupt and PWM on Galileo

          • 2. Re: Galileo Interrupts
            Clayton Hofrock

            Oh, and according to the release notes, Intel® Galileo Release Notes (1.0.0) section 1.7.6 Only edge triggered interrupts are supported. Level triggered interrupts are not supported.

            1 of 1 people found this helpful
            • 3. Re: Galileo Interrupts
              mholler

              I did see the release note saying that level triggered interrupts are not supported but, I found when trying to use any form of interrupt that the enable interrupts function was not recognized.  In a separate voice conversation with Intel Galileo folks I was informed that interrupts are not currently supported in arduino sketches.   The Quark processor has an integral interrupt controller so it doesn't seem to be an issue with the hardware. 

               

              Note also that openCV is not yet available as an arduino library that runs on Galileo.  

              • 4. Re: Galileo Interrupts
                Len

                Servo works, .... #include <Wire.h> needs to be added because it uses I2C to talk to the chip supporting I/O. It appears to not be declared right in Servo.h. The following works:

                 

                #include <Servo.h>

                #include <Wire.h>

                Servo myservo;

                int pos = 0;

                void setup()

                {

                   myservo.attach(3);

                }

                 

                void loop()

                {

                  for (pos = 500; pos < 2000; pos+=1)

                  {

                    myservo.writeMicroseconds(pos);

                    delay(5);

                  }

                }

                1 of 1 people found this helpful
                • 5. Re: Galileo Interrupts
                  Simba

                  Hi,

                   

                  I tried the Interrupts & they work we have to attach to PIN's 2 or 3.

                  prototype of the call is as given below,

                  make the pin as INPUT pin before attaching.

                   

                  attachInterrupt(pin, ISR, mode)


                  pin:   the pin number

                  ISR:  the isr to call upon interrupt.

                  prototype         void isr_name(void);

                         

                  mode:  Galileo supports only edge triggered interrupts as of now.

                  1. RAISING
                  2. FALLING
                  3. CHANGE

                   

                  Regards

                  Simba