anchor.diff:      Dev = grisp_device:default(?MODULE),
       gen_server:call(Dev#device.instance, Call).
   
  -xyz(Slot, []) ->
  -    <<X/signed, Y/signed, Z/signed>>
  -        = grisp_spi:send_recv(Slot, <<?READ_REGISTER, ?XDATA>>, 2, 3),
  -    {X * 16, Y * 16, Z * 16};
  -xyz(Slot, [high_precision]) ->
  +xyz(Slot) ->
       <<
           XDATA_L,
           _:4, XDATA_H:4,
  
positive.code: % API
  -export([start_link/1]).
  -export([raw/0]).
  -export([raw/1]).
  -export([g/0]).
  -export([g/1]).
  
  % Callbacks
  -export([init/1]).
  
negative.code: 
  start_link(Slot) -> gen_server:start_link(?MODULE, Slot, []).
  
  raw() ->
      {_Mode, Result} = call(raw),
      Result.
  
  g() ->
      {Mode, Result} = call(raw),
      scale(Mode, Result).
  
  %--- Callbacks -----------------------------------------------------------------
  
  