Am Sonntag, 11. September 2016 21:28:52 UTC+2 schrieb beezerlm:
>
> Hi TJF,
>
>      So basically the libpruio is a driver that makes it easier to access 
> the PRU and assign I/O and create a subsystem program loop?  Is that 
> correct?  What would be the downside of using this driver?  Added Latency?
>

Not entirely correct. It doesn't provide access to the PRU.

libpruio is a non-LINUX driver. Instead of one folder in sysfs for any 
subsystem, it provides one shared library driving many subsystems. Instead 
of reading lots of kernel docs, the user configures a feature for a header 
pin and is done. That makes it easy and fast (~10 times lower latency than 
kernel drivers) to access the CPU hardware (for digital IO and analog I). 
Additionally libpruio provides access to each hardware register, so it's 
highly flexible. Therefor it uses SW running on one PRU and a shared 
library running on the ARM.

Downsides:

   - Its limited to ARM335x CPUs (BBW, BBB, BBG).
   - Just one PRU is free for your application.

As far as I understand your target, a reciprocating pneumatic cylinder 
isn't that fast and you should be happy with a main loop running in less 
than 5 kHz. This you can realise in a high level compiler language running 
on the ARM (as long as you don't have high interrupt loads).

Often, I start my projects that way and when I learn in the concept phase 
that the project needs better real-time capabilities, I transform the 
controller loop from high-level language to PRU assembler. libpruio is 
designed for that process.

Regards 

-- 
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/0fd059bb-ce03-4d6a-a8b4-6b4acc4ee299%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to