def wait_for_threshold(mv_lower, mv_upper, mv_reset=10, interval=0.01, mv_last=nil, state_last=nil)
      AIN::wait_for_threshold(@pin, mv_lower, mv_upper, mv_reset, interval, mv_last, state_last)
    end
def wait_for_threshold(mv_lower, mv_upper, mv_reset=10, interval=0.01, mv_last=nil, state_last=nil)
      AIN::wait_for_threshold(@pin, mv_lower, mv_upper, mv_reset, interval, mv_last, state_last)
    end
Returns when voltage changes by specified amount
 @param mv_lower an integer specifying the lower threshold voltage
 @param mv_upper an integer specifying the upper threshold voltage
 @param mv_reset an integer specifying the range in mv required to reset the threshold trigger
 @param interval a number representing the wait time between polling
 @param mv_last is optional and specifies the voltage to use as the initial point to measure change
 @param state_last is optional and specifies the state to use as the initial state to watch change

 @example
   # This polls every 0.01 seconds and will run after a the voltage crosses 400mv or 1200mv.
   # Voltage will have to cross a range by at least 5mv to prevent rapidly triggering events
   callback = lambda { |pin, mv_last, mv, state_last, state, count|
     puts "[#{count}] #{pin} #{state_last} -> #{state}     #{mv_last} -> #{mv}"
   }
   p9_33 = AINPin.new(:P9_33)
   p9_33.wait_for_threshold(400, 1200, 5, 0.01)