erpc_interface/README.md
author Edouard Tisserant <edouard@beremiz.fr>
Thu, 05 Dec 2024 16:45:37 +0100
changeset 4061 e0dfe8b8db4a
parent 3946 8815b44be31e
permissions -rw-r--r--
py_ext: rework logic CSV reader FB output refresh logic.

Saving with CSV write FB now triggers CSV read FBs to refresh outputs immediately.
3946
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     1
# eRPC Interface
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     3
This directory contains the eRPC interface definition and Python generated code for RPC channel used in between IDE and PLC.
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     5
## Directory Structure
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     7
- `erpc_PLCObject.erpc`: eRPC interface definition, subset of IDL language
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
- `erpc_PLCObject/`: This directory contains eRPC interface generated python code
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     9
- `__init__.py`: Useless and empty file also generated by `erpcgen`
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    10
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    11
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    12
## eRPC Interface Definition
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    13
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
The eRPC interface definition files define the communication protocol and message formats used by the project. These files are used to generate the necessary code for both the client and server sides.
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    16
## Generated Code
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    17
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    18
The Python code generated from the eRPC interface definition provides the necessary functions and classes to interact with the eRPC server. This code is used to implement both sides of the communication.
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    20
```sh
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    21
erpcgen -g py erpc_PLCObject.erpc
8815b44be31e eRPC: update erpc version, add readme
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    22
```