anchor.diff:      end,
       NewParams = maps:merge(Params, ParamsFromOpts),
       {ok, SetParams} = encode_packet(set_parameters2, NewParams),
  -    uart:send(State#state.uart, SetParams),
  +    ftdi:sync_send(State#state.ftdi, SetParams),
       {ok, GetParams} = encode_packet(get_parameters, 0),
  -    uart:send(State#state.uart, GetParams),
  +    ftdi:sync_send(State#state.ftdi, GetParams),
       {next_state, get_parameters, State, ?DEFAULT_TIMEOUT};
   
   get_parameters2({from_widget, received_dmx, _}, State) ->
  
positive.code:     end,
      NewParams = maps:merge(Params, ParamsFromOpts),
      {ok, SetParams} = encode_packet(set_parameters, NewParams),
      uart:send(State#state.uart, SetParams),
      {next_state, wait_for_dmx, State};
  
  get_parameters({from_widget, received_dmx, _}, State) ->
  
negative.code: 
  handle_event({send_to_widget, Type, Data}, StateName, State) ->
      {ok, Raw} = encode_packet(Type, Data),
      ftdi:sync_send(State#state.ftdi, Raw),
      {next_state, StateName, State};
  
  handle_event(_Event, StateName, State) ->
  