diff --git a/doc/sphinx/source/abbreviation.txt b/doc/sphinx/source/abbreviation.txt index 9b7b30bc10baba59d95b6163021d2d1998cc7800..172cfdaffa6b766e35b126b2454feaf2028741df 100644 --- a/doc/sphinx/source/abbreviation.txt +++ b/doc/sphinx/source/abbreviation.txt @@ -14,3 +14,15 @@ .. |Sphinx| replace:: Sphinx .. _Sphinx: http://sphinx-doc.org + +.. |NIST-RS-274| replace:: The NIST RS274NGC Interpreter — Version 3 +.. _NIST-RS-274: https://www.nist.gov/publications/nist-rs274ngc-interpreter-version-3 + +.. |LinuxCNC| replace:: Linux CNC +.. _LinuxCNC: http://linuxcnc.org/docs/2.7/html/gcode/overview.html + +.. |Machinekit| replace:: Machinekit +.. _Machinekit: http://www.machinekit.io + +.. |YAML| replace:: YAML +.. _YAML: https://yaml.org diff --git a/doc/sphinx/source/bibliography.rst b/doc/sphinx/source/bibliography.rst index e72586abf70214f796aeebc3d3aa7f6ac7698d52..52fedfcc4fba0d79fc840bc74a2f51af0d75eaba 100644 --- a/doc/sphinx/source/bibliography.rst +++ b/doc/sphinx/source/bibliography.rst @@ -1,6 +1,12 @@ +.. include:: abbreviation.txt + .. _bibliography-page: ============== Bibliography ============== +G-Code +------ + +* |NIST-RS-274|_ diff --git a/doc/sphinx/source/design-notes.rst b/doc/sphinx/source/design-notes.rst index d538a741f50d068b49dcf46d396e932f5c03e8ea..1cc92573fae1eafd7736e33ac9a3fdf3ea3a391a 100644 --- a/doc/sphinx/source/design-notes.rst +++ b/doc/sphinx/source/design-notes.rst @@ -1,7 +1,24 @@ +.. include:: abbreviation.txt + .. _design-note-page: ============== Design Notes ============== -To be written ... +G-Code Parser +------------- + +The RS-274 parser is generated automatically from the grammar defined in the paper |NIST-RS-274|_ +(Appendix E) using the generator `PLY `_ which implement a +LALR(1) parser similar to the tools **lex** and **yacc**. + +The parser construct an `abstract syntax tree (AST) +`_ during the parsing. + +User can subclass this parser to support a derived G-code flavour. + +G-code flavours +--------------- + +The different flavours are partly handled in |YAML|_ files. diff --git a/doc/sphinx/source/donate.rst b/doc/sphinx/source/donate.rst index 217e1b994f995516615e011f5148abf3b415488d..81b9fdaa298d0fb2bf1220c4bf67dc066898f43b 100644 --- a/doc/sphinx/source/donate.rst +++ b/doc/sphinx/source/donate.rst @@ -8,7 +8,7 @@ If you like PythonicGcodeMachine, you can donate for its developement to my `Pay `_. This budget could help me to mainly finance a domain, a vps to host a site, a forum (*) and also to -participate to conference on open source Electronic Design Automation. +participate to conference. -(*) This web site is actually hosted on my vps, which is quite loaded. I don't use hosting site -since it is easier to update the documentation using my own infrastructure. +.. (*) This web site is actually hosted on my vps, which is quite loaded. I don't use hosting site + since it is easier to update the documentation using my own infrastructure. diff --git a/doc/sphinx/source/faq.rst b/doc/sphinx/source/faq.rst index 8236b67fd69783aec3f2fbf657fb49574b6e22c9..201936f01e865273c5e820f5b8d85e431952eaf4 100644 --- a/doc/sphinx/source/faq.rst +++ b/doc/sphinx/source/faq.rst @@ -12,19 +12,19 @@ How to get help or report an issue ? .. There is no mailing list or forum actually, so you can either contact me or fill an issue on Github. -If you want to **discuss or ask questions on PythonicGcodeMachine**, you can subscribe and post messages on the -**PythonicGcodeMachine User** mailing list. - -There is actually three lists running on Google Groups (*): - -`User List `_ - List for PythonicGcodeMachine users -`Announce List `_ - List for announcements regarding PythonicGcodeMachine releases and development -`Devel List `_ - List for developers of PythonicGcodeMachine +.. If you want to **discuss or ask questions on PythonicGcodeMachine**, you can subscribe and post messages on the +.. **PythonicGcodeMachine User** mailing list. +.. +.. There is actually three lists running on Google Groups (*): +.. +.. `User List `_ +.. List for PythonicGcodeMachine users +.. `Announce List `_ +.. List for announcements regarding PythonicGcodeMachine releases and development +.. `Devel List `_ +.. List for developers of PythonicGcodeMachine **If you encounter an issue, please fill an issue** on the `Issue Tracker `_. -(*) Despite Google Groups has many drawbacks, I don't have actually enough resources to run GNU Mailman or -Discourse on my own IT infrastructure. +.. (*) Despite Google Groups has many drawbacks, I don't have actually enough resources to run GNU Mailman or + Discourse on my own IT infrastructure. diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 717f29c53e9796cc08e81b911d184019ad234f78..4225e4084fbba03385a77e49972c19e439d9b38e 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -37,22 +37,19 @@
-######## - Title -######## +############################ + The Pythonic Gcode Machine +############################ -.. image:: /_static/logo.png - :alt: PythonicGcodeMachine logo - :width: 750 - -.. important:: - This doc was generated from a template and need to be completed ... +.. .. image:: /_static/logo.png +.. :alt: PythonicGcodeMachine logo +.. :width: 750 ******** Overview ******** -PythonicGcodeMachine is a free and open source (*) Python module which interface |Python|_ ... +PythonicGcodeMachine is a free and open source (*) Python toolkit to work with RS-274 / ISO G-Code. .. rst-class:: small-text diff --git a/doc/sphinx/source/installation.rst b/doc/sphinx/source/installation.rst index 31a8f0167e3e4876feaa20ab3323517f15014345..538fb7ce2e5bfae72dc6cf5c71b07502692b5e3a 100644 --- a/doc/sphinx/source/installation.rst +++ b/doc/sphinx/source/installation.rst @@ -95,15 +95,8 @@ Dependencies PythonicGcodeMachine requires the following dependencies: * |Python|_ 3 - * |Numpy|_ + * these `Python packages `_ -Also it is recommanded to have these Python modules: +For development, you could also need the `dependencies +`_. - * |IPython|_ - -.. * pip -.. * virtualenv - -To generate the documentation, you will need in addition: - - * |Sphinx|_ diff --git a/doc/sphinx/source/news.txt b/doc/sphinx/source/news.txt index 19162e348011d3f40158d9d7490d00fbacf64079..5987ddd218f5d5a6baaed573d0defe1140a92171 100644 --- a/doc/sphinx/source/news.txt +++ b/doc/sphinx/source/news.txt @@ -5,7 +5,7 @@ .. no title here -V0 2018-01-01 ---------------- +V0 2018-12-22 +------------- Started project diff --git a/doc/sphinx/source/overview.rst b/doc/sphinx/source/overview.rst index 2a8ae189d56ac9ce561c129fac8e2ac446621012..b9ea5dc8f649bf71a0ffae5e03612c4063e3a284 100644 --- a/doc/sphinx/source/overview.rst +++ b/doc/sphinx/source/overview.rst @@ -8,17 +8,17 @@ ========== What is PythonicGcodeMachine ? ---------------------- +------------------------------ -PythonicGcodeMachine is an open source Python module which provides a |Python|_ .... +PythonicGcodeMachine is a free and open source Python toolkit to work with RS-274 / ISO G-Code. How is PythonicGcodeMachine licensed ? ------------------------------ +-------------------------------------- PythonicGcodeMachine is licensed under the `GPLv3 `_. Going further with PythonicGcodeMachine ------------------------------- +--------------------------------------- The best way to know what you can do with PythonicGcodeMachine, and to learn it, is to look at the examples: @@ -26,17 +26,16 @@ The best way to know what you can do with PythonicGcodeMachine, and to learn it, * :ref:`Bibliography ` Which platforms are supported by PythonicGcodeMachine ? ----------------------------------------------- +------------------------------------------------------- PythonicGcodeMachine runs on Linux, Windows 64-bit and Mac OS X. How to install PythonicGcodeMachine ? ----------------------------- +------------------------------------- The procedure to install PythonicGcodeMachine is described in the :ref:`Installation Manual `. Which version of Python is required ? ------------------------------------- -PythonicGcodeMachine requires Python 3 and the version 3.5 is recommended so as to benefit from the new *@* syntax -for units. +PythonicGcodeMachine requires at least Python 3.5. diff --git a/doc/sphinx/source/related-projects.rst b/doc/sphinx/source/related-projects.rst index d27d92ad478a548ce9bdff50349dd7a1334f20f1..943de0623fb351e80408812d26f870e2fb5a7ebc 100644 --- a/doc/sphinx/source/related-projects.rst +++ b/doc/sphinx/source/related-projects.rst @@ -4,3 +4,14 @@ Related Projects ================== +G-code Tools +------------ + +* `pygcode — GCODE Parser for Python `_ + +CAM Tools +--------- + +* `PyCAM `_ is a toolpath generator for 3-axis CNC machining. It loads + 3D models in STL format or 2D contour models from DXF or SVG files. The resulting G-Code can be + used with LinuxCNC or any other machine controller.