erpc_interface/README.md
author Edouard Tisserant <edouard.tisserant@gmail.com>
Sat, 07 Sep 2024 12:50:57 +0200
changeset 4007 76dede1e3403
parent 3946 8815b44be31e
permissions -rw-r--r--
merge MQTT grafted from python2 branch - untested
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
```