def func(*args, **kwargs): response = f(*args, **kwargs) if response.isError(): if isinstance(response, exceptions.ModbusIOException): # Probably, disconnected to the Modbus Server. raise ExceptionResponse(response.message) else: raise ExceptionResponse(ModbusExceptions.decode( int.from_bytes(response.encode(), 'big'))) data = response.encode() if 1 == len(data): raise ExceptionResponse( ModbusExceptions.decode(int.from_bytes(data, 'big'))) return data[1:]
def _process_exception(resp, **kwargs): unit = kwargs.get("unit") if unit == 0: err = { "message": "Broadcast message, ignoring errors!!!" } else: if isinstance(resp, ExceptionResponse): err = { 'original_function_code': "{} ({})".format( resp.original_code, hex(resp.original_code)), 'error_function_code': "{} ({})".format( resp.function_code, hex(resp.function_code)), 'exception code': resp.exception_code, 'message': ModbusExceptions.decode(resp.exception_code) } elif isinstance(resp, ModbusIOException): err = { 'original_function_code': "{} ({})".format( resp.fcode, hex(resp.fcode)), 'error': resp.message } else: err = { 'error': str(resp) } return err
def func(*args, **kwargs): response = f(*args, **kwargs) data = response.encode() if 1 == len(data): raise ExceptionResponse( ModbusExceptions.decode(int.from_bytes(data, 'big'))) return data
def _process_exception(resp): err = { 'original_function_code': "{} ({})".format(resp.original_code, hex(resp.original_code)), 'error_function_code': "{} ({})".format(resp.function_code, hex(resp.function_code)), 'exception code': resp.exception_code, 'message': ModbusExceptions.decode(resp.exception_code) } return "Exception Response({})".format(err)
def _process_exception(resp): if isinstance(resp, ExceptionResponse): err = { 'original_function_code': "{} ({})".format( resp.original_code, hex(resp.original_code)), 'error_function_code': "{} ({})".format( resp.function_code, hex(resp.function_code)), 'exception code': resp.exception_code, 'message': ModbusExceptions.decode(resp.exception_code) } elif isinstance(resp, ModbusIOException): err = { 'original_function_code': "{} ({})".format( resp.fcode, hex(resp.fcode)), 'error': resp.message } else: err = { 'error': str(resp) } return err