Expand description
Provides userspace with access to moisture sensors.
§Userspace Interface
§subscribe
System Call
The subscribe
system call supports the single subscribe_number
zero,
which is used to provide a callback that will return back the result of
a moisture reading.
§command
System Call
The command
system call support one argument cmd
which is used to specify the specific
operation, currently the following cmd’s are supported:
0
: check whether the driver exists1
: read moisture
The possible return from the ‘command’ system call indicates the following:
Ok(())
: The operation has been successful.NOSUPPORT
: Invalidcmd
.NOMEM
: Insufficient memory available.INVAL
: Invalid address of the buffer or other error.
§Usage
You need a device that provides the hil::sensors::MoistureDriver
trait.
ⓘ
let moisture = static_init!(
capsules::moisture::MoistureSensor<'static>,
capsules::moisture::MoistureSensor::new(si7021,
board_kernel.create_grant(&grant_cap)));
kernel::hil::sensors::MoistureDriver::set_client(si7021, moisture);