pyupm_lis2ds12 module¶
-
class
pyupm_lis2ds12.
LIS2DS12
(bus=0, addr=30, cs=-1)[source]¶ Bases:
object
API for the LIS2DS12 3-axis Accelerometer.
ID: lis2ds12
Name: Digital 3-axis Accelerometer
Category: accelerometer
Manufacturer: stmicro
Connection: i2c spi gpio
Link:http://www.st.com/en/mems-and-sensors/lis2ds12.html The LIS2DS12 is an ultra-low-power high performance three-axis linear accelerometer belonging to the “pico” family which leverages on the robust and mature manufacturing processes already used for the production of micromachined accelerometers.
The LIS2DS12 has user-selectable full scales of 2g/4g/8g/16g and is capable of measuring accelerations with output data rates from 1 Hz to 6400 Hz.
Not all functionality of this chip has been implemented in this driver, however all the pieces are present to add any desired functionality. This driver supports both I2C (default) and SPI operation.
This device requires 1.8v operation.
C++ includes: lis2ds12.hpp
-
enableHPFiltering
(filter)[source]¶ void enableHPFiltering(bool filter)
Enable high pass filtering of the accelerometer axis data. init() disables this by default. See the datasheet for details.
filter: true to enable filtering, false to disable
std::runtime_error: on failure
-
enableInterruptLatching
(latch)[source]¶ void enableInterruptLatching(bool latch)
Enable or disable interrupt latching. If latching is disabled, pulsed is enabled. See the datasheet for details.
latch: true to enable latching, false to disable
std::runtime_error: on failure
-
getAccelerometer
(*args)[source]¶ std::vector< float > getAccelerometer()
Return accelerometer data in gravities in the form of a floating point vector. update() must have been called prior to calling this method.
A floating point vector containing x, y, and z in that order
-
getStatus
()[source]¶ uint8_t getStatus()
Return the contents of the status register
A bitmask of values from LIS2DS12_STATUS_BITS_T
-
getTemperature
(fahrenheit=False)[source]¶ float getTemperature(bool fahrenheit=false)
Return the current measured temperature. Note, this is not ambient temperature. update() must have been called prior to calling this method.
fahrenheit: true to return data in Fahrenheit, false for Celicus. Celsius is the default.
The temperature in degrees Celsius or Fahrenheit
-
init
(odr=4, fs=0)[source]¶ void init(LIS2DS12_ODR_T odr=LIS2DS12_ODR_100HZ, LIS2DS12_FS_T fs=LIS2DS12_FS_2G)
Initialize the device and start operation. This function is called from the constructor so will not typically need to be called by a user unless the device is reset.
odr: One of the LIS2DS12_ODR_T values. The default is LIS2DS12_ODR_100HZ
fs: One of the LIS2DS12_FS_T values. The default is LIS2DS12_FS_2G
std::runtime_error: on failure
-
installISR
(intr, gpio, level, isr, arg)[source]¶ void installISR(LIS2DS12_INTERRUPT_PINS_T intr, int gpio, mraa::Edge level, void(*isr)(void *), void *arg)
install an interrupt handler
intr: One of the LIS2DS12_INTERRUPT_PINS_T values specifying which interrupt pin you are installing
gpio: GPIO pin to use as interrupt pin
level: The interrupt trigger level (one of mraa::Edge values). Make sure that you have configured the interrupt pin properly for whatever level you choose.
isr: The interrupt handler, accepting a void * argument
arg: The argument to pass the the interrupt handler
std::runtime_error: on failure
-
readReg
(reg)[source]¶ uint8_t readReg(uint8_t reg)
Read a register
reg: The register to read
The value of the register
-
readRegs
(reg, buffer, len)[source]¶ int readRegs(uint8_t reg, uint8_t *buffer, int len)
Read contiguous registers into a buffer
reg: The register to start the read from
buffer: The buffer to store the results
len: The number of registers to read
The number of bytes read
std::runtime_error: on failure
-
reset
()[source]¶ void reset()
Reset the device as if during a power on reset. All configured values are lost when this happens. You should call init() afterwards, or at least perform the same initialization init() does before continuing.
std::runtime_error: on failure
-
setFullScale
(fs)[source]¶ void setFullScale(LIS2DS12_FS_T fs)
Set the full scale (FS) of the device. This device supports a full scale of 2, 4, 8, and 16G.
fs: One of the LIS2DS12_FS_T values
std::runtime_error: on failure
-
setInt1Config
(cfg)[source]¶ void setInt1Config(uint8_t cfg)
Set interrupt 1 configuration. See the datasheet for details.
cfg: A bitmask of values from LIS2DS12_CTRL4_BITS_T
std::runtime_error: on failure
-
setInt2Config
(cfg)[source]¶ void setInt2Config(uint8_t cfg)
Set interrupt 2 configuration. See the datasheet for details.
cfg: A bitmask of values from LIS2DS12_CTRL5_BITS_T
std::runtime_error: on failure
-
setInterruptActiveHigh
(high)[source]¶ void setInterruptActiveHigh(bool high)
Indicate whether the interrupt should be active high (default) or active low. See the datasheet for details.
high: true for active high, false for active low
std::runtime_error: on failure
-
setInterruptPushPull
(pp)[source]¶ void setInterruptPushPull(bool pp)
Indicate whether interrupts are push-pull (default) or open drain. See the datasheet for details.
pp: true for push-pull, false for open-drain
std::runtime_error: on failure
-
setODR
(odr)[source]¶ void setODR(LIS2DS12_ODR_T odr)
Set the output data rate (ODR) of the device
odr: One of the LIS2DS12_ODR_T values
std::runtime_error: on failure
-
uninstallISR
(intr)[source]¶ void uninstallISR(LIS2DS12_INTERRUPT_PINS_T intr)
uninstall a previously installed interrupt handler
intr: One of the LIS2DS12_INTERRUPT_PINS_T values specifying which interrupt pin you are removing
-