anchor.diff:  % @end
   -spec bus_reset() -> 'nothing_present' | 'presence_detected' | 'short_detected'.
   bus_reset() ->
  -    assert_transaction(),
  -    grisp_i2c:msgs([?DS2482_I2C_ADR, {write, <<?CMD_1WRS>>}]),
  +    Bus = assert_transaction(),
  +    grisp_ni2c:transfer(Bus, [{write, ?DS2482_I2C_ADR, 0, <<?CMD_1WRS>>}]),
       timer:sleep(1),
  -    check_status(grisp_i2c:msgs([?DS2482_I2C_ADR,
  -                                 {read, 1, ?I2C_M_NO_RD_ACK}])).
  +    [Result] = grisp_ni2c:transfer(Bus, [
  +        {read, ?DS2482_I2C_ADR, ?I2C_M_NO_RD_ACK, 1}
  +    ]),
  +    check_status(Result).
   
   % @doc Write one data byte to the 1-Wire line.
   %
  
positive.code: 
  % @private
  init([]) ->
      put(?TRANSACTION_KEY, ?TRANSACTION_TOKEN),
      {ok, []}.
  
  % @private
  
negative.code: %
  % <em>Command codes: `96h', `e1h'</em>
  read_byte() ->
      Bus = assert_transaction(),
      grisp_ni2c:transfer(Bus, [{write, ?DS2482_I2C_ADR, 0, <<?CMD_1WRB>>}]),
      timer:sleep(1),
      [ok, Result] = grisp_ni2c:transfer(Bus, [
          {write, ?DS2482_I2C_ADR, 0, <<?CMD_SRP, 16#e1>>},
          {read, ?DS2482_I2C_ADR, ?I2C_M_NO_RD_ACK, 1}
      ]),
      Result.
  
  % @private
  %
  