Reference
Last revision 2026/01/19
API Description
DFRobot_LIS();
/**
* @brief Initialize the function
* @return true(Succeed)/false(Failed)
*/
bool begin(void);
/**
* @brief Get chip id
* @return 8 bit serial number
*/
uint8_t getID();
/**
* @brief Enable interrupt
* @param source Interrupt pin selection
eINT1 = 0,/<int1 >/
eINT2,/<int2>/
* @param event Interrupt event selection
eXLowerThanTh ,/<The acceleration in the x direction is less than the threshold>/
eXHigherThanTh ,/<The acceleration in the x direction is greater than the threshold>/
eYLowerThanTh,/<The acceleration in the y direction is less than the threshold>/
eYHigherThanTh,/<The acceleration in the y direction is greater than the threshold>/
eZLowerThanTh,/<The acceleration in the z direction is less than the threshold>/
eZHigherThanTh,/<The acceleration in the z direction is greater than the threshold>/
*/
void enableInterruptEvent(eInterruptSource_t source, eInterruptEvent_t event);
/**
* @brief Set measurement range
* @param range Range(g)
eH3lis200dl_100g, //±100g
eH3lis200dl_200g, //±200g
eLis331hh_6g = 6,//±6g
eLis331hh_12g = 12 //±12g
eLis331hh_24g = 24 //±24g
@return true(Set successfully)/false(Set failed)
*/
bool setRange(eRange_t range);
/**
* @brief Set data measurement rate
* @param rate rate(HZ)
ePowerDown_0HZ //Measurement off
eLowPower_halfHZ //0.5 hz
eLowPower_1HZ
eLowPower_2HZ
eLowPower_5HZ
eLowPower_10HZ
eNormal_50HZ
eNormal_100HZ
eNormal_400HZ
eNormal_1000HZ
*/
void setAcquireRate(ePowerMode_t rate);
/**
* @brief Set data filtering mode
* @param mode Four modes
eCutOffMode1 = 0,
eCutOffMode2,
eCutOffMode3,
eCutOffMode4,
eShutDown, no filering
eg: Select eCutOffMode1 in 50HZ, and the filtered frequency is 1HZ
*|---------------------------High-pass filter cut-off frequency configuration-----------------------------|
*|--------------------------------------------------------------------------------------------------------|
*| | ft [Hz] | ft [Hz] | ft [Hz] | ft [Hz] |
*| mode |Data rate = 50 Hz| Data rate = 100 Hz | Data rate = 400 Hz | Data rate = 1000 Hz |
*|--------------------------------------------------------------------------------------------------------|
*| eCutOffMode1 | 1 | 2 | 8 | 20 |
*|--------------------------------------------------------------------------------------------------------|
*| eCutOffMode2 | 0.5 | 1 | 4 | 10 |
*|--------------------------------------------------------------------------------------------------------|
*| eCutOffMode3 | 0.25 | 0.5 | 2 | 5 |
*|--------------------------------------------------------------------------------------------------------|
*| eCutOffMode4 | 0.125 | 0.25 | 1 | 2.5 |
*|--------------------------------------------------------------------------------------------------------|
*/
void setHFilterMode(eHighPassFilter_t mode);
/**
* @brief Set the threshold of interrupt source 1 interrupt
* @param threshold The threshold we set before is within measurement range(unit:g)
*/
void setInt1Th(uint8_t threshold);
/**
* @brief Set interrupt source 2 interrupt generation threshold
* @param threshold The threshold we set before is within measurement range(unit:g)
*/
void setInt2Th(uint8_t threshold);
/**
* @brief Enable sleep wake function
* @param enable true(enable)\false(disable)
* @return false Indicate enable failed/true Indicate enable successful
*/
bool enableSleep(bool enable);
/**
* @brief Check whether the interrupt event'event' is generated in interrupt 1
* @param event Interrupt event
eXLowerThanTh ,/<The acceleration in the x direction is less than the threshold>/
eXHigherThanTh ,/<The acceleration in the x direction is greater than the threshold>/
eYLowerThanTh,/<The acceleration in the y direction is less than the threshold>/
eYHigherThanTh,/<The acceleration in the y direction is greater than the threshold>/
eZLowerThanTh,/<The acceleration in the z direction is less than the threshold>/
eZHigherThanTh,/<The acceleration in the z direction is greater than the threshold>/
* @return true This event generated
false This event not generated
*/
bool getInt1Event(eInterruptEvent_t event);
/**
* @brief Check whether the interrupt event'event' is generated in interrupt 2
* @param event Interrupt event
eXLowerThanTh ,/<The acceleration in the x direction is less than the threshold>/
eXHigherThanTh ,/<The acceleration in the x direction is greater than the threshold>/
eYLowerThanTh,/<The acceleration in the y direction is less than the threshold>/
eYHigherThanTh,/<The acceleration in the y direction is greater than the threshold>/
eZLowerThanTh,/<The acceleration in the z direction is less than the threshold>/
eZHigherThanTh,/<The acceleration in the z direction is greater than the threshold>/
* @return true This event generated
false This event not generated
*/
bool getInt2Event(eInterruptEvent_t event);
/**
* @brief Get the acceleration in the x direction
* @return acceleration from x
*/
int32_t readAccX();
/**
* @brief Get the acceleration in the y direction
* @return acceleration from y
*/
int32_t readAccY();
/**
* @brief Get the acceleration in the z direction
* @return acceleration from z
*/
int32_t readAccZ();
/**
* @brief Get the acceleration in the three directions of xyz
* @param accx Store the variable of acceleration in x direction
* @param accy Store the variable of acceleration in y direction
* @param accz Store the variable of acceleration in z direction
* @return true(Get data successfully/false(Data not ready)
*/
bool getAcceFromXYZ(int32_t &accx,int32_t &accy,int32_t &accz);
/**
* @brief Get whether the sensor is in sleep mode
* @return true(In sleep mode)/false(In normal mode)
*/
bool getSleepState();
/**
* @brief Set the sleep state flag
* @param into true(Flag the current mode as sleep mode)
false(Flag the current mode as normal mode)
*/
void setSleepFlag(bool into);
Library
- Arduino Library: Download and install the LIS Series Library and Sample Code. (About how to install the library?)
- Python Library: Download and install the LIS Series Python Library.
Communication Protocol Description
- Interface: Gravity-I2C
- I2C Address: 0x19 (Default)/0x18 (Optional)
Was this article helpful?
