@@ -44,13 +44,15 @@ THE SOFTWARE.
44
44
45
45
uint8_t BMI160Class::reg_read (uint8_t reg)
46
46
{
47
+ uint8_t buffer[1 ];
47
48
buffer[0 ] = reg;
48
49
serial_buffer_transfer (buffer, 1 , 1 );
49
50
return buffer[0 ];
50
51
}
51
52
52
53
void BMI160Class::reg_write (uint8_t reg, uint8_t data)
53
54
{
55
+ uint8_t buffer[2 ];
54
56
buffer[0 ] = reg;
55
57
buffer[1 ] = data;
56
58
serial_buffer_transfer (buffer, 2 , 0 );
@@ -890,6 +892,7 @@ void BMI160Class::setStepCountEnabled(bool enabled) {
890
892
* @see BMI160_RA_STEP_CNT_L
891
893
*/
892
894
uint16_t BMI160Class::getStepCount () {
895
+ uint8_t buffer[2 ];
893
896
buffer[0 ] = BMI160_RA_STEP_CNT_L;
894
897
serial_buffer_transfer (buffer, 1 , 2 );
895
898
return (((uint16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -1535,6 +1538,7 @@ void BMI160Class::setGyroFIFOEnabled(bool enabled) {
1535
1538
* @see BMI160_RA_FIFO_LENGTH_0
1536
1539
*/
1537
1540
uint16_t BMI160Class::getFIFOCount () {
1541
+ uint8_t buffer[2 ];
1538
1542
buffer[0 ] = BMI160_RA_FIFO_LENGTH_0;
1539
1543
serial_buffer_transfer (buffer, 1 , 2 );
1540
1544
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2156,6 +2160,7 @@ void BMI160Class::setIntEnabled(bool enabled) {
2156
2160
* @see BMI160_RA_GYRO_X_L
2157
2161
*/
2158
2162
void BMI160Class::getMotion6 (int16_t * ax, int16_t * ay, int16_t * az, int16_t * gx, int16_t * gy, int16_t * gz) {
2163
+ uint8_t buffer[12 ];
2159
2164
buffer[0 ] = BMI160_RA_GYRO_X_L;
2160
2165
serial_buffer_transfer (buffer, 1 , 12 );
2161
2166
*gx = (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2203,6 +2208,7 @@ void BMI160Class::getMotion6(int16_t* ax, int16_t* ay, int16_t* az, int16_t* gx,
2203
2208
* @see BMI160_RA_ACCEL_X_L
2204
2209
*/
2205
2210
void BMI160Class::getAcceleration (int16_t * x, int16_t * y, int16_t * z) {
2211
+ uint8_t buffer[6 ];
2206
2212
buffer[0 ] = BMI160_RA_ACCEL_X_L;
2207
2213
serial_buffer_transfer (buffer, 1 , 6 );
2208
2214
*x = (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2216,6 +2222,7 @@ void BMI160Class::getAcceleration(int16_t* x, int16_t* y, int16_t* z) {
2216
2222
* @see BMI160_RA_ACCEL_X_L
2217
2223
*/
2218
2224
int16_t BMI160Class::getAccelerationX () {
2225
+ uint8_t buffer[2 ];
2219
2226
buffer[0 ] = BMI160_RA_ACCEL_X_L;
2220
2227
serial_buffer_transfer (buffer, 1 , 2 );
2221
2228
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2227,6 +2234,7 @@ int16_t BMI160Class::getAccelerationX() {
2227
2234
* @see BMI160_RA_ACCEL_Y_L
2228
2235
*/
2229
2236
int16_t BMI160Class::getAccelerationY () {
2237
+ uint8_t buffer[2 ];
2230
2238
buffer[0 ] = BMI160_RA_ACCEL_Y_L;
2231
2239
serial_buffer_transfer (buffer, 1 , 2 );
2232
2240
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2238,6 +2246,7 @@ int16_t BMI160Class::getAccelerationY() {
2238
2246
* @see BMI160_RA_ACCEL_Z_L
2239
2247
*/
2240
2248
int16_t BMI160Class::getAccelerationZ () {
2249
+ uint8_t buffer[2 ];
2241
2250
buffer[0 ] = BMI160_RA_ACCEL_Z_L;
2242
2251
serial_buffer_transfer (buffer, 1 , 2 );
2243
2252
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2261,6 +2270,7 @@ int16_t BMI160Class::getAccelerationZ() {
2261
2270
* @see BMI160_RA_TEMP_L
2262
2271
*/
2263
2272
int16_t BMI160Class::getTemperature () {
2273
+ uint8_t buffer[2 ];
2264
2274
buffer[0 ] = BMI160_RA_TEMP_L;
2265
2275
serial_buffer_transfer (buffer, 1 , 2 );
2266
2276
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2300,6 +2310,7 @@ int16_t BMI160Class::getTemperature() {
2300
2310
* @see BMI160_RA_GYRO_X_L
2301
2311
*/
2302
2312
void BMI160Class::getRotation (int16_t * x, int16_t * y, int16_t * z) {
2313
+ uint8_t buffer[6 ];
2303
2314
buffer[0 ] = BMI160_RA_GYRO_X_L;
2304
2315
serial_buffer_transfer (buffer, 1 , 6 );
2305
2316
*x = (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2313,6 +2324,7 @@ void BMI160Class::getRotation(int16_t* x, int16_t* y, int16_t* z) {
2313
2324
* @see BMI160_RA_GYRO_X_L
2314
2325
*/
2315
2326
int16_t BMI160Class::getRotationX () {
2327
+ uint8_t buffer[2 ];
2316
2328
buffer[0 ] = BMI160_RA_GYRO_X_L;
2317
2329
serial_buffer_transfer (buffer, 1 , 2 );
2318
2330
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2324,6 +2336,7 @@ int16_t BMI160Class::getRotationX() {
2324
2336
* @see BMI160_RA_GYRO_Y_L
2325
2337
*/
2326
2338
int16_t BMI160Class::getRotationY () {
2339
+ uint8_t buffer[2 ];
2327
2340
buffer[0 ] = BMI160_RA_GYRO_Y_L;
2328
2341
serial_buffer_transfer (buffer, 1 , 2 );
2329
2342
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
@@ -2335,6 +2348,7 @@ int16_t BMI160Class::getRotationY() {
2335
2348
* @see BMI160_RA_GYRO_Z_L
2336
2349
*/
2337
2350
int16_t BMI160Class::getRotationZ () {
2351
+ uint8_t buffer[2 ];
2338
2352
buffer[0 ] = BMI160_RA_GYRO_Z_L;
2339
2353
serial_buffer_transfer (buffer, 1 , 2 );
2340
2354
return (((int16_t )buffer[1 ]) << 8 ) | buffer[0 ];
0 commit comments