@@ -34,11 +34,9 @@ uint8_t QwDevKX13X::getUniqueID()
34
34
//
35
35
// Method to set the bus object that is used to communicate with the device
36
36
//
37
- // Parameter Description
38
- // --------- -----------------------------
39
- // theBus The communication bus object
40
- // i2cAddress I2C address for the 6DoF
41
-
37
+ // Parameter:
38
+ // theBus-The communication bus object
39
+ // i2cAddress-I2C address for the 6DoF
42
40
void QwDevKX13X::setCommunicationBus (QwIDeviceBus &theBus, uint8_t i2cAddress)
43
41
{
44
42
_sfeBus = &theBus;
@@ -50,11 +48,9 @@ void QwDevKX13X::setCommunicationBus(QwIDeviceBus &theBus, uint8_t i2cAddress)
50
48
//
51
49
// Overloaded option for setting the data bus (theBus) object to a SPI bus object.
52
50
//
53
- // Parameter Description
54
- // --------- -----------------------------
55
- // theBus The communication bus object
51
+ // Parameter:
52
+ // theBus-The communication bus object
56
53
//
57
-
58
54
void QwDevKX13X::setCommunicationBus (QwIDeviceBus &theBus)
59
55
{
60
56
_sfeBus = &theBus;
@@ -103,7 +99,6 @@ bool QwDevKX13X::initialize(uint8_t settings)
103
99
//
104
100
// Resets the accelerometer
105
101
//
106
-
107
102
bool QwDevKX13X::softwareReset ()
108
103
{
109
104
@@ -1162,7 +1157,7 @@ bool QwDevKX13X::runCommandTest()
1162
1157
// Retrieves the raw register values representing accelerometer data.
1163
1158
//
1164
1159
// Paramater:
1165
- // *rawAccelData - This pointer to the
1160
+ // *rawAccelData - a pointer to the data struct that holds acceleromter X/Y/Z data.
1166
1161
//
1167
1162
bool QwDevKX13X::getRawAccelData (rawOutputData *rawAccelData){
1168
1163
@@ -1196,19 +1191,52 @@ bool QwDevKX13X::getRawAccelData(rawOutputData *rawAccelData){
1196
1191
}
1197
1192
1198
1193
1194
+ // ////////////////////////////////////////////////////////////////////////////////
1195
+ // readRegisterRegion()
1196
+ //
1197
+ // Calls sfebus read function.
1198
+ //
1199
+ // Parameter:
1200
+ // reg- register to read from
1201
+ // data- array to store data in
1202
+ // length- Size of data in bytes (8 bits): 2 bytes = length of two
1203
+ // retval- -1 = error, 0 = success
1204
+ //
1199
1205
int QwDevKX13X::readRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
1200
1206
{
1201
1207
return (int )_sfeBus->readRegisterRegion (_i2cAddress, reg, data, len);
1202
1208
}
1203
1209
1210
+ // ////////////////////////////////////////////////////////////////////////////////
1211
+ // writeRegisterRegion()
1212
+ //
1213
+ // Calls sfebus write function.
1214
+ //
1215
+ // Parameter:
1216
+ // reg- register to read from
1217
+ // data- array to store data in
1218
+ // length- Size of data in bytes (8 bits): 2 bytes = length of two
1219
+ // retval- -1 = error, 0 = success
1220
+ //
1204
1221
int QwDevKX13X::writeRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
1205
1222
{
1206
1223
return (int )_sfeBus->writeRegisterRegion (_i2cAddress, reg, data, len);
1207
1224
}
1208
1225
1209
- int QwDevKX13X::writeRegisterByte (uint8_t reg, uint8_t value)
1226
+ // ////////////////////////////////////////////////////////////////////////////////
1227
+ // writeRegisterByte()
1228
+ //
1229
+ // Calls sfebus write function.
1230
+ //
1231
+ // Parameter:
1232
+ // reg- register to read from
1233
+ // data- array to store data in
1234
+ // length- Size of data in bytes (8 bits): 2 bytes = length of two
1235
+ // retval- -1 = error, 0 = success
1236
+ //
1237
+ int QwDevKX13X::writeRegisterByte (uint8_t reg, uint8_t data)
1210
1238
{
1211
- return (int )_sfeBus->writeRegisterByte (_i2cAddress, reg, value );
1239
+ return (int )_sfeBus->writeRegisterByte (_i2cAddress, reg, data );
1212
1240
}
1213
1241
1214
1242
@@ -1218,8 +1246,12 @@ int QwDevKX13X::writeRegisterByte(uint8_t reg, uint8_t value)
1218
1246
// ******************************************************************************************
1219
1247
1220
1248
1221
- // Uses the beginCore function to check that the part ID from the "who am I"
1222
- // register matches the correct value. Uses I2C for data transfer.
1249
+ // ////////////////////////////////////////////////////////////////////////////////
1250
+ // init()
1251
+ //
1252
+ // Ensures that communication is established with the accelerometer by pinging its
1253
+ // address and retrieving its device ID.
1254
+ //
1223
1255
bool QwDevKX132::init (void )
1224
1256
{
1225
1257
if ( !_sfeBus->ping (_i2cAddress) )
@@ -1231,8 +1263,15 @@ bool QwDevKX132::init(void)
1231
1263
return true ;
1232
1264
}
1233
1265
1234
- // Grabs raw accel data and passes it to the following function to be
1235
- // converted.
1266
+
1267
+ // ////////////////////////////////////////////////////////////////////////////////
1268
+ // getAccelData()
1269
+ //
1270
+ // Retrieves the raw accelerometer data and calls a conversion function to convert the raw values.
1271
+ //
1272
+ // Paramater:
1273
+ // *userData - a pointer to the user's data struct that will hold acceleromter data.
1274
+ //
1236
1275
bool QwDevKX132::getAccelData (outputData *userData){
1237
1276
1238
1277
bool retVal;
@@ -1250,7 +1289,15 @@ bool QwDevKX132::getAccelData(outputData *userData){
1250
1289
return true ;
1251
1290
}
1252
1291
1253
- // Converts acceleration data according to the set range value.
1292
+ // ////////////////////////////////////////////////////////////////////////////////
1293
+ // convAccelData()
1294
+ //
1295
+ // Converts raw acceleromter data with the current accelerometer's range settings.
1296
+ //
1297
+ // Paramater:
1298
+ // *userData - a pointer to the user's data struct that will hold acceleromter data.
1299
+ // *rawAccelData - a pointer to the data struct that holds acceleromter X/Y/Z data.
1300
+ //
1254
1301
bool QwDevKX132::convAccelData (outputData *userAccel, rawOutputData *rawAccelData){
1255
1302
1256
1303
uint8_t regVal;
@@ -1266,22 +1313,22 @@ bool QwDevKX132::convAccelData(outputData *userAccel, rawOutputData *rawAccelDat
1266
1313
1267
1314
1268
1315
switch ( range ) {
1269
- case KX132_RANGE2G :
1316
+ case SFE_KX132_RANGE2G :
1270
1317
userAccel->xData = (float )rawAccelData->xData * convRange2G;
1271
1318
userAccel->yData = (float )rawAccelData->yData * convRange2G;
1272
1319
userAccel->zData = (float )rawAccelData->zData * convRange2G;
1273
1320
break ;
1274
- case KX132_RANGE4G :
1321
+ case SFE_KX132_RANGE4G :
1275
1322
userAccel->xData = (float )rawAccelData->xData * convRange4G;
1276
1323
userAccel->yData = (float )rawAccelData->yData * convRange4G;
1277
1324
userAccel->zData = (float )rawAccelData->zData * convRange4G;
1278
1325
break ;
1279
- case KX132_RANGE8G :
1326
+ case SFE_KX132_RANGE8G :
1280
1327
userAccel->xData = (float )rawAccelData->xData * convRange8G;
1281
1328
userAccel->yData = (float )rawAccelData->yData * convRange8G;
1282
1329
userAccel->zData = (float )rawAccelData->zData * convRange8G;
1283
1330
break ;
1284
- case KX132_RANGE16G :
1331
+ case SFE_KX132_RANGE16G :
1285
1332
userAccel->xData = (float )rawAccelData->xData * convRange16G;
1286
1333
userAccel->yData = (float )rawAccelData->yData * convRange16G;
1287
1334
userAccel->zData = (float )rawAccelData->zData * convRange16G;
@@ -1298,9 +1345,13 @@ bool QwDevKX132::convAccelData(outputData *userAccel, rawOutputData *rawAccelDat
1298
1345
// ******************************************************************************************
1299
1346
// ******************************************************************************************
1300
1347
1301
- // Constructor
1302
-
1303
1348
1349
+ // ////////////////////////////////////////////////////////////////////////////////
1350
+ // init()
1351
+ //
1352
+ // Ensures that communication is established with the accelerometer by pinging its
1353
+ // address and retrieving its device ID.
1354
+ //
1304
1355
bool QwDevKX134::init (void )
1305
1356
{
1306
1357
if ( !_sfeBus->ping (_i2cAddress) )
@@ -1312,6 +1363,15 @@ bool QwDevKX134::init(void)
1312
1363
return true ;
1313
1364
}
1314
1365
1366
+
1367
+ // ////////////////////////////////////////////////////////////////////////////////
1368
+ // getAccelData()
1369
+ //
1370
+ // Retrieves the raw accelerometer data and calls a conversion function to convert the raw values.
1371
+ //
1372
+ // Paramater:
1373
+ // *userData - a pointer to the user's data struct that will hold acceleromter data.
1374
+ //
1315
1375
bool QwDevKX134::getAccelData (outputData *userData)
1316
1376
{
1317
1377
@@ -1330,6 +1390,15 @@ bool QwDevKX134::getAccelData(outputData *userData)
1330
1390
return true ;
1331
1391
}
1332
1392
1393
+ // ////////////////////////////////////////////////////////////////////////////////
1394
+ // convAccelData()
1395
+ //
1396
+ // Converts raw acceleromter data with the current accelerometer's range settings.
1397
+ //
1398
+ // Paramater:
1399
+ // *userData - a pointer to the user's data struct that will hold acceleromter data.
1400
+ // *rawAccelData - a pointer to the data struct that holds acceleromter X/Y/Z data.
1401
+ //
1333
1402
bool QwDevKX134::convAccelData (outputData *userAccel, rawOutputData *rawAccelData)
1334
1403
{
1335
1404
@@ -1346,22 +1415,22 @@ bool QwDevKX134::convAccelData(outputData *userAccel, rawOutputData *rawAccelDat
1346
1415
1347
1416
1348
1417
switch ( range ) {
1349
- case KX134_RANGE8G :
1418
+ case SFE_KX134_RANGE8G :
1350
1419
userAccel->xData = (float )rawAccelData->xData * convRange8G;
1351
1420
userAccel->yData = (float )rawAccelData->yData * convRange8G;
1352
1421
userAccel->zData = (float )rawAccelData->zData * convRange8G;
1353
1422
break ;
1354
- case KX134_RANGE16G :
1423
+ case SFE_KX134_RANGE16G :
1355
1424
userAccel->xData = (float )rawAccelData->xData * convRange16G;
1356
1425
userAccel->yData = (float )rawAccelData->yData * convRange16G;
1357
1426
userAccel->zData = (float )rawAccelData->zData * convRange16G;
1358
1427
break ;
1359
- case KX134_RANGE32G :
1428
+ case SFE_KX134_RANGE32G :
1360
1429
userAccel->xData = (float )rawAccelData->xData * convRange32G;
1361
1430
userAccel->yData = (float )rawAccelData->yData * convRange32G;
1362
1431
userAccel->zData = (float )rawAccelData->zData * convRange32G;
1363
1432
break ;
1364
- case KX134_RANGE64G :
1433
+ case SFE_KX134_RANGE64G :
1365
1434
userAccel->xData = (float )rawAccelData->xData * convRange64G;
1366
1435
userAccel->yData = (float )rawAccelData->yData * convRange64G;
1367
1436
userAccel->zData = (float )rawAccelData->zData * convRange64G;
0 commit comments