anchor.diff:  %--- Internal ------------------------------------------------------------------
   
   do_msgs(Adr, Msgs) ->
  -    do_msgs(Adr, Msgs, []).
  +    do_msgs(Adr, Msgs, [], []).
   
  -do_msgs(Adr, [], ReversedToSend) ->
  -    ToSend = lists:reverse(ReversedToSend),
  -    Enc_msgs = encode_msgs([Adr | ToSend]),
  -    gen_server:call(?MODULE, {msgs, Enc_msgs});
  -do_msgs(Adr, [{sleep, Time} | Rest], ReversedToSend) ->
  -    ToSend = lists:reverse(ReversedToSend),
  -    Enc_msgs = encode_msgs([Adr | ToSend]),
  -    gen_server:call(?MODULE, {msgs, Enc_msgs}),
  -    ok = timer:sleep(Time),
  -    do_msgs(Adr, Rest, []);
  -do_msgs(Adr, [Msg | Rest], ReversedToSend) ->
  -    NewReversedToSend = [Msg | ReversedToSend],
  -    do_msgs(Adr, Rest, NewReversedToSend).
  +do_msgs(_Adr, [], [], ReversedEncodedMsgs) ->
  +    lists:reverse(ReversedEncodedMsgs);
  +do_msgs(Adr, [], ReversedToEncode, ReversedEncodedMsgs) ->
  +    ToEncode = lists:reverse(ReversedToEncode),
  +    EncodedMsgs = encode_msgs([Adr | ToEncode]),
  +    NewReversedEncodedMsgs = [EncodedMsgs | ReversedEncodedMsgs],
  +    do_msgs(Adr, [], [], NewReversedEncodedMsgs);
  +do_msgs(Adr, [{sleep, Time} | Rest], ReversedToEncode, ReversedEncodedMsgs) ->
  +    ToEncode = lists:reverse(ReversedToEncode),
  +    EncodedMsgs = encode_msgs([Adr | ToEncode]),
  +    NewReversedEncodedMsgs = [EncodedMsgs | ReversedEncodedMsgs],
  +    NewReversedEncodedMsgsWithSleep = [{sleep, Time} | NewReversedEncodedMsgs],
  +    do_msgs(Adr, Rest, [], NewReversedEncodedMsgsWithSleep);
  +do_msgs(Adr, [Msg | Rest], ReversedToEncode, ReversedEncodedMsgs) ->
  +    NewReversedToEncode = [Msg | ReversedToEncode],
  +    do_msgs(Adr, Rest, NewReversedToEncode, ReversedEncodedMsgs).
   
   encode_msgs(Msgs) ->
       encode_msgs(Msgs, undefined, <<>>, <<>>).
  
positive.code:     Data_len = byte_size(W),
      Msg_count = byte_size(M) div 8,
      <<Data_len:16, W/binary, Msg_count:16, M/binary>>.
  
negative.code:     gen_server:start_link({local, ?MODULE}, ?MODULE, DriverMod, []).
  
  msgs([Adr | Msgs]) ->
      EncodedMsgs = do_msgs(Adr, Msgs),
      gen_server:call(?MODULE, {msgs, EncodedMsgs}).
  
  
  %--- Callbacks -----------------------------------------------------------------
  
  