EInk.Driver behaviour (eink v0.1.0)

Copy Markdown View Source

Summary

Types

capabilities()

@type capabilities() :: %{required(capability_key()) => term()}

capability_key()

@type capability_key() :: :width | :height | :type | :palette | :partial_refresh

state()

@type state() :: any()

Callbacks

capabilities()

@callback capabilities() :: capabilities()

draw(state, binary, keyword)

@callback draw(state(), binary(), keyword()) :: {:ok, state()} | {:error, any()}

init(state, keyword)

@callback init(
  state(),
  keyword()
) :: {:ok, state()} | {:error, any()}

new(keyword)

@callback new(keyword()) :: {:ok, state()} | {:error, any()}

reset(state)

@callback reset(state()) :: {:ok, state()} | {:error, any()}

sleep(state)

@callback sleep(state()) :: {:ok, state()} | {:error, any()}

wake(state)

@callback wake(state()) :: {:ok, state()} | {:error, any()}