no-OS
Loading...
Searching...
No Matches
adis1654x.c File Reference

Implementation of adis1654x.c. More...

#include "adis.h"
#include "adis_internals.h"
#include "adis1654x.h"
#include "no_os_units.h"
#include <string.h>
#include "no_os_util.h"
#include "no_os_delay.h"
Include dependency graph for adis1654x.c:

Macros

#define ADIS1654X_CRC32_SEED   0xFFFFFFFF
 

Functions

int adis1654x_read_burst_data (struct adis_dev *adis, struct adis_burst_data *data, bool burst32, uint8_t burst_sel, bool fifo_pop, bool crc_check)
 Read burst data.
 

Variables

const struct adis_chip_info adis1654x_chip_info
 

Detailed Description

Implementation of adis1654x.c.

Author
RBolboac (ramon.nosp@m.a.gr.nosp@m.adina.nosp@m.riu@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ ADIS1654X_CRC32_SEED

#define ADIS1654X_CRC32_SEED   0xFFFFFFFF

Function Documentation

◆ adis1654x_read_burst_data()

int adis1654x_read_burst_data ( struct adis_dev * adis,
struct adis_burst_data * data,
bool burst32,
uint8_t burst_sel,
bool fifo_pop,
bool crc_check )

Read burst data.

Parameters
adis- The adis device.
data- The burst read data structure to be populated.
burst32- True if 32-bit data is requested for accel and gyro (or delta angle and delta velocity) measurements, false if 16-bit data is requested.
burst_sel- 0 if accel and gyro data is requested, 1 if delta angle and delta velocity is requested.
fifo_pop- In case FIFO is present, will pop the fifo if true. Unused if FIFO is not present.
crc_check- If true CRC will be checked, if false check will be skipped.
Returns
0 in case of success, error code otherwise. -EAGAIN in case the request has to be sent again due to data being unavailable at the time of the request.

Variable Documentation

◆ adis1654x_chip_info

const struct adis_chip_info adis1654x_chip_info
Initial value:
= {
.cs_change_delay = 5,
.read_delay = 0,
.write_delay = 0,
.timeouts = &adis1654x_timeouts,
.field_map = &adis1654x_def,
.fir_coef_idx_max = 119,
.dec_rate_max = 3999,
.sync_mode_max = ADIS_SYNC_OUTPUT,
.fls_mem_wr_cntr_max = 100000,
.int_clk = 4000,
.sync_clk_freq_limits = adis1654x_sync_clk_freq_limits,
.sampling_clk_limits = adis1654x_sampling_clk_limits,
.has_paging = true,
.get_scale = &adis1654x_get_scale,
.get_offset = &adis1654x_get_offset,
.read_burst_data = &adis1654x_read_burst_data,
.read_sync_mode = &adis1654x_read_sync_mode,
.write_sync_mode = &adis1654x_write_sync_mode,
.read_lpf = &adis1654x_read_lpf,
.write_lpf = &adis1654x_write_lpf,
}
int adis1654x_read_burst_data(struct adis_dev *adis, struct adis_burst_data *data, bool burst32, uint8_t burst_sel, bool fifo_pop, bool crc_check)
Read burst data.
Definition adis1654x.c:318
#define ADIS_SYNC_OUTPUT
Definition adis.h:34
#define ADIS_HAS_BURST_DELTA_DATA
Definition adis_internals.h:16
#define ADIS_HAS_BURST32
Definition adis_internals.h:15