The Asp Scripting Platform for Embedded Systems
An open-source library and toolset for providing a Python-like scripting capability in your embedded projects.
Asp is for Script Writers
The Asp language resembles basic Python (with some small differences), making it easy to learn for those who are already familiar with Python. Supports conditionals (if/elif/else), loops (while, for), and functions. Supports basic data types plus tuples, lists, sets, dictionaries, and ranges/slices. To keep things small, Asp does not support classes, exception handling, and many other advanced features.
Asp is Designed for Embedded Systems
Scripts are compiled to compact byte-code, which is checked for compatibility with the application before being allowed to run in the engine.
The Asp engine has a small code memory footprint (less than 100 KB when compiled optimizing for space). It avoids use of dynamic memory allocation and recursion, resulting in very little impact on the memory of the host application. Applications run scripts one instruction at a time, retaining a high frequency of control of the CPU. Supports blocking script functions without blocking the application. Works with bare-metal or OS-based applications. The engine is implemented entirely in C.
The engine is routinely fuzz and regression tested to ensure stability.
Applications
Robotics: homing, repeated motion sequences.
Executive computers: coordination of subsystem operations.
- Communications: device configuration.
Limited only by your imagination.
Contributing
If you have a question or suggestion, or find a bug in the code or documentation, please use the contact information below.