Skip to content

Commit

Permalink
Merge pull request #348 from riptideio/dev
Browse files Browse the repository at this point in the history
v2.1.0
  • Loading branch information
dhoomakethu authored Oct 3, 2018
2 parents fa724ab + 26d9ac2 commit f0edef3
Show file tree
Hide file tree
Showing 28 changed files with 1,010 additions and 258 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ test/__pycache__/
/doc/html/
/doc/_build/
.pytest_cache/
/.pymodhis
**/.pymodhis
14 changes: 12 additions & 2 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
Version 2.1.0
-----------------------------------------------------------
* Fix Issues with Serial client where in partial data was read when the response size is unknown.
* Fix Infinite sleep loop in RTU Framer.
* Add pygments as extra requirement for repl.
* Add support to modify modbus client attributes via repl.
* Update modbus repl documentation.
* More verbose logs for repl.

Version 2.0.1
-----------------------------------------------------------
* Fix unicode decoder error with BinaryPayloadDecoder in some platforms
Expand Down Expand Up @@ -36,13 +45,14 @@ Version 1.5.1
* Added REPR statements for all syncchronous clients
* Added `isError` method to exceptions, Any response received can be tested for success before proceeding.

```
.. code-block:: python
res = client.read_holding_registers(...)
if not res.isError():
# proceed
else:
# handle error or raise
```
* Add examples for MEI read device information request

Version 1.5.0
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ tox: install

docs: install
@pip install --quiet --requirement=requirements-docs.txt
@cd doc && make html
@cd doc && make clean && make html

publish: install
git push origin && git push --tags origin
Expand Down
49 changes: 28 additions & 21 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
================================
PyModbus - A Python Modbus Stack
================================

.. image:: https://travis-ci.org/riptideio/pymodbus.svg?branch=master
:target: https://travis-ci.org/riptideio/pymodbus
.. image:: https://badges.gitter.im/Join%20Chat.svg
Expand All @@ -12,9 +16,9 @@
.. important::
**Note This is a Major release and might affect your existing Async client implementation. Refer examples on how to use the latest async clients.**

============================================================
------------------------------------------------------------
Summary
============================================================
------------------------------------------------------------

Pymodbus is a full Modbus protocol implementation using twisted for its
asynchronous communications core. It can also be used without any third
Expand All @@ -23,13 +27,13 @@ needed. Furthermore, it should work fine under any python version > 2.7
(including python 3+)


============================================================
------------------------------------------------------------
Features
============================================================

------------------------------------------------------------

~~~~~~~~~~~~~~~~~~~~
Client Features
------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~

* Full read/write protocol on discrete and register
* Most of the extended protocol (diagnostic/file/pipe/setting/information)
Expand All @@ -38,19 +42,19 @@ Client Features
* Payload builder/decoder utilities
* Pymodbus REPL for quick tests

------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~
Server Features
------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~

* Can function as a fully implemented modbus server
* TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
* asynchronous(powered by twisted) and synchronous versions
* Full server control context (device information, counters, etc)
* A number of backing contexts (database, redis, sqlite, a slave device)

============================================================
------------------------------------------------------------
Use Cases
============================================================
------------------------------------------------------------

Although most system administrators will find little need for a Modbus
server on any modern hardware, they may find the need to query devices on
Expand Down Expand Up @@ -94,21 +98,24 @@ trace them. I get a lot of email and sometimes these requests
get lost in the noise: http://groups.google.com/group/pymodbus or
at gitter: https://gitter.im/pymodbus_dev/Lobby

============================================================
------------------------------------------------------------
Pymodbus REPL (Read Evaluate Procee Loop)
============================================================
------------------------------------------------------------
Starting with Pymodbus 2.x, pymodbus library comes with handy
Pymodbus REPL to quickly run the modbus clients in tcp/rtu modes.

Pymodbus REPL comes with many handy features such as payload decoder
to directly retrieve the values in desired format and supports all
the diagnostic function codes directly .

For more info on REPL refer `Pymodbus REPL <pymodbus/repl/README.md>`_
For more info on REPL refer `Pymodbus REPL <https://github.com/riptideio/pymodbus/tree/master/pymodbus/repl>`_

.. image:: https://asciinema.org/a/y1xOk7lm59U1bRBE2N1pDIj2o.png
:target: https://asciinema.org/a/y1xOk7lm59U1bRBE2N1pDIj2o

============================================================
------------------------------------------------------------
Installing
============================================================
------------------------------------------------------------

You can install using pip or easy install by issuing the following
commands in a terminal window (make sure you have correct
Expand Down Expand Up @@ -144,9 +151,9 @@ out all mentions of twisted. It should be noted that without twisted,
one will only be able to run the synchronized version as the
asynchronous versions uses twisted for its event loop.

============================================================
------------------------------------------------------------
Current Work In Progress
============================================================
------------------------------------------------------------

Since I don't have access to any live modbus devices anymore
it is a bit hard to test on live hardware. However, if you would
Expand Down Expand Up @@ -182,14 +189,14 @@ Use make to perform a range of activities
make tox run the tests on all Python versions
make clean cleanup all temporary files

============================================================
------------------------------------------------------------
Contributing
============================================================
------------------------------------------------------------
Just fork the repo and raise your PR against `dev` branch.

============================================================
------------------------------------------------------------
License Information
============================================================
------------------------------------------------------------

Pymodbus is built on top of code developed from/by:
* Copyright (c) 2001-2005 S.W.A.C. GmbH, Germany.
Expand Down
4 changes: 4 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
============
CHANGELOGS
============

.. include:: ../CHANGELOG.rst
26 changes: 20 additions & 6 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
#
import os
import sys
import recommonmark
from recommonmark.parser import CommonMarkParser
from recommonmark.transform import AutoStructify
from pymodbus import __version__
parent_dir = os.path.abspath(os.pardir)
# examples = os.path.join(parent_dir, "examples")
example_contrib = os.path.join(parent_dir, "examples/contrib")
Expand All @@ -31,7 +35,7 @@
# sys.path.extend([examples, example_common, example_contrib, example_gui])
# sys.path.insert(0, os.path.abspath('../'))


github_doc_root = 'https://github.com/riptideio/pymodbus/tree/master/doc/'
# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand All @@ -41,16 +45,20 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc']
extensions = ['sphinx.ext.autodoc', 'recommonmark']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
source_parsers = {
'.md': CommonMarkParser,
}

source_suffix = ['.rst', '.md']
# source_suffix = '.rst'

# The master toctree document.
master_doc = 'index'
Expand All @@ -65,9 +73,9 @@
# built documents.
#
# The short X.Y version.
version = u'1.4.0'
version = __version__
# The full version, including alpha/beta/rc tags.
release = u'1.4.0'
release = __version__

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -176,4 +184,10 @@
]


def setup(app):
app.add_config_value('recommonmark_config', {
'url_resolver': lambda url: github_doc_root + url,
'auto_toc_tree_section': 'Contents',
}, True)
app.add_transform(AutoStructify)

2 changes: 1 addition & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Welcome to PyModbus's documentation!

readme.rst
changelog.rst
repl.rst
source/library/REPL
source/example/modules.rst
source/library/modules.rst

Expand Down
4 changes: 0 additions & 4 deletions doc/repl.rst

This file was deleted.

Loading

0 comments on commit f0edef3

Please sign in to comment.