--- a/runtime/eRPCServer.py Thu Feb 29 17:35:03 2024 +0100
+++ b/runtime/eRPCServer.py Thu Mar 07 16:37:02 2024 +0100
@@ -21,8 +21,6 @@
from runtime.ServicePublisher import ServicePublisher
-CRITICAL_LOG_LEVEL = LogLevelsDict["CRITICAL"]
def ReturnAsLastOutput(method, args_wrapper, *args):
args[-1].value = method(*args_wrapper(*args[:-1]))
@@ -107,40 +105,44 @@
if self._to_be_published():
+ # service handler calls PLC object though erpc_stubs's wrappers + "PLCObjectServiceHandlder", + (IBeremizPLCObjectService,), + {name: rpc_wrapper(name) + for name,_func in getmembers(IBeremizPLCObjectService, isfunction)})() + service = BeremizPLCObjectServiceService(handler) + # TODO initialize Serial transport layer if selected + # transport = erpc.transport.SerialTransport(device, baudrate) + # initialize TCP transport layer + self.transport = erpc.transport.TCPTransport(self.ip_addr, int(self.port), True) + self.server = erpc.simple_server.SimpleServer(self.transport, erpc.basic_codec.BasicCodec) + self.server.add_service(service) - # service handler calls PLC object though erpc_stubs's wrappers
- "PLCObjectServiceHandlder",
- (IBeremizPLCObjectService,),
- {name: rpc_wrapper(name)
- for name,_func in getmembers(IBeremizPLCObjectService, isfunction)})()
- service = BeremizPLCObjectServiceService(handler)
- # TODO initialize Serial transport layer if selected
- # transport = erpc.transport.SerialTransport(device, baudrate)
+ except erpc.transport.ConnectionClosed: + PLC().LogMessage(LogLevelsDict["DEBUG"], 'eRPC client disconnected') - # initialize TCP transport layer
- self.transport = erpc.transport.TCPTransport(self.ip_addr, int(self.port), True)
- self.server = erpc.simple_server.SimpleServer(self.transport, erpc.basic_codec.BasicCodec)
- self.server.add_service(service)
self.continueloop = False
self.servicepublisher = ServicePublisher("ERPC")