capsules_extra

Module moisture

Source
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 exists
  • 1: read moisture

The possible return from the ‘command’ system call indicates the following:

  • Ok(()): The operation has been successful.
  • NOSUPPORT: Invalid cmd.
  • 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);

Structs§

Constants§