Skip to content

Commit 45ca013

Browse files
authored
Merge pull request #3 from cparata/master
Add begin and end APIs and fix issues on hardware events
2 parents 670b801 + 62440f5 commit 45ca013

5 files changed

Lines changed: 134 additions & 100 deletions

File tree

README.md

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,36 @@ Arduino library to support the ISM330DHCX 3D accelerometer and 3D gyroscope
66
This sensor uses I2C or SPI to communicate.
77
For I2C it is then required to create a TwoWire interface before accessing to the sensors:
88

9-
dev_i2c = new TwoWire(I2C_SDA, I2C_SCL);
10-
dev_i2c->begin();
9+
TwoWire dev_i2c(I2C_SDA, I2C_SCL);
10+
dev_i2c.begin();
1111

1212
For SPI it is then required to create a SPI interface before accessing to the sensors:
1313

14-
dev_spi = new SPIClass(SPI_MOSI, SPI_MISO, SPI_SCK);
15-
dev_spi->begin();
14+
SPIClass dev_spi(SPI_MOSI, SPI_MISO, SPI_SCK);
15+
dev_spi.begin();
1616

17-
An instance can be create and enabled when the I2C bus is used following the procedure below:
17+
An instance can be created and enabled when the I2C bus is used following the procedure below:
1818

19-
AccGyro = new ISM330DHCXSensor(dev_i2c);
19+
ISM330DHCXSensor AccGyr(&dev_i2c);
20+
AccGyr.begin();
21+
AccGyr.ACC_Enable();
22+
AccGyr.GYRO_Enable();
2023

21-
Enable accelerometer.
24+
An instance can be created and enabled when the SPI bus is used following the procedure below:
2225

23-
AccGyro->ACC_Enable();
24-
25-
Enable gyroscope.
26-
27-
AccGyro->GYRO_Enable();
28-
29-
An instance can be create and enabled when the SPI bus is used following the procedure below:
30-
31-
AccGyro = new ISM330DHCXSensor(dev_spi, CS_PIN);
32-
33-
Enable accelerometer.
34-
35-
AccGyro->ACC_Enable();
36-
37-
Enable gyroscope.
38-
39-
AccGyro->GYRO_Enable();
26+
ISM330DHCXSensor AccGyr(&dev_spi, CS_PIN);
27+
AccGyr.begin();
28+
AccGyr.ACC_Enable();
29+
AccGyr.GYRO_Enable();
4030

4131
The access to the sensor value is done as explained below:
4232

43-
Read accelerometer.
44-
45-
AccGyro->ACC_GetAxes();
46-
47-
Read gyroscope.
33+
Read accelerometer and gyroscope.
4834

49-
AccGyro->GYRO_GetAxes();
35+
int32_t accelerometer[3];
36+
int32_t gyroscope[3];
37+
AccGyr.ACC_GetAxes(accelerometer);
38+
AccGyr.GYRO_GetAxes(gyroscope);
5039

5140
## Documentation
5241
You can find the source files at

keywords.txt

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
# Datatypes (KEYWORD1)
77
#######################################
88

9-
ISM330DHCXSensor KEYWORD1
10-
ISM330DHCXStatusTypeDef KEYWORD1
9+
ISM330DHCXSensor KEYWORD1
10+
ISM330DHCXStatusTypeDef KEYWORD1
1111
ISM330DHCX_Event_Status_t KEYWORD1
1212

1313
#######################################
1414
# Methods and Functions (KEYWORD2)
1515
#######################################
1616

