anchor.diff:                          let _val   = Helpers.fastInt32Parse logStruct.[5]
                           let valTol = Helpers.fastInt32Parse logStruct.[6]
                           wasHsv <- true
  -                        //lineColorDataParsed hue hueTol sat satTol _val valTol
  +                        lineColorDataParsed.Trigger(hue, hueTol, sat, satTol, _val, valTol)
                       else ()
                       i <- i - 1
           loop()
       do Async.Start <| async { loop() } 
       member x.LineTargetDataParsed = lineTargetDataParsed.Publish
  -
  +    member x.LineColorDataParsed = lineColorDataParsed.Publish
   
   type CmdFifo(path:string) = 
       let fd = new IO.StreamWriter(path, AutoFlush = true)
  
positive.code: let run (model:Model) = 
      let log_fifo = new LogFifo(logFifoPath)
      let cmd_fifo = new CmdFifo(cmdFifoPath)
      cmd_fifo.Write("detect")
      ()
negative.code:     let mutable loopDone = false
      let buf = Array.zeroCreate max_fifo_input_size
      let lineTargetDataParsed = new Event<int*int*int>()
      let lineColorDataParsed = new Event<int*int*int*int*int*int>()
      let rec loop() = 
          while not loopDone do
              let cnt = fd.Read(buf, 0, max_fifo_input_size)
  