![]() |
no-OS
|
Implementation of adis16607.c. More...
#include "adis.h"#include "adis_internals.h"#include "adis16607.h"#include "no_os_units.h"#include "no_os_delay.h"#include <string.h>Functions | |
| int | adis16607_fifo_enable (struct adis_dev *adis, bool enable, uint16_t thr, bool burst32) |
| Enable or disable FIFO mode. | |
| int | adis16607_fifo_pop (struct adis_dev *adis, struct adis_burst_data *data) |
| Pop one sample from the FIFO. | |
Variables | |
| const struct adis_chip_info | adis16607_chip_info |
Implementation of adis16607.c.
Copyright 2026(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| #define ADIS16607_ACCEL_XY_DELTA_CHECK_VAL_MAX 260 |
| #define ADIS16607_ACCEL_Z_DELTA_CHECK_VAL_MAX 4000 |
| #define ADIS16607_BOOTLOADER_BUSY_MASK NO_OS_BIT(0) |
| #define ADIS16607_DIGITAL_STATUS_REG 0x4E |
| #define ADIS16607_FIFO_CH_INDEX_REG 0x2A |
| #define ADIS16607_FIFO_DATA_CMD 0xA9 /* FIFO_DATA (0x29) | read bit (0x80) */ |
| #define ADIS16607_FIFO_DATA_REG 0x29 |
| #define ADIS16607_FIFO_THR_MASK NO_OS_GENMASK(10, 0) |
| #define ADIS16607_GPIO_INIT_DATA_READY_ACTIVE 0x200 |
| #define ADIS16607_GPIO_INIT_RESETB_ACTIVE 0x01 |
| #define ADIS16607_GYRO_DELTA_CHECK_VAL_MAX 2600 |
| #define ADIS16607_LOCK_SPI_FULLDUPLEX 0xB3B3 |
| #define ADIS16607_LOCK_SPI_HALFDUPLEX 0xB4B4 |
| #define ADIS16607_MSG_SIZE_16_BIT_BURST 28 /* in bytes: DIAG(2) + 12*2 + TEMP(2) + DATA_CNTR(2) + CRC(2) */ |
| #define ADIS16607_MSG_SIZE_32_BIT_BURST 52 /* in bytes: 12*4 + TEMP(2) + DATA_CNTR(2) + CHECKSUM(2) */ |
| #define ADIS16607_READ_BURST_DATA_CMD_MSB 0x85 |
| #define ADIS16607_READ_BURST_DATA_CMD_SIZE 4 |
| #define ADIS16607_SELF_TEST_REG | ( | x | ) |
| #define ADIS16607_SPI_FULLDUPLEX_REG 0x31 |
| #define ADIS16607_SPI_HALFDUPLEX_REG 0x32 |
| #define ADIS16607_ST2_SELF_TEST_FORCE_MASK NO_OS_BIT(7) |
| #define ADIS16607_USER_FIFO_CFG_REG 0x35 |
Enable or disable FIFO mode.
| adis | - The adis device. |
| enable | - True to enable FIFO, false to disable. |
| thr | - FIFO watermark threshold (1-1024). Ignored if enable is false. |
| burst32 | - True for 32-bit burst mode, false for 16-bit. Ignored if enable is false. |
| int adis16607_fifo_pop | ( | struct adis_dev * | adis, |
| struct adis_burst_data * | data ) |
Pop one sample from the FIFO.
| adis | - The adis device. |
| data | - The burst read data structure to be populated. |
For I2C and SPI Half-Duplex: uses burst read with FIFO_DATA command. For SPI Full-Duplex: issues repeated read commands to FIFO_DATA register. Note: burst32 mode is configured via adis16607_fifo_enable().
| const struct adis_chip_info adis16607_chip_info |