diff --git a/uds/uds_communications/TransportProtocols/Doip/DoipTp.py b/uds/uds_communications/TransportProtocols/Doip/DoipTp.py index 006ecf4..405ade1 100644 --- a/uds/uds_communications/TransportProtocols/Doip/DoipTp.py +++ b/uds/uds_communications/TransportProtocols/Doip/DoipTp.py @@ -37,6 +37,7 @@ def __init__(self, configPath=None, **kwargs): self.__protocol_version = int(self.__config["DoIP"]["protocolVersion"], 16) self.__client_logical_address = int(self.__config["DoIP"]["clientLogicalAddress"], 16) self.__use_secure = self.__config["DoIP"]["useSecure"] == 'True' + self.__auto_reconnect_tcp = self.__config["DoIP"]["autoReconnectTCP"] == 'True' self.__connection = DoIPClient( self.__ecu_ip, @@ -45,7 +46,8 @@ def __init__(self, configPath=None, **kwargs): activation_type=self.__activation_type, protocol_version=self.__protocol_version, client_logical_address=self.__client_logical_address, - use_secure=self.__use_secure) + use_secure=self.__use_secure, + auto_reconnect_tcp=self.__auto_reconnect_tcp) def send(self, payload, functionalReq=False): # TODO: functionalReq not used??? self.__connection.send_diagnostic(bytearray(payload)) @@ -56,6 +58,9 @@ def recv(self, timeout_s): def closeConnection(self): self.__connection.close() + def reconnect(self): + self.__connection.reconnect() + ## # @brief clear out the receive list def clearBufferedMessages(self): @@ -95,4 +100,6 @@ def __checkKwargs(self, **kwargs): if 'client_logical_address' in kwargs: self.__config['DoIP']['clientLogicalAddress'] = hex(kwargs['client_logical_address']) if 'use_secure' in kwargs: - self.__config['DoIP']['useSecure'] = 'True' if kwargs['use_secure'] else 'False' \ No newline at end of file + self.__config['DoIP']['useSecure'] = 'True' if kwargs['use_secure'] else 'False' + if 'auto_reconnect_tcp' in kwargs: + self.__config['DoIP']['autoReconnectTCP'] = 'True' if kwargs['auto_reconnect_tcp'] else 'False' \ No newline at end of file