-- --------------- odo.myo ----------------- -- fields odo xo yo x1pin x2pin y1pin y2pin endfields function odo.init begin ->x1pin ->x2pin ->y1pin ->y2pin 0 ->xo 0 ->yo return ------------------------------- function odo.reset begin 0 ->xo 0 ->yo return ------------------------------- function odo.odo x1 x2 x1p y1 y2 y1p begin x1pin inpin ->x1 x2pin inpin ->x2 y1pin inpin ->y1 y2pin inpin ->y2 x1 x1p - ? ={>cont} xo x1 x2 [odo.incr] + ->xo :cont y1 y1p - ? ={>exit} yo y1 y2 [odo.incr] + ->yo :exit x1 ->x1p y1 ->y1p xo yo return load from(odo.myo) *odo.incr ------------------------------- function odo.incr begin - ? ={1} #{1 neg} return