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.
