connectors/ERPC/__init__.py
changeset 3885 22a009561502
parent 3884 34da877021d5
child 3887 2df45e4bd500
equal deleted inserted replaced
3884:34da877021d5 3885:22a009561502
    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