15 import erpc |
15 import erpc |
16 |
16 |
17 # eRPC service code |
17 # eRPC service code |
18 from erpc_interface.erpc_PLCObject.interface import IBeremizPLCObjectService |
18 from erpc_interface.erpc_PLCObject.interface import IBeremizPLCObjectService |
19 from erpc_interface.erpc_PLCObject.client import BeremizPLCObjectServiceClient |
19 from erpc_interface.erpc_PLCObject.client import BeremizPLCObjectServiceClient |
20 from erpc_interface.erpc_PLCObject.common import trace_order, extra_file, PLCstatus_enum |
20 from erpc_interface.erpc_PLCObject.common import trace_order, extra_file, PLCstatus_enum, IECtype_enum |
21 |
21 |
22 import PSKManagement as PSK |
22 import PSKManagement as PSK |
23 from connectors.ERPC.PSK_Adapter import SSLPSKClientTransport |
23 from connectors.ERPC.PSK_Adapter import SSLPSKClientTransport |
24 from connectors.ConnectorBase import ConnectorBase |
24 from connectors.ConnectorBase import ConnectorBase |
25 |
25 |
53 lambda res:(res.ID, res.PSK)), |
53 lambda res:(res.ID, res.PSK)), |
54 "GetPLCstatus":TranslatedReturnAsLastOutput( |
54 "GetPLCstatus":TranslatedReturnAsLastOutput( |
55 lambda res:(enum_to_PLCstatus[res.PLCstatus], res.logcounts)), |
55 lambda res:(enum_to_PLCstatus[res.PLCstatus], res.logcounts)), |
56 "GetTraceVariables":TranslatedReturnAsLastOutput( |
56 "GetTraceVariables":TranslatedReturnAsLastOutput( |
57 lambda res:(enum_to_PLCstatus[res.PLCstatus], |
57 lambda res:(enum_to_PLCstatus[res.PLCstatus], |
58 [(sample.tick, sample.TraceBuffer) for sample in res.traces])), |
58 [(sample.tick, bytes(sample.TraceBuffer)) for sample in res.traces])), |
59 "MatchMD5":ReturnAsLastOutput, |
59 "MatchMD5":ReturnAsLastOutput, |
60 "NewPLC":ReturnAsLastOutput, |
60 "NewPLC":ReturnAsLastOutput, |
61 "SeedBlob":ReturnAsLastOutput, |
61 "SeedBlob":ReturnAsLastOutput, |
|
62 "SetTraceVariablesList": ReturnAsLastOutput, |
|
63 "StopPLC":ReturnAsLastOutput, |
62 } |
64 } |
63 |
65 |
64 ArgsWrappers = { |
66 ArgsWrappers = { |
65 "NewPLC": |
67 "NewPLC": |
66 lambda md5sum, plcObjectBlobID, extrafiles: ( |
68 lambda md5sum, plcObjectBlobID, extrafiles: ( |
67 md5sum, plcObjectBlobID, [extra_file(*f) for f in extrafiles]), |
69 md5sum, plcObjectBlobID, [extra_file(*f) for f in extrafiles]), |
68 "SetTraceVariablesList": |
70 "SetTraceVariablesList": |
69 lambda orders : ([trace_order(*order) for order in orders],) |
71 lambda orders : ([ |
|
72 trace_order(idx, getattr(IECtype_enum, iectype), b"" if force is None else force) |
|
73 for idx, iectype, force in orders],) |
70 } |
74 } |
71 |
75 |
72 def ERPC_connector_factory(uri, confnodesroot): |
76 def ERPC_connector_factory(uri, confnodesroot): |
73 """ |
77 """ |
74 returns the ERPC connector |
78 returns the ERPC connector |