pru

pru

Node.js module to utilise the Programmable Realtime Units (PRUs) of the BeagleBone

Showing:

Popularity

Downloads/wk

3

GitHub Stars

33

Maintenance

Last Commit

6yrs ago

Contributors

3

Package

Dependencies

0

License

BSD-2-Clause

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Access the Programmable Realtime Units (PRUs) of the BeagleBone from Node.js

This module allows you to interface your Node.js code with programs executing on the BeagleBones Programmable Realtime Units (PRUs). The BeagleBone has 2 PRUs which are separate to the main CPU and run at 200MHz with access to 16 GPIOs each. The benefits of executing code on the PRU are guaranteed realtime execution (outside of the OS) with no load on the primary CPU. The PRUs are coded in TIs own assembly instruction set and can communicate with code running within the OS via interrupts and shared memory space.

This README does not aim to be a complete guide to setting up the PRUs and using them from Node.js. As it is mostly built on the AM335x_PRU Drivers, the Python PRU bindings and the BBB PRU setup guide, you can refer to these sources for more information about the PRUs.

The Name of the Game

This package is essentially a Node.js bindings for the AM335x_PRU Drivers.

To use this code you need to load uio_pruss and (possibly) configure an appropriate device tree fragment. Here I assume you know how to do this.

Working with device tree, loading kernel modules, installing PASM tool are outside the scope of this document. This code does (some of the) functions of the AM335x_PRU Drivers, that, essentially allow reading/writing the PRU memory, loading and executing PRU firmware, and working with PRU interrupts.

Installation

To install the module simply type

npm install prussdrv

Credits

This code is a fork of node-pru. Since the latter repository seem to be abandoned, I renamed it (so that it can be pushed to npm registry), cleaned up, simplified, and added few new functions (and possibly few bugs).

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial