An open API service indexing awesome lists of open source software.

https://github.com/diamondlightsource/pmacparser

Delta Tau PMAC syntax parser and kinematics emulator
https://github.com/diamondlightsource/pmacparser

from-dls-controls

Last synced: about 1 month ago
JSON representation

Delta Tau PMAC syntax parser and kinematics emulator

Awesome Lists containing this project

README

          

PMACParser
================

|Build Status| |Coverage Status| |Code Health|

PMACParser is a library that parses PMAC programs.
It includes an emulator for forward kinematic programs,
which parses the program and then, using an input dictionary of
variables, runs the program, returning a dictionary of populated
variables based on the operations of the kinematic program.

Documentation
-------------

To use:

from pmacparser.pmac_parser import PMACParser

code_lines = ["Q1=(P(4800+1)*P1+P(4900+1))", "Q5=(P(4800+2)*P2+P(4900+2))"]

input_vars = {"P1": 51, "P2": 345.3, "P4801": 45.4, "P4802": 162.4, "P4901": 4, "P4902": 5}

parser = PMACParser(code_lines)

output_vars = parser.parse(input_vars)

.. |Build Status| image:: https://api.travis-ci.org/DiamondLightSource/pmacparser.svg
:target: https://travis-ci.org/DiamondLightSource/pmacparser
.. |Coverage Status| image:: https://coveralls.io/repos/github/DiamondLightSource/pmacparser/badge.svg?branch=master
:target: https://coveralls.io/github/DiamondLightSource/pmacparser?branch=master
.. |Code Health| image:: https://landscape.io/github/DiamondLightSource/pmacparser/master/landscape.svg?style=flat
:target: https://landscape.io/github/DiamondLightSource/pmacparser/master