--- a/README.md Tue Oct 11 15:07:14 2022 +0200
+++ b/README.md Wed Oct 19 20:53:01 2022 +0200
@@ -1,4 +1,6 @@
+<!---
[![docs](https://readthedocs.org/projects/beremiz/badge/?version=latest)](https://beremiz.readthedocs.io)
+-->
# Beremiz #
@@ -15,73 +17,154 @@
See official [Beremiz website](http://www.beremiz.org/) for more information.
-## Build on Linux ##
-
-* Prerequisites
-
- # Ubuntu/Debian :
- sudo apt-get install build-essential bison flex autoconf
- sudo apt-get install python2-dev libpython2.7-dev libgtk-3-dev libssl-dev libgl1-mesa-dev libglu1-mesa-dev python-setuptools python-lxml
-
- python2 -m pip install wxPython==4.1.1
- python2 -m pip install pyro mercurial==5.9.3 nevow matplotlib lxml zeroconf2 cycler autobahn msgpack u-msgpack-python sslpsk posix_spawn future enum34 twisted click opcua pycountry fonttools Brotli python-config
-
-* Prepare
-
- mkdir ~/Beremiz
- cd ~/Beremiz
-
-* Get Source Code
-
- cd ~/Beremiz
- hg clone https://bitbucket.org/automforge/beremiz
- hg clone https://bitbucket.org/automforge/matiec
-
-* Build MatIEC compiler
-
- cd ~/Beremiz/matiec
- autoreconf -i
- ./configure
- make
-
-* Build CanFestival (optional)
- Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
-
- cd ~/Beremiz
- hg clone http://dev.automforge.net/CanFestival-3
- cd ~/Beremiz/CanFestival-3
- ./configure --can=virtual
- make
-
-* Build Modbus library (optional)
- Only needed for Modbus support.
-
- cd ~/Beremiz
- hg clone https://bitbucket.org/mjsousa/modbus Modbus
- cd ~/Beremiz/Modbus
- make
-
-* Build BACnet (optional)
- Only needed for BACnet support.
-
- cd ~/Beremiz
- svn checkout https://svn.code.sf.net/p/bacnet/code/trunk/bacnet-stack/ BACnet
- cd BACnet
- make MAKE_DEFINE='-fPIC' MY_BACNET_DEFINES='-DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE -DINTRINSIC_REPORTING -DBACNET_TIME_MASTER -DBACNET_PROPERTY_LISTS=1 -DBACNET_PROTOCOL_REVISION=16' library
-
-
-* Launch Beremiz IDE
-
- cd ~/Beremiz/beremiz
- python Beremiz.py
+## Install latest release ##
+
+Windows installer and Snap package for Linux are available in [Github releases](https://github.com/beremiz/beremiz/releases) and [Snapcraft's store](https://snapcraft.io/beremiz)
+
+## Tutorials and examples ##
+
+In IDE, find menu "File>Tutorials and examples" to quickly open examples that should run as-is.
+
+There are more examples in 'tests/projects' and 'exemples' directories.
+
+Some example and test are shown on [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA).
+
+## Development with Beremiz ##
+
+Developers are invited to subscribe to [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
+
+The list is moderated and requires subscription before posting.
+
+To subscribe to the mailing list go [here](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/).
+
+Searchable archive using search engine of your choice is available [here](http://beremiz-devel.2374573.n4.nabble.com/).
+
+## Build on Linux (developer setup) ##
+
+### Prerequisites (Ubuntu/Debian) :
+```
+sudo apt-get install build-essential bison flex autoconf
+sudo apt-get install python2-dev libpython2.7-dev libgtk-3-dev libssl-dev libgl1-mesa-dev libglu1-mesa-dev python-setuptools
+
+python2 -m pip install \
+ future \
+ matplotlib \
+ msgpack_python \
+ u-msgpack-python \
+ zeroconf2 \
+ enum34 \
+ pyro \
+ sslpsk \
+ posix_spawn \
+ twisted \
+ nevow \
+ autobahn \
+ click \
+ opcua \
+ pycountry \
+ fonttools \
+ Brotli \
+ lxml==4.5.0 \
+ wxPython==4.1.1
+
+```
+
+### Prepare build directory
+
+All commands hereafter assume that selected directory to contain all downloaded source code and build results is '~/Beremiz'
+
+```
+mkdir ~/Beremiz
+cd ~/Beremiz
+```
+
+### Get Source Code (Mercurial)
+
+```
+cd ~/Beremiz
+hg clone https://hg.beremiz.org/beremiz
+hg clone https://hg.beremiz.org/matiec
+```
+
+### Get Source Code (Git)
+
+```
+cd ~/Beremiz
+git clone https://github.com/beremiz/beremiz
+git clone https://github.com/beremiz/matiec
+```
+
+### Build MatIEC compiler
+
+```
+cd ~/Beremiz/matiec
+autoreconf -i
+./configure
+make
+```
+
+### Build CanFestival (optional)
+
+Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
+
+```
+cd ~/Beremiz
+hg clone http://hg.beremiz.org/CanFestival-3
+cd ~/Beremiz/CanFestival-3
+./configure --can=virtual
+make
+```
+
+### Build Modbus library (optional)
+
+Only needed for Modbus support.
+
+```
+cd ~/Beremiz
+hg clone https://hg.beremiz.org/Modbus
+cd ~/Beremiz/Modbus
+make
+```
+
+### Build BACnet (optional)
+
+Only needed for BACnet support.
+
+```
+cd ~/Beremiz
+svn checkout https://svn.code.sf.net/p/bacnet/code/trunk/bacnet-stack/ BACnet
+cd BACnet
+make MAKE_DEFINE='-fPIC' MY_BACNET_DEFINES='-DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE -DINTRINSIC_REPORTING -DBACNET_TIME_MASTER -DBACNET_PROPERTY_LISTS=1 -DBACNET_PROTOCOL_REVISION=16' library
+```
+
+### Launch Beremiz IDE
+
+```
+cd ~/Beremiz/beremiz
+python Beremiz.py
+```
+
+## Run standalone Beremiz runtime ##
+
+* Start standalone Beremiz service
+
+```
+mkdir ~/beremiz_runtime_workdir
+python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_runtime_workdir
+```
+
+To connect IDE with runtime, enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service in this case :
+
+```
+PYRO://127.0.0.1:61194
+```
+
+If project's URL is 'LOCAL://', then IDE launches on demand a local instance of Beremiz python runtime working on a temporary directory.
## Build documentation
-Source code for Beremiz user manual is stored in
-[doc](tree/default/doc)
-directory in project's source tree.
-It's written in reStructuredText (ReST) and uses Sphinx to build documentation in different formats.
-
+Source code for documentation is stored in [doc](tree/default/doc) directory in project's source tree.
+It's written in reStructuredText (ReST) and uses Sphinx to generate documentation in different formats.
To build documentation you need following packages on Ubuntu/Debian:
@@ -121,40 +204,11 @@
Result documentation is stored in 'doc/\_build/latex/Beremiz.pdf'.
-## Run standalone Beremiz runtime ##
-
-Runtime implementation can be different on different platforms.
-For example, PLC used Cortex-M most likely would have C-based runtime. Beremiz project contains reference implementation in python, that can be easily run on GNU/Linux, Windows and Mac OS X.
-This section will describe how to run it.
-
-If project's URL is 'LOCAL://', then IDE launches temprorary instance of Beremiz python runtime (Beremiz_service.py) localy as user tries to connect to PLC. This allows to debug programs localy without PLC.
-
-If you want to run Beremiz_service.py as standalone service, then follow these instructions:
-
-* Start standalone Beremiz service
-
- mkdir ~/beremiz_workdir
- python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_workdir
-
-* Launch Beremiz IDE
-
- python Beremiz.py
-
-* Open/Create PLC project in Beremiz IDE.
- Enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service (For example, PYRO://127.0.0.1:61194).
- Save project and connect to running Beremiz service.
-
-## Examples ##
-
-Almost for all functionality exists example in ['tests'](tree/default/tests/projects) and ['exemples'](tree/default/tests/projects) directories.
-
-Most of examples are shown on [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA).
-
## Documentation ##
* See [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA) to get quick information how to use Beremiz IDE.
- * [Official user manual](http://beremiz.readthedocs.io/) is built from sources in doc directory.
+ * [Official documentation](http://beremiz.readthedocs.io/) is built from sources in doc directory.
Documentation does not cover all aspects of Beremiz use yet.
Contribution are very welcome!
@@ -168,12 +222,3 @@
* See official [Beremiz website](http://www.beremiz.org/) for more information.
-## Support and development ##
-
-Main community support channel is [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
-
-The list is moderated and requires subscription for posting to it.
-
-To subscribe to the mailing list go [here](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/).
-
-Searchable archive using search engine of your choice is available [here](http://beremiz-devel.2374573.n4.nabble.com/).
\ No newline at end of file