Skip to content

Commit

Permalink
Write the first tutorial in the docs restructure
Browse files Browse the repository at this point in the history
  • Loading branch information
coretl committed Nov 28, 2016
1 parent 5b14391 commit 95cd126
Show file tree
Hide file tree
Showing 117 changed files with 674 additions and 313 deletions.
7 changes: 4 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Malcolm
=======

|build-status| |coverage| |health| |pypi-version| |readthedocs|
|build_status| |coverage| |health| |pypi_version| |readthedocs|

Malcolm is a middlelayer service that allows high level configure/run control
of control system components generally involved in continuous scans. This
Expand Down Expand Up @@ -43,15 +43,16 @@ License
APACHE License. (see `LICENSE`_)


.. |build-status| image:: https://travis-ci.org/dls-controls/pymalcolm.svg?style=flat
.. |build_status| image:: https://travis-ci.org/dls-controls/pymalcolm
.svg?style=flat
:target: https://travis-ci.org/dls-controls/pymalcolm
:alt: Build Status

.. |coverage| image:: https://coveralls.io/repos/dls-controls/pymalcolm/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/dls-controls/pymalcolm?branch=master
:alt: Test coverage

.. |pypi-version| image:: https://img.shields.io/pypi/v/malcolm.svg
.. |pypi_version| image:: https://img.shields.io/pypi/v/malcolm.svg
:target: https://pypi.python.org/pypi/malcolm/
:alt: Latest PyPI version

Expand Down
136 changes: 0 additions & 136 deletions docs/arch/intro.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ def get_version():
'sphinxcontrib.plantuml',
'sphinx.ext.intersphinx',
'sphinx.ext.viewcode',
'IPython.sphinxext.ipython_console_highlighting',
]

# http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.2.0/twisted/python/procutils.py?format=txt
Expand Down
7 changes: 0 additions & 7 deletions docs/dev/api/controllers/clientcontroller.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docs/dev/api/controllers/scanpointtickercontroller.rst

This file was deleted.

10 changes: 0 additions & 10 deletions docs/dev/api/core/attribute.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/dev/api/core/block.rst

This file was deleted.

10 changes: 0 additions & 10 deletions docs/dev/api/core/controller.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docs/dev/api/core/map.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/dev/api/core/methodmeta.rst

This file was deleted.

10 changes: 0 additions & 10 deletions docs/dev/api/core/part.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/dev/api/core/process.rst

This file was deleted.

14 changes: 0 additions & 14 deletions docs/dev/api/core/statemachine.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docs/dev/api/core/vmeta.rst

This file was deleted.

7 changes: 7 additions & 0 deletions docs/developer_docs/api/controllers/managercontroller.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ManagerController
-----------------

.. module:: malcolm.controllers

.. autoclass:: ManagerController
:members:
7 changes: 7 additions & 0 deletions docs/developer_docs/api/controllers/runnablecontroller.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
RunnableController
------------------

.. module:: malcolm.controllers

.. autoclass:: RunnableController
:members:
22 changes: 22 additions & 0 deletions docs/developer_docs/api/core/attribute.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. _Attribute:

Attribute
---------

An Attribute holds a value such as an Int, Float or Enum Table representing
the current state of a block.

Hold the current value of a piece of data of a fixed simple type
like Int, Float, String, Enum, IntArray or Table. You can Get and Subscribe to
changes in all Attributes, and Put to Attributes with a defined setter. In a
client Block, Attributes will mirror the value of the Block acting as a
server, with a Put operation being forwarded to the server Block. For example,
the State of a Block would be an Attribute, as would the CurrentStep of a
scan.

Subclasses serialize differently.

.. module:: malcolm.core

.. autoclass:: Attribute
:members:
20 changes: 20 additions & 0 deletions docs/developer_docs/api/core/block.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.. _Block:

Block
-----

A Block consists of number of Attributes and Methods:

An object consisting of a number of Attributes and Methods. It should
be designed to be as small and self contained as possible, and complex logic
should be implemented by nesting Blocks. For example, a detector driver would
be a Block, as would an HDF writer, but there would also be a higher level
detector Block to co-ordinate the low level Blocks. Any Block may be
synchronized among a number of Processes, the Block acting as the server will
perform the logic, and the client copies will expose the same API as the
server Block to the end user.

.. module:: malcolm.core

.. autoclass:: Block
:members:
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
.. _ClientComms:

ClientComms
-----------

ClientComms is used to set up communication for a client with its server

.. module:: malcolm.core.clientcomms
.. module:: malcolm.core

.. autoclass:: ClientComms
:members:
21 changes: 21 additions & 0 deletions docs/developer_docs/api/core/controller.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. _Controller:

Controller
----------

Controller: A State Machine just exposes the list of allowed transitions
between States. The Controller provides the logic that goes behind those
transitions. It creates a number of Methods fixing the external interface of
how to control the blocks, creates some Attributes for monitoring
configuration and runtime variables, and then exposes a number of hooks that
Parts can utilise to be executed and control transition to other states. For
example, there will be an AreaDetectorController with hooks for
PreRunDriverStart, PreRunPluginStart, and Running.

A Controller implements the logic for changing states and contains Hooks for
allow Parts to run any functions that are relevant to the current transition:

.. module:: malcolm.core

.. autoclass:: Controller
:members:

0 comments on commit 95cd126

Please sign in to comment.