17+
begin KEYWORD2
18+
end KEYWORD2
1719
ReadID KEYWORD2
18-
1920
ACC_Enable KEYWORD2
2021
ACC_Disable KEYWORD2
2122
ACC_GetSensitivity KEYWORD2
@@ -25,7 +26,6 @@ ACC_GetFullScale KEYWORD2
2526
ACC_SetFullScale KEYWORD2
2627
ACC_GetAxes KEYWORD2
2728
ACC_GetAxesRaw KEYWORD2
28-
2929
GYRO_Enable KEYWORD2
3030
GYRO_Disable KEYWORD2
3131
GYRO_GetSensitivity KEYWORD2
@@ -35,10 +35,8 @@ GYRO_GetFullScale KEYWORD2
3535
GYRO_SetFullScale KEYWORD2
3636
GYRO_GetAxes KEYWORD2
3737
GYRO_GetAxesRaw KEYWORD2
38-
3938
ReadReg KEYWORD2
4039
WriteReg KEYWORD2
41-
4240
ACC_SetSelfTest KEYWORD2
4341
ACC_GetSelfTest KEYWORD2
4442
ACC_GetDRDYStatus KEYWORD2
@@ -47,53 +45,46 @@ GYRO_SetSelfTest KEYWORD2
4745
GYRO_GetSelfTest KEYWORD2
4846
GYRO_GetDRDYStatus KEYWORD2
4947
GYRO_Enable_HP_Filter KEYWORD2
50-
5148
ACC_GetEventStatus KEYWORD2
52-
53-
ACC_EnableFreeFallDetection KEYWORD2
54-
ACC_DisableFreeFallDetection KEYWORD2
55-
ACC_SetFreeFallThreshold KEYWORD2
56-
ACC_SetFreeFallDuration KEYWORD2
57-
58-
ACC_EnableWakeUpDetection KEYWORD2
59-
ACC_DisableWakeUpDetection KEYWORD2
60-
ACC_SetWakeUpThreshold KEYWORD2
61-
ACC_SetWakeUpDuration KEYWORD2
62-
63-
ACC_EnableSingleTapDetection KEYWORD2
64-
ACC_DisableSingleTapDetection KEYWORD2
65-
ACC_EnableDoubleTapDetection KEYWORD2
66-
ACC_DisableDoubleTapDetection KEYWORD2
67-
ACC_SetTapThreshold KEYWORD2
68-
ACC_SetTapShockTime KEYWORD2
69-
ACC_SetTapQuietTime KEYWORD2
70-
ACC_SetTapDurationTime KEYWORD2
71-
72-
ACC_Enable6DOrientation KEYWORD2
73-
ACC_Disable6DOrientation KEYWORD2
74-
ACC_Set6DOrientationThreshold KEYWORD2
75-
ACC_Get6DOrientationXL KEYWORD2
76-
ACC_Get6DOrientationXH KEYWORD2
77-
ACC_Get6DOrientationYL KEYWORD2
78-
ACC_Get6DOrientationYH KEYWORD2
79-
ACC_Get6DOrientationZL KEYWORD2
80-
ACC_Get6DOrientationZH KEYWORD2
49+
ACC_EnableFreeFallDetection KEYWORD2
50+
ACC_DisableFreeFallDetection KEYWORD2
51+
ACC_SetFreeFallThreshold KEYWORD2
52+
ACC_SetFreeFallDuration KEYWORD2
53+
ACC_EnableWakeUpDetection KEYWORD2
54+
ACC_DisableWakeUpDetection KEYWORD2
55+
ACC_SetWakeUpThreshold KEYWORD2
56+
ACC_SetWakeUpDuration KEYWORD2
57+
ACC_EnableSingleTapDetection KEYWORD2
58+
ACC_DisableSingleTapDetection KEYWORD2
59+
ACC_EnableDoubleTapDetection KEYWORD2
60+
ACC_DisableDoubleTapDetection KEYWORD2
61+
ACC_SetTapThreshold KEYWORD2
62+
ACC_SetTapShockTime KEYWORD2
63+
ACC_SetTapQuietTime KEYWORD2
64+
ACC_SetTapDurationTime KEYWORD2
65+
ACC_Enable6DOrientation KEYWORD2
66+
ACC_Disable6DOrientation KEYWORD2
67+
ACC_Set6DOrientationThreshold KEYWORD2
68+
ACC_Get6DOrientationXL KEYWORD2
69+
ACC_Get6DOrientationXH KEYWORD2
70+
ACC_Get6DOrientationYL KEYWORD2
71+
ACC_Get6DOrientationYH KEYWORD2
72+
ACC_Get6DOrientationZL KEYWORD2
73+
ACC_Get6DOrientationZH KEYWORD2
8174

8275
#######################################
8376
# Constants (LITERAL1)
8477
#######################################
8578

8679
IIS2DLPC_OK LITERAL1
8780
IIS2DLPC_ERROR LITERAL1
88-
8981
ISM330DHCX_ACC_SENSITIVITY_FS_2G LITERAL1
9082
ISM330DHCX_ACC_SENSITIVITY_FS_4G LITERAL1
9183
ISM330DHCX_ACC_SENSITIVITY_FS_8G LITERAL1
9284
ISM330DHCX_ACC_SENSITIVITY_FS_16G LITERAL1
93-
9485
ISM330DHCX_GYRO_SENSITIVITY_FS_125DPS LITERAL1
9586
ISM330DHCX_GYRO_SENSITIVITY_FS_250DPS LITERAL1
9687
ISM330DHCX_GYRO_SENSITIVITY_FS_500DPS LITERAL1
9788
ISM330DHCX_GYRO_SENSITIVITY_FS_1000DPS LITERAL1
9889
ISM330DHCX_GYRO_SENSITIVITY_FS_2000DPS LITERAL1
99-
ISM330DHCX_GYRO_SENSITIVITY_FS_4000DPS LITERAL1
90+
ISM330DHCX_GYRO_SENSITIVITY_FS_4000DPS LITERAL1

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=STM32duino ISM330DHCX
2-
version=1.0.0
2+
version=2.0.0
33
author=SRA
44
maintainer=stm32duino
55
sentence=High-Performance 3D digital accelerometer and 3D digital gyroscope.

0 commit comments

Comments
 (0)