anchor.diff:          Any -> error({invalid_status, Any})
       end.
   
  -%% Spec: | S | AD,0 ‖ A ‖ WCFG ‖ A ‖ <byte> ‖ A ‖ Sr | AD,1 ‖ A | <byte> ‖ A\ | P |
  +%% @doc Write configuration into device register.
  +%%
  +%% Command code: d2h.
  +%%
  +%% The default configuration is 0, i.e., all 3 configurable bits set to 0.
  +%%
  +%% === Atom to Integer to Configuration Bit Mapping ===
  +%% <table border="1" summary="Atom to Integer to Configuration Bit Mapping">
  +%%  <tr><th>Atom</th><th>Integer</th><th>Configuration Bit</th></tr>
  +%%  <tr><td>`apu'</td><td>1</td><td>Bit 0 APU</td></tr>
  +%%  <tr><td>`spu'</td><td>4</td><td>Bit 2 SPU</td></tr>
  +%%  <tr><td>`overdrive'</td><td>8</td><td>Bit 3 1WS</td></tr>
  +%% </table>
  +%%
  +%% This function can only be used inside of a {@link transaction/1} call.
  +%% @end
  +% Spec: | S | AD,0 ‖ A ‖ WCFG ‖ A ‖ <byte> ‖ A ‖ Sr | AD,1 ‖ A | <byte> ‖ A\ | P |
  +-spec write_config([apu | overdrive | spu] | integer()) -> ok.
   write_config(Conf) when is_list(Conf) ->
       write_config(lists:foldl(fun(X, A) -> A bor map_config(X) end, 0, Conf));
   write_config(Conf) when is_integer(Conf) ->
  
positive.code:                                              {read, 1, ?I2C_M_NO_RD_ACK}]),
      {D, T, S}.
  
  search() ->
      assert_transaction(),
      search(0, []).
  
negative.code:                     {write, <<?CMD_SRP, 16#e1>>},
                      {read, 1, ?I2C_M_NO_RD_ACK}]).
  
  %% @private
  %%
  %% Command:78h
  %%
  %% This function can only be used inside of a {@link transaction/1} call.
  -spec write_triplet(0 | 1) -> {0 | 1,0 | 1,0 | 1}.
  write_triplet(Dir) ->
      assert_transaction(),
      Db = case Dir of 1 -> 16#ff; 0 -> 0 end,
  