anchor.diff:      list_to_atom(atom_to_list(Atom1) ++ atom_to_list(Atom2)).
   
   % @doc Get the registers (with the possible entries) of all components.
  -% @spec registers() -> Map
  +- spec registers() -> #{component() => #{}}.
   registers() ->
       #{
           acc => registers(acc),
  
positive.code: % Use {@link registers/0} and {@link registers/1} to see the mapping between
  % Erlang expressions and the bits on the hardware.
  
  % @spec config(Comp, Options) -> Result
  %      Comp = acc | mag | alt
  %      Options = Map
  config(Comp, Options) when is_map(Options) -> call({config, Comp, Options}).
  
  % @equiv read(Comp, Registers, #{})
  % @spec read(Comp, Registers) -> {error, Reason} | Result
  read(Comp, Registers) -> read(Comp, Registers, #{}).
  
  % @doc Read registers of a component.
  
negative.code: -include("pmod_nav.hrl").
  
  -define(SPI_MODE, #{clock => {high, trailing}}).
  
  -type component() :: acc | mag | alt.
  -type register() :: atom().
  -type opts() :: #{}.
  
  %--- API -----------------------------------------------------------------------
  
  