'Range Status Demo for the GP2D120 func main() dim range,status AtoDinit(14) loop: range = GP2Dread(0) status = checkrange(range) if status = 1 then print range , " Closer" if status = 2 then print range , " farther" if status = 12 then print range , " !! farther !!" if status = 11 then print range , " !! Closer !!" if status = 10 then print range, " !! Real Close !!" goto loop endfunc '------------------------------------------ func GP2Dread(port) as integer dim x dim rangavg as float rangavg = 0 for x = 1 to 10 rangavg = rangavg + AtoD(port) next rangavg = rangavg / 25 exit rangavg endfunc '--------------------------------------- function checkrange(range) global oldrange as integer if range > oldrange+1 then oldrange = range if range > 170 then exit 11 else exit 1 endif endif if range < oldrange-1 then oldrange = range if range > 170 then exit 12 else exit 2 endif endif if range > 200 then exit 10 endif exit 0 endfunc include \lib\DiosAtoD.lib