Packages

Gleam framework for microprocessor-based embedded systems.

Current section

Files

Jump to
eensy src eensy@i2c.erl
Raw

src/eensy@i2c.erl

-module(eensy@i2c).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([open/1, open_with_result/1, close/1, begin_transmission/2, end_transmission/1, write_byte/2, write_bytes/2, read_bytes/3]).
-export_type([open_parameters/0]).
-type open_parameters() :: {scl, integer()} |
{sda, integer()} |
{clock_speed_hz, integer()}.
-file("src/eensy/i2c.gleam", 25).
-spec open(list(open_parameters())) -> integer().
open(Parameters) ->
i2c:open(Parameters).
-file("src/eensy/i2c.gleam", 28).
-spec open_with_result(list(open_parameters())) -> integer().
open_with_result(Parameters) ->
eensy_ffi:i2c_open_with_result(Parameters).
-file("src/eensy/i2c.gleam", 31).
-spec close(integer()) -> {ok, nil} | {error, gleam@dynamic:dynamic_()}.
close(I2c) ->
eensy_ffi:i2c_close_with_result(I2c).
-file("src/eensy/i2c.gleam", 34).
-spec begin_transmission(integer(), integer()) -> {ok, nil} |
{error, gleam@dynamic:dynamic_()}.
begin_transmission(I2c, Address) ->
eensy_ffi:i2c_begin_transmission_with_result(I2c, Address).
-file("src/eensy/i2c.gleam", 40).
-spec end_transmission(integer()) -> {ok, nil} |
{error, gleam@dynamic:dynamic_()}.
end_transmission(I2c) ->
eensy_ffi:i2c_end_transmission_with_result(I2c).
-file("src/eensy/i2c.gleam", 43).
-spec write_byte(integer(), bitstring()) -> {ok, nil} |
{error, gleam@dynamic:dynamic_()}.
write_byte(I2c, Byte) ->
eensy_ffi:i2c_write_byte_with_result(I2c, Byte).
-file("src/eensy/i2c.gleam", 46).
-spec write_bytes(integer(), bitstring()) -> {ok, nil} |
{error, gleam@dynamic:dynamic_()}.
write_bytes(I2c, Bytes) ->
eensy_ffi:i2c_write_bytes_with_result(I2c, Bytes).
-file("src/eensy/i2c.gleam", 49).
-spec read_bytes(integer(), integer(), integer()) -> {ok, bitstring()} |
{error, gleam@dynamic:dynamic_()}.
read_bytes(I2c, Address, Count) ->
eensy_ffi:i2c_read_bytes_with_result(I2c, Address, Count).