Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
janiversen committed Aug 27, 2024
2 parents bd17873 + 50f500d commit 11bd0c5
Show file tree
Hide file tree
Showing 40 changed files with 1,331 additions and 377 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ __pycache__/
.venv
.vscode
.vscode/
build/
prof/
/dist/
dist/pymodbus*
build/html
/pymodbus.egg-info/
venv
downloaded_files/
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ Thanks to
- Dominique Martinet
- Dries
- duc996
- efdx
- Esco441-91
- Farzad Panahi
- Fredo70
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@ helps make pymodbus a better product.

:ref:`Authors`: contains a complete list of volunteers have contributed to each major version.

Version 3.7.1
-------------
* Better error message, when pyserial is missing.
* Slave=0 will return first response, used to identify device address. (#2298)
* Feature/add simulator api skeleton (#2274)
* Correct max. read size for registers. (#2295)
* Ruff complains, due to upgrade. (#2296)
* Properly process 'slaves' argument (#2292)
* Update repl requirement to >= 2.0.4 (#2291)
* Fix aiohttp < 3.9.0 (#2289)
* Simplify framer test setup (#2290)
* Clean up ModbusControlBlock (#2288)
* example docstrings diag_message -> pdu.diag_message (#2286)
* Explain version schema (#2284)
* Add more testing for WriteRegisters. (#2280)
* Proof for issue 2273. (#2277)
* Update simulator tests. (#2276)


Version 3.7.0
-------------
Expand Down
1 change: 1 addition & 0 deletions MAKE_RELEASE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,4 @@ Architecture documentation.
------------------------------------------------------------
* install graphviz
* pyreverse -k -o jpg pymodbus
l
12 changes: 12 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ PyModbus - A Python Modbus Stack

Pymodbus is a full Modbus protocol implementation offering client/server with synchronous/asynchronous API a well as simulators.

Our releases is defined as X.Y.Z, and we have strict rules what to release when:

- **Z**, No API changes! bug fixes and smaller enhancements.
- **Y**, API changes, bug fixes and bigger enhancements.
- **X**, Major changes in API and/or method to use pymodbus

Upgrade examples:

- 3.6.1 -> 3.6.9: just plugin the new version, no changes needed.
- 3.6.1 -> 3.7.0: Smaller changes to the pymodbus calls might be needed
- 2.5.4 -> 3.0.0: Major changes in the application might be needed

Current release is `3.7.0 <https://github.com/pymodbus-dev/pymodbus/releases/tag/v3.7.0>`_.

Bleeding edge (not released) is `dev <https://github.com/pymodbus-dev/pymodbus/tree/dev>`_.
Expand Down
Empty file added build/.gitkeep
Empty file.
5 changes: 0 additions & 5 deletions build/README

This file was deleted.

Empty file added dist/.gitkeep
Empty file.
Binary file modified doc/source/_static/examples.tgz
Binary file not shown.
Binary file modified doc/source/_static/examples.zip
Binary file not shown.
14 changes: 14 additions & 0 deletions doc/source/library/simulator/calls_request.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. code-block:: json
{
"submit": "Simulate"
"response_clear_after": 0,
"response_cr": "",
"response_cr_pct": 0,
"response_split": "",
"split_delay": 1
"response_delay": 0,
"response_error": 0,
"response_junk_datalen": 0,
"response_type": 0,
}
167 changes: 167 additions & 0 deletions doc/source/library/simulator/calls_response.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
.. code-block:: json
{
"simulation_action": "ACTIVE",
"range_start": null,
"range_stop": null,
"function_codes": [
{
"value": 3,
"text": "read_holding_registers",
"selected": false
},
{
"value": 2,
"text": "read_discrete_input",
"selected": false
},
{
"value": 4,
"text": "read_input_registers",
"selected": false
},
{
"value": 1,
"text": "read_coils",
"selected": false
},
{
"value": 15,
"text": "write_coils",
"selected": false
},
{
"value": 16,
"text": "write_registers",
"selected": false
},
{
"value": 6,
"text": "write_register",
"selected": false
},
{
"value": 5,
"text": "write_coil",
"selected": false
},
{
"value": 23,
"text": "read_write_multiple_registers",
"selected": false
},
{
"value": 8,
"text": "diagnostic_status",
"selected": false
},
{
"value": 7,
"text": "read_exception_status",
"selected": false
},
{
"value": 11,
"text": "get_event_counter",
"selected": false
},
{
"value": 12,
"text": "get_event_log",
"selected": false
},
{
"value": 17,
"text": "report_slave_id",
"selected": false
},
{
"value": 20,
"text": "read_file_record",
"selected": false
},
{
"value": 21,
"text": "write_file_record",
"selected": false
},
{
"value": 22,
"text": "mask_write_register",
"selected": false
},
{
"value": 24,
"text": "read_fifo_queue",
"selected": false
},
{
"value": 43,
"text": "read_device_information",
"selected": false
}
],
"function_show_hex_checked": false,
"function_show_decoded_checked": false,
"function_response_normal_checked": true,
"function_response_error_checked": false,
"function_response_empty_checked": false,
"function_response_junk_checked": false,
"function_response_split_checked": true,
"function_response_split_delay": 1,
"function_response_cr_checked": false,
"function_response_cr_pct": 0,
"function_response_delay": 0,
"function_response_junk": 0,
"function_error": [
{
"value": 1,
"text": "IllegalFunction",
"selected": false
},
{
"value": 2,
"text": "IllegalAddress",
"selected": false
},
{
"value": 3,
"text": "IllegalValue",
"selected": false
},
{
"value": 4,
"text": "SlaveFailure",
"selected": false
},
{
"value": 5,
"text": "Acknowledge",
"selected": false
},
{
"value": 6,
"text": "SlaveBusy",
"selected": false
},
{
"value": 7,
"text": "MemoryParityError",
"selected": false
},
{
"value": 10,
"text": "GatewayPathUnavailable",
"selected": false
},
{
"value": 11,
"text": "GatewayNoResponse",
"selected": false
}
],
"function_response_clear_after": 1,
"call_rows": [],
"foot": "not active",
"result": "ok"
}
7 changes: 7 additions & 0 deletions doc/source/library/simulator/registers_request.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. code-block:: json
{
"range_start": 16,
"range_end": 16,
"submit": "Register"
}
34 changes: 34 additions & 0 deletions doc/source/library/simulator/registers_response.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
.. code-block:: json
{
"result": "ok",
"footer": "Operation completed successfully",
"register_types": {
"bits": 1,
"uint16": 2,
"uint32": 3,
"float32": 4,
"string": 5,
"next": 6,
"invalid": 0
},
"register_actions": {
"null": 0,
"increment": 1,
"random": 2,
"reset": 3,
"timestamp": 4,
"uptime": 5
},
"register_rows": [
{
"index": "16",
"type": "uint16",
"access": "True",
"action": "none",
"value": "3124",
"count_read": "0",
"count_write": "0"
}
]
}
Loading

0 comments on commit 11bd0c5

Please sign in to comment.