49#if (ADXL317_USE_I2C) || defined(__DOXYGEN__)
65 uint8_t *b,
size_t n) {
87 uint8_t *b,
size_t n) {
97 for(i = 0; i < n; i++, b++) {
148 "acc_read_raw(), invalid state");
156 tmp = buff[2 * i] >>2 | (buff[2 * i + 1] << 6);
197 "acc_read_cooked(), invalid state");
203 axes[i] = ((float)raw[i] * devp->accsensitivity[i]) - devp->accbias[i];
233 "acc_set_bias(), invalid state");
236 devp->accbias[i] = bp[i];
262 "acc_reset_bias(), invalid state");
292 "acc_set_sensivity(), invalid state");
295 devp->accsensitivity[i] = sp[i];
321 "acc_reset_sensivity(), invalid state");
358 devp->commtxp = txbp;
359 devp->commrxp = rxbp;
383 "adxl317Start(), invalid state");
385 devp->config = config;
388 i2cStart(devp->config->i2cp, devp->config->i2ccfg);
409#if ADXL317_USE_ADVANCED || defined(__DOXYGEN__)
410 reg_val = devp->config->acclowpass.x | devp->config->acchighpass.x;
420#if ADXL317_USE_ADVANCED || defined(__DOXYGEN__)
421 reg_val = devp->config->acclowpass.y | devp->config->acchighpass.y;
431#if ADXL317_USE_ADVANCED || defined(__DOXYGEN__)
432 reg_val = devp->config->acclowpass.z | devp->config->acchighpass.z;
441 if(devp->config->accsensitivity != NULL)
443 devp->accsensitivity[i] = devp->config->accsensitivity[i];
449 if(devp->config->accbias != NULL)
451 devp->accbias[i] = devp->config->accbias[i];
479 "adxl317Stop(), invalid state");
ADXL317 MEMS interface module header.
#define ADXL317_USER_REG_KEY_0
static msg_t adxl317I2CWriteRegister(ADXL317Driver *devp, uint8_t reg, uint8_t *b, size_t n)
Writes a value into a generic register using I2C.
static size_t acc_get_axes_number(void *ip)
Return the number of axes of the BaseAccelerometer.
static msg_t acc_reset_sensivity(void *ip)
Reset sensitivity values for the BaseAccelerometer.
static msg_t acc_set_bias(void *ip, float *bp)
Set bias values for the BaseAccelerometer.
#define ADXL317_MAX_BUFF_SIZE
ADXL317 internal maximum communication buffer sizes.
#define ADXL317_AD_USER_REG_KEY
#define ADXL317_AD_X_DATA_LO
static msg_t acc_reset_bias(void *ip)
Reset bias values for the BaseAccelerometer.
static msg_t acc_set_sensivity(void *ip, float *sp)
Set sensitivity values for the BaseAccelerometer.
static msg_t acc_read_cooked(void *ip, float axes[])
Retrieves cooked data from the BaseAccelerometer.
void adxl317ObjectInit(ADXL317Driver *devp, uint8_t *txbp, uint8_t *rxbp)
Initializes an instance.
#define ADXL317_DEFAULT_FILTER
void adxl317Stop(ADXL317Driver *devp)
Deactivates the ADXL317 Complex Driver peripheral.
static msg_t acc_read_raw(void *ip, int32_t axes[])
Retrieves raw data from the BaseAccelerometer.
#define ADXL317_ACC_NUMBER_OF_AXES
ADXL317 accelerometer subsystem characteristics.
static msg_t adxl317I2CReadRegister(ADXL317Driver *devp, uint8_t reg, uint8_t *b, size_t n)
Reads a generic register value using I2C.
#define ADXL317_AD_Y_FILT
msg_t adxl317Start(ADXL317Driver *devp, const ADXL317Config *config)
Configures and activates ADXL317 Complex Driver peripheral.
#define ADXL317_AD_X_FILT
static const struct BaseAccelerometerVMT vmt_accelerometer
#define ADXL317_AD_Z_FILT
#define ADXL317_AD_DEVID_0
static const struct ADXL317VMT vmt_device
#define ADXL317_USER_REG_KEY_1
#define objGetInstance(type, ip)
Returns the instance pointer starting from an interface pointer.
msg_t i2cStart(I2CDriver *i2cp, const I2CConfig *config)
Configures and activates the I2C peripheral.
msg_t i2cMasterTransmitTimeout(I2CDriver *i2cp, i2caddr_t addr, const uint8_t *txbuf, size_t txbytes, uint8_t *rxbuf, size_t rxbytes, sysinterval_t timeout)
Sends data via the I2C bus.
void i2cStop(I2CDriver *i2cp)
Deactivates the I2C peripheral.
#define osalDbgAssert(c, remark)
Condition assertion.
#define osalDbgCheck(c)
Function parameters check.
#define osalThreadSleepMilliseconds(msecs)
Delays the invoking thread for the specified number of milliseconds.
#define MSG_OK
Normal wakeup message.
#define TIME_INFINITE
Infinite interval specification for all functions with a timeout specification.
ADXL317 configuration structure.
ADXL317 3-axis accelerometer class.
const struct ADXL317VMT * vmt
Virtual Methods Table.
BaseAccelerometer acc_if
Base accelerometer interface.
ADXL317 virtual methods table.
Base accelerometer class.
const struct BaseAccelerometerVMT * vmt
Virtual Methods Table.
BaseAccelerometer virtual methods table.