Interrupt can't be used traditionally from userspace. interrupts used traditionally are kernelspace only. However . . . there are tricks to getting around, but performance will suffer. Which leaves us back at square 1
On Tue, Aug 2, 2016 at 4:31 PM, evilwulfie <[email protected]> wrote: > Or use a gpio pin that generates an interrupt, mask interrupts do your > data retrieval re enable interrupts. > > you are asking for this kind of an issue when polling. > > On 8/2/2016 3:36 PM, William Hermans wrote: > > Yes, I have 2-3 suggestions where the first suggestion may not work, but > are worth attempting. > > > - Upgrade to an RT kernel. > - Use /dev/mem/ + mmap() > - Bit bang via a PRU > - Or write a kernel driver that does all this from kernelspace, but > writes data to a file userspace hass access to. > > > > On Tue, Aug 2, 2016 at 3:17 PM, Kirk <[email protected]> wrote: > >> All, >> >> I'm working on a Beaglebone Black project using a MEMS accelerometer >> chip, the ADXL312. >> >> The accelerometer has a pin which goes active each time a new data sample >> is available to be read. >> It runs at 3200 Hz. (about 1/3 of a ms per sample) >> >> The pin is connected to a GPIO input and I've written code to monitor >> this pin and grab the data each time. >> The sampling normally runs for several seconds continuously. >> >> The problem is, every once in a while Linux gets busy and apparently >> interrupts my code and I miss samples. >> (an overrun bit lets me know this is happening) >> >> >> I'm looking for ideas on how to improve this so data samples are not >> missed. >> >> Any ideas? >> >> Kirk >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/564cb216-36a0-4528-874c-f89053d61876%40googlegroups.com >> <https://groups.google.com/d/msgid/beagleboard/564cb216-36a0-4528-874c-f89053d61876%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/CALHSORpCjghcxUpi05Wxx8ak-SF22tsLQk5WfUSQaJrsB-FJ_Q%40mail.gmail.com > <https://groups.google.com/d/msgid/beagleboard/CALHSORpCjghcxUpi05Wxx8ak-SF22tsLQk5WfUSQaJrsB-FJ_Q%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/276e93fe-e0fc-70b0-fa8a-98283c4a1730%40gmail.com > <https://groups.google.com/d/msgid/beagleboard/276e93fe-e0fc-70b0-fa8a-98283c4a1730%40gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORo5%3DB8EGPeEQZhoiiH9QwusJoqu-%2BXvT4PYgAQozWq4-A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
