anchor.diff:  
   %--- API -----------------------------------------------------------------------
   
  +%% @doc Read the temperature in °C from the scratchpad.
  +%%
  +%% === Example ===
  +%% ```
  +%%  onewire_ds18b20:temp([40,255,190,25,96,23,3,203]).
  +%%  22.375
  +%% '''
  +-spec temp([byte()]) -> float().
   temp(ID) ->
       grisp_onewire:transaction(fun() ->
           select_device(ID),
  
positive.code: -module(onewire_ds18b20).
  % Device: DS18B20 - Programmable Resolution 1-Wire Digital Thermometer
  % https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
  
  % API
  -export([temp/1]).
  
negative.code:     case ms() - Start > Timeout of
          false ->
              timer:sleep(10),
              confirm(grisp_onewire:read_byte(), Start, Timeout);
          true ->
              error({onewire_ds18b20, confirmation_timeout})
      end;
  