MPL3115A2 (mpl3115a2 v1.0.1)
MPL3115A2 Driver for Elixir using Wafer.
Link to this section Summary
Functions
Acquire a connection to the MPL3115A2 device using the passed in I2C connection.
ALARM_SEL The bit selects the Target value for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH
ALARM_SEL The bit selects the Target value for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH
OUT_P Altitude in meters.
OUT_P_DELTA Altitude delta in meters.
OFF_H Altitude Offset
OFF_H Altitude Offset
SRC_PCHG Delta P interrupt status.
SRC_PW Altitude/Pressure alerter status near or equal to target Pressure/Altitude.
SRC_PTH Altitude/Pressure threshold interrupt.
BAR_IN Barometric input for altitude calculations.
BAR_IN Barometric input for altitude calculations.
ST Auto acquisition time step.
ST Auto acquisition time step.
DREM Set data ready event mode.
DREM Get data ready event mode.
SRC_DRDY Data ready interrupt status.
F_WMRK Get FIFO Event Sample Count Watermark.
F_WMRK Set FIFO Event Sample Count Watermark.
SRC_FIFO FIFO interrupt status.
F_MODE get FIFO mode
F_MODE set FIFO mode
F_OVF FIFO overflow events detected?
F_DATA Read FIFO data in Altitude mode.
F_DATA Read FIFO data in Barometer mode.
F_CNT FIFO sample count
F_WMRK_FLAG FIFO watermark events detected?
IPOL1 The IPOL bit selects the polarity of the interrupt signal.
IPOL1 The IPOL bit selects the polarity of the interrupt signal.
PP_OD1 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
PP_OD1 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
IPOL2 The IPOL bit selects the polarity of the interrupt signal.
IPOL2 The IPOL bit selects the polarity of the interrupt signal.
PP_OD2 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
PP_OD2 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
INT_CFG_DRDY Data Ready Interrupt Pin Select.
INT_EN_DRDY Data Ready Interrupt Enable.
INT_EN_DRDY Data Ready Interrupt Enable.
INT_EN_FIFO FIFO Interrupt Enable.
INT_EN_FIFO FIFO Interrupt Enable.
INT_EN_PCHG Pressure Change Interrupt Enable.
INT_EN_PCHG Pressure Change Interrupt Enable.
INT_EN_PTH Pressure Threshold Interrupt Enable.
INT_EN_PTH Pressure Threshold Interrupt Enable.
INT_EN_PW Pressure Window Interrupt Enable.
INT_EN_PW Pressure Window Interrupt Enable.
INT_EN_TCHG Temperature Change Interrupt Enable.
INT_EN_TCHG Temperature Change Interrupt Enable.
INT_EN_TTH Temperature Threshold Interrupt Enable.
INT_EN_TTH Temperature Threshold Interrupt Enable.
INT_EN_TW Temperature Window Interrupt Enable.
INT_EN_TW Temperature Window Interrupt Enable.
INT_CFG_FIFO FIFO Interrupt Pin Select.
INT_CFG_FIFO FIFO Interrupt Pin Select.
INT_CFG_PCHG - Pressure Change Interrupt Pin Select
INT_CFG_PCHG - Pressure Change Interrupt Pin Select
INT_CFG_PTH Pressure Threshold Interrupt Pin Select
INT_CFG_PTH Pressure Threshold Interrupt Pin Select
INT_CFG_PW Pressure Window Interrupt Pin Select
INT_CFG_PW Pressure Window Interrupt Pin Select
INT_CFG_TCHG - Temperature Change Interrupt Pin Select
INT_CFG_TCHG - Temperature Change Interrupt Pin Select
INT_CFG_TTH Temperature Threshold Interrupt Pin Select
INT_CFG_TTH Temperature Threshold Interrupt Pin Select
INT_CFG_TW Temperature Window Interrupt Pin Select
INT_CFG_TW Temperature Window Interrupt Pin Select
INT_CFG_DRDY Data Ready Interrupt Pin Select.
LOAD_OUTPUT This is to load the target values for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
LOAD_OUTPUT This is to load the target values for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
P_MAX Captured maximum Pressure/Altitude value.
P_MAX Captured maximum Pressure/Altitude value.
T_MAX Captured maximum temperature value.
P_MIN Captured minimum Pressure/Altitude value.
P_MIN Captured minimum Pressure/Altitude value.
T_MIN Captured minimum temperature value.
OST One-shot measurement
OST One-shot measurement
ALT Altimeter-Barometer mode.
ALT Altimeter-Barometer mode.
Oversample delay in milliseconds.
OS Oversample Ratio.
OS Oversample Ratio.
OUT_P Pressure in Pascals.
PDEFE Data event flag enable on new Pressure/Altitude data.
PDEFE Data event flag enable on new Pressure/Altitude data.
P_WND Pressure/Altitude window value.
P_WND Pressure/Altitude window value.
POW Pressure/Altitude data overwrite.
PDR Pressure/Altitude new data available.
OUT_P_DELTA Pressure delta in Pascals.
OFF_P Pressure Offset
OFF_P Pressure Offset
P_TGT Altitude/Pressure target value.
P_TGT Altitude/Pressure target value.
PTOW Pressure/Altitude OR Temperature data overwrite.
PTDR Pressure/Altitude OR Temperature data ready.
RAW Raw output mode.
RAW Raw output mode.
RST Software Reset.
SBYB System Standby
SBYB System Standby
SYSMOD Get System Mode, either :standby
or :active
.
OUT_T Temperature in ℃.
TOW Temperature data overwrite.
TDR Temperature new Data Available.
OUT_T_DELTA Temperature delta in ℃.
SRC_TCHG Delta T interrupt status.
TDEFE Data event flag enable on new Temperature data.
TDEFE Data event flag enable on new Temperature data.
SRC_TW Temperature alerter status bit near or equal to target temperature.
OFF_T Temperature Offset
OFF_T Temperature Offset
T_TGT Temperature target value input in °C.
T_TGT Temperature target value input in °C.
SRC_TTH Temperature threshold interrupt.
T_WND Temperature alarm window value in °C.
T_WND Temperature alarm window value in °C.
TIME_DLY
WHO_AM_I Verify the device's identity
Link to this section Types
acquire_option()
@type acquire_option() :: {:conn, Wafer.Conn.t()} | {:standby, boolean()} | {:oversample, oversample()} | {:mode, mode()} | {:event_on_new_temperature, boolean()} | {:event_on_new_pressue, boolean()} | {:data_ready_event_mode, boolean()}
acquire_options()
@type acquire_options() :: [acquire_option()]
altitude()
@type altitude() :: float()
fifo_mode()
@type fifo_mode() :: :fifo_disabled | :circular_buffer | :halt_on_overflow
mode()
@type mode() :: :altimeter | :barometer
oversample()
@type oversample() :: 1 | 2 | 4 | 8 | 16 | 32 | 64
pressure()
@type pressure() :: float()
@type t() :: %MPL3115A2{conn: Wafer.Conn.t()}
temperature()
@type temperature() :: float()
Link to this section Functions
acquire(options)
@spec acquire(acquire_options()) :: {:ok, t()} | {:error, reason :: any()}
Acquire a connection to the MPL3115A2 device using the passed in I2C connection.
Options:
conn
an I2C connection, probably fromElixirALE.I2C
orCircuits.I2C
.standby
set totrue
to put the device in standby, otherwise defaults tofalse
.mode
set to either:altimeter
or:barometer
. Defaults to:altimeter
.event_on_new_temperature
set tofalse
to disable. Defaults totrue
.event_on_new_pressure
set tofalse
to disable. Defaults totrue
.data_ready_event_mode
set tofalse
to disable. Defaults totrue
.
alarm_select(mpl3115_a2)
ALARM_SEL The bit selects the Target value for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH
Default value: 0 0: The values in P_TGT_MSB, P_TGT_LSB and T_TGT are used (Default) 1: The values in OUT_P/OUT_T are used for calculating the interrupts SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
alarm_select(dev, value)
ALARM_SEL The bit selects the Target value for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH
Default value: 0 0: The values in P_TGT_MSB, P_TGT_LSB and T_TGT are used (Default) 1: The values in OUT_P/OUT_T are used for calculating the interrupts SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
altitude(mpl3115_a2)
OUT_P Altitude in meters.
altitude_delta(mpl3115_a2)
OUT_P_DELTA Altitude delta in meters.
altitude_offset(mpl3115_a2)
OFF_H Altitude Offset
Altitude user accessible offset trim value.
altitude_offset(dev, value)
@spec altitude_offset(t(), non_neg_integer()) :: {:ok, t()} | {:error, reason :: any()}
OFF_H Altitude Offset
Altitude user accessible offset trim value.
altitude_pressure_delta_interrupt?(mpl3115_a2)
SRC_PCHG Delta P interrupt status.
altitude_pressure_interrupt?(mpl3115_a2)
SRC_PW Altitude/Pressure alerter status near or equal to target Pressure/Altitude.
Near is within target value ± window value. Window value needs to be non zero for interrupt to trigger.
altitude_pressure_threshold_interrupt?(mpl3115_a2)
SRC_PTH Altitude/Pressure threshold interrupt.
With the window set to a non zero value, the trigger will occur on crossing any of the thresholds: upper, center or lower. If the window is set to 0, it will only trigger on crossing the center threshold.
barometric_pressure_input(mpl3115_a2)
BAR_IN Barometric input for altitude calculations.
Input is equivalent sea level pressure for measurement location.
barometric_pressure_input(dev, pascals)
BAR_IN Barometric input for altitude calculations.
Input is equivalent sea level pressure for measurement location in Pascals.
data_acquisition_time_step(mpl3115_a2)
@spec data_acquisition_time_step(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
ST Auto acquisition time step.
data_acquisition_time_step(dev, value)
@spec data_acquisition_time_step(t(), non_neg_integer()) :: {:ok, t()} | {:error, reason :: any()}
ST Auto acquisition time step.
data_ready_event_mode(dev, bool)
DREM Set data ready event mode.
If the DREM bit is set true
and one or more of the data ready event flags
(PDEFE, TDEFE) are enabled, then an event flag will be raised upon change in
state of the data. If the DREM bit is false
and one or more of the data
ready event flags are enabled, then an event flag will be raised whenever
the system acquires a new set of data.
Default value: false
.
data_ready_event_mode?(mpl3115_a2)
DREM Get data ready event mode.
If the DREM bit is set true
and one or more of the data ready event flags
(PDEFE, TDEFE) are enabled, then an event flag will be raised upon change in
state of the data. If the DREM bit is false
and one or more of the data
ready event flags are enabled, then an event flag will be raised whenever
the system acquires a new set of data.
Default value: false
.
data_ready_interrupt?(mpl3115_a2)
SRC_DRDY Data ready interrupt status.
true
indicates that Pressure/Altitude or Temperature data ready interrupt
is active indicating the presence of new data and/or a data overwrite,
otherwise it is false
.
fifo_event_sample_count_watermark(mpl3115_a2)
F_WMRK Get FIFO Event Sample Count Watermark.
fifo_event_sample_count_watermark(dev, count)
F_WMRK Set FIFO Event Sample Count Watermark.
fifo_interrupt?(mpl3115_a2)
SRC_FIFO FIFO interrupt status.
true
indicates that a FIFO interrupt event such as an overflow event has
occurred. false
indicates that no FIFO interrupt event has occurred.
fifo_mode(mpl3115_a2)
F_MODE get FIFO mode
Can be either :fifo_disabled
, :circular_buffer
, or :halt_on_overflow
.
fifo_mode(dev, atom)
F_MODE set FIFO mode
Can be either :fifo_disabled
, :circular_buffer
, or :halt_on_overflow
.
fifo_overflow?(mpl3115_a2)
F_OVF FIFO overflow events detected?
fifo_read_altitude(dev)
F_DATA Read FIFO data in Altitude mode.
fifo_read_pressure(dev)
F_DATA Read FIFO data in Barometer mode.
fifo_sample_count(mpl3115_a2)
@spec fifo_sample_count(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
F_CNT FIFO sample count
fifo_watermark?(mpl3115_a2)
F_WMRK_FLAG FIFO watermark events detected?
interrupt1_polarity(mpl3115_a2)
IPOL1 The IPOL bit selects the polarity of the interrupt signal.
Select whether the interrupt pin should be used in an active high or active low configuration. Defaults to active low.
interrupt1_polarity(dev, atom)
@spec interrupt1_polarity(t(), :active_high | :active_low) :: {:ok, t()} | {:error, reason :: any()}
IPOL1 The IPOL bit selects the polarity of the interrupt signal.
Select whether the interrupt pin should be used in an active high or active low configuration. Defaults to active low.
interrupt1_pull_mode(mpl3115_a2)
PP_OD1 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
The default value is 0 which corresponds to Push-Pull mode. The open drain configuration can be used for connecting multiple interrupt signals on the same interrupt line. Push-Pull/Open Drain selection on interrupt pad INT1.
Can be in either pull up or open drain mode. Defaults to pull up.
interrupt1_pull_mode(dev, atom)
PP_OD1 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
The default value is 0 which corresponds to Push-Pull mode. The open drain configuration can be used for connecting multiple interrupt signals on the same interrupt line. Push-Pull/Open Drain selection on interrupt pad INT1.
Can be in either pull up or open drain mode. Defaults to pull up.
interrupt2_polarity(mpl3115_a2)
IPOL2 The IPOL bit selects the polarity of the interrupt signal.
Select whether the interrupt pin should be used in an active high or active low configuration. Defaults to active low.
interrupt2_polarity(dev, atom)
@spec interrupt2_polarity(t(), :active_high | :active_low) :: {:ok, t()} | {:error, reason :: any()}
IPOL2 The IPOL bit selects the polarity of the interrupt signal.
Select whether the interrupt pin should be used in an active high or active low configuration. Defaults to active low.
interrupt2_pull_mode(mpl3115_a2)
PP_OD2 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
The default value is 0 which corresponds to Push-Pull mode. The open drain configuration can be used for connecting multiple interrupt signals on the same interrupt line. Push-Pull/Open Drain selection on interrupt pad INT1.
Can be in either pull up or open drain mode. Defaults to pull up.
interrupt2_pull_mode(dev, atom)
PP_OD2 This bit configures the interrupt pin to Push-Pull or in Open Drain mode.
The default value is 0 which corresponds to Push-Pull mode. The open drain configuration can be used for connecting multiple interrupt signals on the same interrupt line. Push-Pull/Open Drain selection on interrupt pad INT1.
Can be in either pull up or open drain mode. Defaults to pull up.
interrupt_data_ready_pin(dev, int)
INT_CFG_DRDY Data Ready Interrupt Pin Select.
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_enable_data_ready(dev, bool)
INT_EN_DRDY Data Ready Interrupt Enable.
Defaults to false
.
interrupt_enable_data_ready?(mpl3115_a2)
INT_EN_DRDY Data Ready Interrupt Enable.
Defaults to false
.
interrupt_enable_fifo(dev, bool)
INT_EN_FIFO FIFO Interrupt Enable.
Default value: false false: FIFO interrupt disabled true: FIFO interrupt enabled
interrupt_enable_fifo?(mpl3115_a2)
INT_EN_FIFO FIFO Interrupt Enable.
Default value: false false: FIFO interrupt disabled true: FIFO interrupt enabled
interrupt_enable_pressure_change(dev, bool)
INT_EN_PCHG Pressure Change Interrupt Enable.
Default value: false false: Pressure Change interrupt disabled true: Pressure Change interrupt enabled
interrupt_enable_pressure_change?(mpl3115_a2)
INT_EN_PCHG Pressure Change Interrupt Enable.
Default value: false false: Pressure Change interrupt disabled true: Pressure Change interrupt enabled
interrupt_enable_pressure_threshold(dev, bool)
INT_EN_PTH Pressure Threshold Interrupt Enable.
Default value: false false: Pressure Threshold interrupt disabled true: Pressure Threshold interrupt enabled
interrupt_enable_pressure_threshold?(mpl3115_a2)
INT_EN_PTH Pressure Threshold Interrupt Enable.
Default value: false false: Pressure Threshold interrupt disabled true: Pressure Threshold interrupt enabled
interrupt_enable_pressure_window(dev, bool)
INT_EN_PW Pressure Window Interrupt Enable.
Default value: false false: Pressure window interrupt disabled true: Pressure window interrupt enabled
interrupt_enable_pressure_window?(mpl3115_a2)
INT_EN_PW Pressure Window Interrupt Enable.
Default value: false false: Pressure window interrupt disabled true: Pressure window interrupt enabled
interrupt_enable_temperature_change(dev, bool)
INT_EN_TCHG Temperature Change Interrupt Enable.
Default value: false false: Temperature Change interrupt disabled true: Temperature Change interrupt enabled
interrupt_enable_temperature_change?(mpl3115_a2)
INT_EN_TCHG Temperature Change Interrupt Enable.
Default value: false false: Temperature Change interrupt disabled true: Temperature Change interrupt enabled
interrupt_enable_temperature_threshold(dev, bool)
@spec interrupt_enable_temperature_threshold(t(), boolean()) :: {:ok, t()} | {:error, reason :: any()}
INT_EN_TTH Temperature Threshold Interrupt Enable.
Default value: false false: Temperature Threshold interrupt disabled true: Temperature Threshold interrupt enabled
interrupt_enable_temperature_threshold?(mpl3115_a2)
INT_EN_TTH Temperature Threshold Interrupt Enable.
Default value: false false: Temperature Threshold interrupt disabled true: Temperature Threshold interrupt enabled
interrupt_enable_temperature_window(dev, bool)
INT_EN_TW Temperature Window Interrupt Enable.
Interrupt Enable. Default value: false false: Temperature window interrupt disabled true: Temperature window interrupt enabled
interrupt_enable_temperature_window?(mpl3115_a2)
INT_EN_TW Temperature Window Interrupt Enable.
Interrupt Enable. Default value: false false: Temperature window interrupt disabled true: Temperature window interrupt enabled
interrupt_fifo_pin(mpl3115_a2)
INT_CFG_FIFO FIFO Interrupt Pin Select.
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_fifo_pin(dev, int)
INT_CFG_FIFO FIFO Interrupt Pin Select.
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_change_pin(mpl3115_a2)
INT_CFG_PCHG - Pressure Change Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_change_pin(dev, int)
INT_CFG_PCHG - Pressure Change Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_threshold_pin(mpl3115_a2)
INT_CFG_PTH Pressure Threshold Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_threshold_pin(dev, int)
INT_CFG_PTH Pressure Threshold Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_window_pin(mpl3115_a2)
INT_CFG_PW Pressure Window Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_pressure_window_pin(dev, int)
INT_CFG_PW Pressure Window Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_change_pin(mpl3115_a2)
INT_CFG_TCHG - Temperature Change Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_change_pin(dev, int)
INT_CFG_TCHG - Temperature Change Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_threshold_pin(mpl3115_a2)
INT_CFG_TTH Temperature Threshold Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_threshold_pin(dev, int)
INT_CFG_TTH Temperature Threshold Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_window_pin(mpl3115_a2)
INT_CFG_TW Temperature Window Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interrupt_temperature_window_pin(dev, int)
INT_CFG_TW Temperature Window Interrupt Pin Select
1
- Interrupt Pin 1
2
- Interrupt Pin 2
interupt_data_ready_pin(mpl3115_a2)
INT_CFG_DRDY Data Ready Interrupt Pin Select.
1
- Interrupt Pin 1
2
- Interrupt Pin 2
load_output(mpl3115_a2)
LOAD_OUTPUT This is to load the target values for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
Default value: 0 0: Do not load OUT_P/OUT_T as target values 1: The next values of OUT_P/OUT_T are used to set the target values for the interrupts. Note:
1. This bit must be set at least once if ALARM_SEL=1
2. To reload the next OUT_P/OUT_T as the target values clear and set again.
load_output(dev, value)
LOAD_OUTPUT This is to load the target values for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH.
Default value: 0 0: Do not load OUT_P/OUT_T as target values 1: The next values of OUT_P/OUT_T are used to set the target values for the interrupts. Note:
1. This bit must be set at least once if ALARM_SEL=1
2. To reload the next OUT_P/OUT_T as the target values clear and set again.
maximum_altitude(mpl3115_a2)
P_MAX Captured maximum Pressure/Altitude value.
maximum_pressure(mpl3115_a2)
P_MAX Captured maximum Pressure/Altitude value.
maximum_temperature(mpl3115_a2)
@spec maximum_temperature(t()) :: {:ok, temperature()} | {:error, reason :: any()}
T_MAX Captured maximum temperature value.
minimum_altitude(mpl3115_a2)
P_MIN Captured minimum Pressure/Altitude value.
Interpreted as a altitude in meters.
minimum_pressure(mpl3115_a2)
P_MIN Captured minimum Pressure/Altitude value.
Interpreted as a pressure in Pascals.
minimum_temperature(mpl3115_a2)
@spec minimum_temperature(t()) :: {:ok, temperature()} | {:error, reason :: any()}
T_MIN Captured minimum temperature value.
oneshot_mode(dev, value)
OST One-shot measurement
OST bit will initiate a measurement immediately. If the SBYB bit is set to active, setting the OST bit will initiate an immediate measurement, the part will then return to acquiring data as per the setting of the ST bits in CTRL_REG2. In this mode, the OST bit does not clear itself and must be cleared and set again to initiate another immediate measurement.
One Shot: When SBYB is 0, the OST bit is an auto-clear bit. When OST is set, the device initiates a measurement by going into active mode. Once a Pressure/Altitude and Temperature measurement is completed, it clears the OST bit and comes back to STANDBY mode. User shall read the value of the OST bit before writing to this bit again.
oneshot_mode?(mpl3115_a2)
OST One-shot measurement
OST bit will initiate a measurement immediately. If the SBYB bit is set to active, setting the OST bit will initiate an immediate measurement, the part will then return to acquiring data as per the setting of the ST bits in CTRL_REG2. In this mode, the OST bit does not clear itself and must be cleared and set again to initiate another immediate measurement.
One Shot: When SBYB is 0, the OST bit is an auto-clear bit. When OST is set, the device initiates a measurement by going into active mode. Once a Pressure/Altitude and Temperature measurement is completed, it clears the OST bit and comes back to STANDBY mode. User shall read the value of the OST bit before writing to this bit again.
operating_mode(mpl3115_a2)
ALT Altimeter-Barometer mode.
Selects whether the device is in Altimeter or Barometer mode.
Can be either :barometer
or :altimeter
.
operating_mode(dev, atom)
ALT Altimeter-Barometer mode.
Selects whether the device is in Altimeter or Barometer mode.
Can be either :barometer
or :altimeter
.
oversample_delay(conn)
@spec oversample_delay(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
Oversample delay in milliseconds.
oversample_ratio(mpl3115_a2)
@spec oversample_ratio(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
OS Oversample Ratio.
oversample_ratio(dev, value)
@spec oversample_ratio(t(), non_neg_integer()) :: {:ok, t()} | {:error, reason :: any()}
OS Oversample Ratio.
pressure(mpl3115_a2)
OUT_P Pressure in Pascals.
pressure_altitude_event_flag_enable(dev, bool)
PDEFE Data event flag enable on new Pressure/Altitude data.
Default value: false
.
pressure_altitude_event_flag_enable?(mpl3115_a2)
PDEFE Data event flag enable on new Pressure/Altitude data.
Default value: false
.
pressure_altitude_window(mpl3115_a2)
P_WND Pressure/Altitude window value.
In Altitude mode the result is in meters. In Pressure mode the result is in Pascals.
pressure_altitude_window(dev, pressure_or_altitude)
@spec pressure_altitude_window(t(), pressure() | altitude()) :: {:ok, t()} | {:error, reason :: any()}
P_WND Pressure/Altitude window value.
In Altitude mode the result is in meters. In Pressure mode the result is in Pascals.
pressure_data_overwrite?(mpl3115_a2)
POW Pressure/Altitude data overwrite.
pressure_data_ready?(mpl3115_a2)
PDR Pressure/Altitude new data available.
pressure_delta(mpl3115_a2)
OUT_P_DELTA Pressure delta in Pascals.
pressure_offset(mpl3115_a2)
@spec pressure_offset(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
OFF_P Pressure Offset
Pressure user accessible offset trim value.
pressure_offset(dev, value)
@spec pressure_offset(t(), non_neg_integer()) :: {:ok, t()} | {:error, reason :: any()}
OFF_P Pressure Offset
Pressure user accessible offset trim value.
pressure_or_altitude_target(mpl3115_a2)
@spec pressure_or_altitude_target(t()) :: {:ok, pressure() | altitude()} | {:error, reason :: any()}
P_TGT Altitude/Pressure target value.
This value works in conjunction with the window value (P_WND).
In Altitude mode the result is in meters. In Pressure mode the result is in Pascals.
pressure_or_altitude_target(dev, pressure_or_altitude)
@spec pressure_or_altitude_target(t(), pressure() | altitude()) :: {:ok, t()} | {:error, reason :: any()}
P_TGT Altitude/Pressure target value.
This value works in conjunction with the window value (P_WND).
In Altitude mode the result is in meters. In Pressure mode the result is in Pascals.
pressure_or_temperature_data_overwrite?(mpl3115_a2)
PTOW Pressure/Altitude OR Temperature data overwrite.
pressure_or_temperature_data_ready?(mpl3115_a2)
PTDR Pressure/Altitude OR Temperature data ready.
raw_output(dev, bool)
RAW Raw output mode.
RAW bit will output ADC data with no post processing, except for oversampling. No scaling or offsets will be applied in the digital domain. The FIFO must be disabled and all other functionality: Alarms, Deltas, and other interrupts are disabled.
raw_output?(mpl3115_a2)
RAW Raw output mode.
RAW bit will output ADC data with no post processing, except for oversampling. No scaling or offsets will be applied in the digital domain. The FIFO must be disabled and all other functionality: Alarms, Deltas, and other interrupts are disabled.
reset(dev)
RST Software Reset.
This bit is used to activate the software reset. The Boot mechanism can be enabled in STANDBY and ACTIVE mode.
When the Boot bit is enabled the boot mechanism resets all functional block registers and loads the respective internal registers with default values. If the system was already in STANDBY mode, the reboot process will immediately begin; else if the system was in ACTIVE mode, the boot mechanism will automatically transition the system from ACTIVE mode to STANDBY mode, only then can the reboot process begin.
The I2C communication system is reset to avoid accidental corrupted data access.
standby_mode(dev, value)
SBYB System Standby
standby_mode?(mpl3115_a2)
SBYB System Standby
system_mode(mpl3115_a2)
SYSMOD Get System Mode, either :standby
or :active
.
temperature(mpl3115_a2)
@spec temperature(t()) :: {:ok, temperature()} | {:error, reason :: any()}
OUT_T Temperature in ℃.
temperature_data_overwrite?(mpl3115_a2)
TOW Temperature data overwrite.
temperature_data_ready?(mpl3115_a2)
TDR Temperature new Data Available.
temperature_delta(mpl3115_a2)
@spec temperature_delta(t()) :: {:ok, temperature()} | {:error, reason :: any()}
OUT_T_DELTA Temperature delta in ℃.
temperature_delta_interrupt?(mpl3115_a2)
SRC_TCHG Delta T interrupt status.
temperature_event_flag_enable(dev, bool)
TDEFE Data event flag enable on new Temperature data.
Default value: false
.
temperature_event_flag_enable?(mpl3115_a2)
TDEFE Data event flag enable on new Temperature data.
Default value: false
.
temperature_interrupt?(mpl3115_a2)
SRC_TW Temperature alerter status bit near or equal to target temperature.
Near is within target value ± window value. Window value needs to be non zero for interrupt to trigger.
temperature_offset(mpl3115_a2)
OFF_T Temperature Offset
Temperature user accessible offset trim value.
temperature_offset(dev, value)
OFF_T Temperature Offset
Temperature user accessible offset trim value.
temperature_target(mpl3115_a2)
@spec temperature_target(t()) :: {:ok, temperature()} | {:error, reason :: any()}
T_TGT Temperature target value input in °C.
temperature_target(dev, temperature)
@spec temperature_target(t(), temperature()) :: {:ok, t()} | {:error, reason :: any()}
T_TGT Temperature target value input in °C.
temperature_threshold_interrupt?(mpl3115_a2)
SRC_TTH Temperature threshold interrupt.
With the window set to a non zero value, the trigger will occur on crossing any of the thresholds: upper, center or lower. If the window is set to 0, it will only trigger on crossing the center threshold.
temperature_window(mpl3115_a2)
@spec temperature_window(t()) :: {:ok, temperature()} | {:error, reason :: any()}
T_WND Temperature alarm window value in °C.
temperature_window(dev, temperature)
@spec temperature_window(t(), temperature()) :: {:ok, t()} | {:error, reason :: any()}
T_WND Temperature alarm window value in °C.
time_delay(mpl3115_a2)
@spec time_delay(t()) :: {:ok, non_neg_integer()} | {:error, reason :: any()}
TIME_DLY
The time delay register contains the number of ticks of data sample time since the last byte of the FIFO was written. This register starts to increment on FIFO overflow or data wrap and clears when last byte of FIFO is read.
verify_identity(dev)
WHO_AM_I Verify the device's identity
Read the contents of the WHO_AM_I register and make sure that it equals the value specified in the datasheet (0xC4).