anchor.diff:  type Distance =  Far | Middle | Near
   
   let log s = printfn s
  +
  +let button = new Button("/dev/input/event0")   
   
   let testPad (model:Model) = 
       let servo1 = model.Servo.["JE2"]
  
positive.code:         a := (!a + 1) % 5; if !a = 0 then printfn "%A" x.[2] else () )
      
      log "Ready (any key to finish)"
      System.Console.ReadKey() |> ignore
  
  [<EntryPoint>]
  let main _ = 
      log "Started"
      Helpers.I2C.init "/dev/i2c-2" 0x48 1
      use model = new Model(ServoConfig = [| 
                                ("JE1", "/sys/class/pwm/ehrpwm.1:1", 
                                  { stop = 0; zero = 1310000; min = 1200000; max = 1420000; period = 20000000 } )
                                ("JE2", "/sys/class/pwm/ehrpwm.1:0", 
                                  { stop = 0; zero = 1550000; min =  800000; max = 2250000; period = 20000000 } )
                               |])
      log "Loaded"
      //testSensors model
      testMain model
      let button = new Button("/dev/input/event0")   
      button.BlockingRead() |> ignore
      0
  
negative.code:     let motorActions = frontSensor.Select(fun x ->    printfn "%A" x;
                                                        distToSpeed x).DistinctUntilChanged()
  
      use r_disp = motorActions.Subscribe(rightWheel)
      use l_disp = motorActions.Subscribe(leftWheel)
  
      log "Ready (any key to finish)"
      button.BlockingRead() |> ignore
  
  let testSensors (model:Model) = 
      let gyro = model.Gyro
  