   Close the serial port. The GenServer continues to run so that a port can
   be opened again.
   """
-  @spec close(pid) :: :ok | {:error, term}
+  @spec close(GenServer.server) :: :ok | {:error, term}
   def close(pid) do
     GenServer.call(pid, :close)
   end

  This is a convenience function for calling `set_break/2` to enable
  the break signal, wait, and then turn it off.
  """
  @spec send_break(pid, integer) :: :ok | {:error, term}
  def send_break(pid, duration \\ 250) do
    :ok = set_break(pid, true)
    :timer.sleep(duration)

    * `:ebadf` - the UART is closed
    * `:einval` - the UART is in active mode
  """
  @spec read(GenServer.server, integer) :: {:ok, binary} | {:error, term}
  def read(pid, timeout \\ 5000) do
    GenServer.call(pid, {:read, timeout}, genserver_timeout(timeout))
  end
