Skip to content

Commit c681e13

Browse files
author
microbuilder
committed
Added essential register values
1 parent c7a5eaa commit c681e13

File tree

2 files changed

+29
-35
lines changed

2 files changed

+29
-35
lines changed

Adafruit_LSM9DS0.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,7 @@ void Adafruit_LSM9DS0::read()
148148
magData.y = (ylo | (yhi << 8));
149149
magData.z = (zlo | (zhi << 8));
150150

151-
152151
// Read gyro
153-
154152
Wire.beginTransmission((byte)LSM9DS0_ADDRESS_GYRO);
155153
Wire.write(0x80 | LSM9DS0_REGISTER_OUT_X_L_G);
156154
Wire.endTransmission();
@@ -167,17 +165,25 @@ void Adafruit_LSM9DS0::read()
167165
zhi = Wire.read();
168166
gyroData.x = (xlo | (xhi << 8));
169167
gyroData.y = (ylo | (yhi << 8));
170-
gyroData.z = (zlo | (zhi << 8));
171-
168+
gyroData.z = (zlo | (zhi << 8));
172169
}
173170

174171
// ToDo: Calculate orientation
175-
magData.orientation = 0.0;
176172
}
177173

178-
void Adafruit_LSM9DS0::setMagGain(lsm9ds0MagGain_t gain)
174+
void Adafruit_LSM9DS0::setupAccel ( lsm9ds0AccelRange_t range, lm9ds0AccelDataRate_t datarate )
179175
{
176+
177+
}
180178

179+
void Adafruit_LSM9DS0::setupMag ( lsm9ds0MagGain_t gain, lsm9ds0MagDataRate_t datarate )
180+
{
181+
182+
}
183+
184+
void Adafruit_LSM9DS0::setupGyro ( lsm9ds0GyroScale_t scale )
185+
{
186+
181187
}
182188

183189
/***************************************************************************

Adafruit_LSM9DS0.h

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
class Adafruit_LSM9DS0
3535
{
3636
public:
37-
Adafruit_LSM9DS0();
38-
Adafruit_LSM9DS0(int8_t xmcs, int8_t gcs);
39-
Adafruit_LSM9DS0(int8_t clk, int8_t miso, int8_t mosi, int8_t xmcs, int8_t gcs);
37+
Adafruit_LSM9DS0 ( );
38+
Adafruit_LSM9DS0 ( int8_t xmcs, int8_t gcs );
39+
Adafruit_LSM9DS0 ( int8_t clk, int8_t miso, int8_t mosi, int8_t xmcs, int8_t gcs );
4040

4141
typedef enum
4242
{
@@ -125,38 +125,26 @@ class Adafruit_LSM9DS0
125125
LSM9DS0_GYROSCALE_2000DPS = (0b10 << 4) // +/- 2000 degrees per second rotation
126126
} lsm9ds0GyroScale_t;
127127

128-
typedef struct lsm9ds0AccelData_s
128+
typedef struct vector_s
129129
{
130130
float x;
131131
float y;
132132
float z;
133-
} lsm9ds0AccelData_t;
133+
} lsm9ds0Vector_t;
134134

135-
typedef struct lsm9ds0GyroData_s
136-
{
137-
float x;
138-
float y;
139-
float z;
140-
} lsm9ds0GyroData_t;
141-
142-
typedef struct lsm9ds0MagData_s
143-
{
144-
float x;
145-
float y;
146-
float z;
147-
float orientation;
148-
} lsm9ds0MagData_t;
149-
150-
lsm9ds0AccelData_t accelData; // Last read accelerometer data will be available here
151-
lsm9ds0MagData_t magData; // Last read magnetometer data will be available here
152-
lsm9ds0GyroData_t gyroData; // Last read gyroscope data will be available here
135+
lsm9ds0Vector_t accelData; // Last read accelerometer data will be available here
136+
lsm9ds0Vector_t magData; // Last read magnetometer data will be available here
137+
lsm9ds0Vector_t gyroData; // Last read gyroscope data will be available here
138+
float temperature; // Last read temperzture data will be available here
153139

154-
bool begin ( void );
155-
void read ( void );
156-
void setMagGain ( lsm9ds0MagGain_t gain );
157-
void write8 ( boolean type, byte reg, byte value );
158-
byte read8 ( boolean type, byte reg );
159-
uint8_t spixfer ( uint8_t data );
140+
bool begin ( void );
141+
void read ( void );
142+
void setupAccel ( lsm9ds0AccelRange_t range, lm9ds0AccelDataRate_t datarate );
143+
void setupMag ( lsm9ds0MagGain_t gain, lsm9ds0MagDataRate_t datarate );
144+
void setupGyro ( lsm9ds0GyroScale_t scale );
145+
void write8 ( boolean type, byte reg, byte value );
146+
byte read8 ( boolean type, byte reg );
147+
uint8_t spixfer ( uint8_t data );
160148

161149
private:
162150
boolean _i2c;

0 commit comments

Comments
 (0)