anchor.diff:  
   search() ->
       assert_transaction(),
  -    bus_reset(),
  -    write_byte(16#f0),
  -    L = lists:reverse([ element(1, write_triplet(0)) || _ <- lists:seq(1,64) ]),
  -    lists:reverse([ Y || <<Y:8>> <= << <<X:1>> || X <- L >> ]).
  +    search(0, []).
  +
   
   %--- Callbacks -----------------------------------------------------------------
   
  
positive.code:     end;
  check_status(<<_:7, 1:1>>) ->
      error(bus_reset_busy).
  
negative.code: 
  write_triplet(Dir) ->
      assert_transaction(),
      Db = case Dir of 1 -> 16#ff; 0 -> 0 end,
      grisp_i2c:msgs([?DS2482_I2C_ADR, {write, <<?CMD_1WT, Db>>}]),
      timer:sleep(1),
      <<D:1, T:1, S:1, _:5>> = grisp_i2c:msgs([?DS2482_I2C_ADR,
                                               {read, 1, ?I2C_M_NO_RD_ACK}]),
  