anchor.diff:      let motorActions = frontSensor.Select(fun x ->    printfn "%A" x;
                                                         distToSpeed x).DistinctUntilChanged()
   
  -    use r_disp = motorActions.Select(fun x -> -x).Subscribe(rightWheel)
  +    use r_disp = motorActions.Subscribe(rightWheel)
       use l_disp = motorActions.Subscribe(leftWheel)
  -    //let gyro_dis = model.Gyro.ToObservable().Subscribe(fun x -> printfn "%A" x)
  +
       log "Ready (any key to finish)"
  -    System.Console.ReadKey() |> ignore
  +    button.BlockingRead() |> ignore
   
   let testSensors (model:Model) = 
       let gyro = model.Gyro
  
positive.code: type Distance =  Far | Middle | Near
  
  let log s = printfn s
  
  let testPad (model:Model) = 
      let servo1 = model.Servo.["JE2"]
  
negative.code:         a := (!a + 1) % 5; if !a = 0 then printfn "%A" x.[2] else () )
      
      log "Ready (any key to finish)"
      button.BlockingRead() |> 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
      button.BlockingRead() |> ignore
      0
  