anchor.diff:              ok;
           {ok, ?HM_CODE_OK_MSG} ->
               {ok, Msg} = read_zstr(Port),
  -            lager:warning("G responded OK with message ~p", Msg),
  +            lager:warning("G responded OK with message ~p", [Msg]),
               ok;
           {ok, ?HM_CODE_FAILURE} ->
               {ok, Msg} = read_zstr(Port),
  -            lager:error("G failed with message ~p", Msg),
  +            lager:error("G failed with message ~p", [Msg]),
               {error, {failure, Msg}};
           {ok, ?HM_CODE_STATUS} ->
               {ok, Msg} = read_zstr(Port),
  -            lager:info("G responded with status message ~p", Msg),
  +            lager:info("G responded with status message ~p", [Msg]),
               query_all_input(Port, Upper);
           {ok, ?HM_CODE_MHDR} ->
               {ok, Msg} = read_zstr(Port),
  -            lager:debug("G responded with monitored header ~p", Msg),
  +            lager:debug("G responded with monitored header ~p", [Msg]),
               query_all_input(Port, Upper);
           {ok, ?HM_CODE_MHDR_MSG} ->
               {ok, Msg} = read_zstr(Port),
  -            lager:debug("G responded with monitored header ~p, info follows", Msg),
  +            lager:debug("G responded with monitored header ~p, info follows", [Msg]),
               query_info(Port, Upper)
       end.
   
  
positive.code: %%
  %%
  %%
  init({Upper, Device}) ->
      self() ! {initialize},
      {ok, #state{upper = Upper, device = Device}}.
  
  
  %%
  
negative.code:     {ok, list_to_binary(Input)}.
  
  read_zstr(Port, List) ->
      case uart:recv(Port, 1, ?BLOCK_READ_TIMEOUT) of
          {ok, <<0:8>>} -> lists:reverse(List);
          {ok, <<Byte:8>>} -> read_zstr(Port, [Byte | List]);
          {error, timeout} -> {error, timeout}
  