code: def future_get_sensor(self, name, update=None):
          
          obj = None
          exist = yield self.future_check_sensor(name, update)
          if exist:
              sensor_info = self._sensors_index[name]
              obj = sensor_info.get('obj')
              if obj is None:
                  sensor_type = katcp.Sensor.parse_type(
                      sensor_info.get('sensor_type'))
                  sensor_params = katcp.Sensor.parse_params(
                      sensor_type,
                      sensor_info.get('params'))
                  obj = self.sensor_factory(
                      name=name,
                      sensor_type=sensor_type,
                      description=sensor_info.get('description'),
                      units=sensor_info.get('units'),
                      params=sensor_params)
                  self._sensors_index[name]['obj'] = obj
                  self._sensor_object_cache[name] = obj
  
          raise tornado.gen.Return(obj)
docs: Get the sensor object.
  
          Check if we have information for this sensor, if not connect to server
          and update (if allowed) to get information.
  
          Parameters
          ----------
          name : string
              Name of the sensor.
          update : bool or None, optional
              True allow inspect client to inspect katcp server if the sensor
              is not known.
  
          Returns
          -------
          Sensor created by :meth:`sensor_factory` or None if sensor not found.
  
          Notes
          -----
          Ensure that self.state.data_synced == True if yielding to future_get_sensor from
          a state-change callback, or a deadlock will occur.