   pingStop : ->
 
     @queue.clear()
+
+
+  ping : _.once (position, options) ->
+
+    @ping = _.throttle(@pingImpl, @PING_THROTTLE_TIME)
+    @arbitraryPing(position, options)
 
 
   pingImpl : (position, {zoomStep, area, activePlane}) ->


  printConnectionInfo : ->

    interval = new Date() - @lastPingTime
    #if @queue.queue and @queue.queue.length > 0
      #console.log interval, @queueStatus - @queue.queue.length, @queue.queue[0].priority
    @queueStatus = @queue.queue.length
    @lastPingTime = new Date() 

    kbPerSecond = @queue.loadedBytes / interval
    bucketsPerSocond = @queue.loadedBuckets * 1000 / interval
    
    @timestamps.push(new Date().getTime())
    @latencies.push(@queue.roundTripTime)
    @kbPerSec.push(kbPerSecond)
    @bucketPerSec.push(bucketsPerSocond)

      set4BitChanged : (is4Bit) => @queue(is4Bit)
    })


  updateContrastCurve : (brightness, contrast) ->

