anchor.diff:  
   % @private
   init([]) ->
  -    put(?TRANSACTION_KEY, ?TRANSACTION_TOKEN),
  +    Bus = grisp_ni2c:open(i2c0),
  +    Detected = grisp_ni2c:detect(Bus),
  +    case lists:member(?DS2482_I2C_ADR, Detected) of
  +        true -> ok;
  +        false -> error({bus_master_not_found, ?DS2482_I2C_ADR, Detected})
  +    end,
  +    put(?TRANSACTION_KEY, Bus),
       {ok, []}.
   
   % @private
  
positive.code: % | S | AD,0 ‖ A ‖ DRST ‖ A ‖ Sr | AD,1 ‖ A | <byte> ‖ A\ | P |
  -spec reset() -> 'ok'.
  reset() ->
      assert_transaction(),
      <<Status:8>> = grisp_i2c:msgs([?DS2482_I2C_ADR,
                                     {write, <<?CMD_DRST>>},
                                     {read, 1, ?I2C_M_NO_RD_ACK}]),
      case Status band 16#f7 of
          16#10 -> ok;
          Any -> error({invalid_status, Any})
  
negative.code: % <em>Command code: `a5h'</em>
  -spec write_byte(integer()) -> ok.
  write_byte(Byte) ->
      Bus = assert_transaction(),
      grisp_ni2c:transfer(Bus, [{write, ?DS2482_I2C_ADR, 0, <<?CMD_1WWB, Byte>>}]),
      timer:sleep(1).
  
  % @doc Read one data byte from the 1-Wire line.
  