anchor.diff:  
   %% API
   -export([start_link/0, stop/0]).
  --export([i2c_init/0, i2c_write/4, i2c_read/3]).
  +-export([i2c_init/0, i2c_init_name/1, i2c_write/4, i2c_read/3]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code: -type addr() :: integer().
  -type data() :: tuple().
  -type len() :: integer().
  
  %%%===================================================================
  %%% API
  
negative.code:     end,
      {reply, Reply, State};
  
  handle_call({call, i2c_init_name, Devname}, _From, State) ->
      Res = port_lib:sync_call_to_port(State, {i2c_init_name, Devname}),
      case Res of
  	-1 ->
  	    Reply = {error, i2c_initialization_error};
  	Reply ->
  	    ok
      end,
      {reply, Reply, State};
  
  handle_call({call, i2c_write, Fd, Addr, Data, Len}, _From, State) ->
      case port_lib:sync_call_to_port(State, {i2c_write, Fd, Addr, Data, Len}) < 0 of
  	true ->
  