Skip to main content

Module moisture

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§

App
MoistureSensor

Constants§

DRIVER_NUM