API Reference
Header file for MPU-925X driver.
- Author
Ceyhun Şen
Typedefs
-
typedef enum mpu925x_clock mpu925x_clock
-
typedef enum mpu925x_orientation mpu925x_orientation
-
typedef enum mpu925x_accelerometer_scale mpu925x_accelerometer_scale
-
typedef enum mpu925x_gyroscope_scale mpu925x_gyroscope_scale
-
typedef enum mpu925x_magnetometer_measurement_mode mpu925x_magnetometer_measurement_mode
-
typedef enum mpu925x_magnetometer_bit_mode mpu925x_magnetometer_bit_mode
Enums
-
enum mpu925x_clock
Clock settings for MPU-925X.
Values:
-
enumerator mpu925x_internal_20_hz_clock
-
enumerator mpu925x_auto_select_pll
-
enumerator mpu925x_internal_20_hz_clock
-
enum mpu925x_orientation
Orientation of the sensor.
Values:
-
enumerator mpu925x_x_plus
-
enumerator mpu925x_x_minus
-
enumerator mpu925x_y_plus
-
enumerator mpu925x_y_minus
-
enumerator mpu925x_z_plus
-
enumerator mpu925x_z_minus
-
enumerator mpu925x_x_plus
-
enum mpu925x_accelerometer_scale
Accelerometer full-scale ranges.
Values:
-
enumerator mpu925x_2g
-
enumerator mpu925x_4g
-
enumerator mpu925x_8g
-
enumerator mpu925x_16g
-
enumerator mpu925x_2g
-
enum mpu925x_gyroscope_scale
Gyroscope full-scale ranges for gyroscope.
Values:
-
enumerator mpu925x_250dps
-
enumerator mpu925x_500dps
-
enumerator mpu925x_1000dps
-
enumerator mpu925x_2000dps
-
enumerator mpu925x_250dps
-
enum mpu925x_magnetometer_measurement_mode
Measurement modes for AK8963.
Values:
-
enumerator mpu925x_power_down_mode
-
enumerator mpu925x_single_measurement_mode
-
enumerator mpu925x_continuous_measurement_mode_1
-
enumerator mpu925x_continuous_measurement_mode_2
-
enumerator mpu925x_external_trigger_measurement_mode
-
enumerator mpu925x_self_test_mode
-
enumerator mpu925x_fuse_rom_access_mode
-
enumerator mpu925x_power_down_mode
-
enum mpu925x_magnetometer_bit_mode
Bit modes for AK8963.
Values:
-
enumerator mpu925x_14_bit
-
enumerator mpu925x_16_bit
-
enumerator mpu925x_14_bit
Functions
-
uint8_t mpu925x_init(mpu925x_t *mpu925x, uint8_t ad0)
Initialize MPU-925X sensor.
- Parameters
mpu925x – MPU-925X struct pointer.
ad0 – Last bit of the slave address (depends on ad0 pin connection).
- Returns
0 on success, 1 on failure on mpu925x, 2 on failure on AK8963.
-
void mpu925x_get_all_raw(mpu925x_t *mpu925x)
Get all raw sensor data at once.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_all(mpu925x_t *mpu925x)
Get all sensor data at once.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_acceleration_raw(mpu925x_t *mpu925x)
Get raw acceleration data.
See also
mpu925x_get_acceleration
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_acceleration(mpu925x_t *mpu925x)
Get acceleration in G’s.
See also
mpu925x_get_acceleration_raw
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_rotation_raw(mpu925x_t *mpu925x)
Get raw rotation data.
See also
mpu925x_get_rotation
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_rotation(mpu925x_t *mpu925x)
Get rotation in degrees per second.
See also
mpu925x_get_rotation_raw
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_magnetic_field_raw(mpu925x_t *mpu925x)
Get raw magnetic field data.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_magnetic_field(mpu925x_t *mpu925x)
Get magnetic field in micro Gauss.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_temperature_raw(mpu925x_t *mpu925x)
Get raw temperature data.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_get_temperature(mpu925x_t *mpu925x)
Get temperature in celsius degree.
- Parameters
mpu925x – MPU-925X struct pointer.
-
void mpu925x_set_sample_rate_divider(mpu925x_t *mpu925x, uint8_t sample_rate_divider)
Set sample rate divider.
- Parameters
mpu925x – MPU-925X struct pointer.
sample_rate_divider – Sample rate divider sentence.
-
void mpu925x_set_clock_source(mpu925x_t *mpu925x, mpu925x_clock clock)
Set clock source.
See also
- Parameters
mpu925x – MPU-925X struct pointer.
clock – Clock select option.
-
void mpu925x_set_accelerometer_scale(mpu925x_t *mpu925x, mpu925x_accelerometer_scale scale)
Set accelerometer full-scale range.
- Parameters
mpu925x – MPU-925X struct pointer.
scale – Accelerometer full-scale range to be set.
-
void mpu925x_set_accelerometer_dlpf(mpu925x_t *mpu925x, uint8_t a_fchoice, uint8_t dlpf)
Set accelerometer digital low pass filter setting.
- Parameters
mpu925x – MPU-925X struct pointer.
a_fchoice – Accelerometer fchoice bit.
dlpf – Digital low pass filter choice.
-
void mpu925x_accelerometer_offset_cancellation(mpu925x_t *mpu925x, uint16_t sampling_amount)
Get and set accelerometer offset cancellation values.
See also
mpu925x_get_accelerometer_offset
See also
mpu925x_set_accelerometer_offset
- Parameters
mpu925x – MPU-925X struct pointer.
sampling_amount – Sampling amount for acceleration values.
-
void mpu925x_get_accelerometer_offset(mpu925x_t *mpu925x, uint16_t sampling_amount, int16_t *offset)
Get accelerometer offset cancellation value.
- Parameters
mpu925x – MPU-925X struct pointer.
sampling_amount – Sampling amount for acceleration values.
offset – 3d array which will hold accelerometer offset cancellation values.
-
void mpu925x_set_accelerometer_offset(mpu925x_t *mpu925x, int16_t *offset)
Set accelerometer offset cancellation value.
- Parameters
mpu925x – MPU-925X struct pointer.
offset – 3d array which holds accelerometer offset cancellation values.
-
void mpu925x_set_gyroscope_scale(mpu925x_t *mpu925x, mpu925x_gyroscope_scale scale)
Set gyroscope full-scale range.
- Parameters
mpu925x – MPU-925X struct pointer.
scale – Gyroscope full-scale range to be set.
-
void mpu925x_set_gyroscope_dlpf(mpu925x_t *mpu925x, uint8_t a_fchoice, uint8_t dlpf)
Set gyroscope digital low pass filter setting.
- Parameters
mpu925x – MPU-925X struct pointer.
g_fchoice – Gyroscope f_choice bits.
dlpf – Digital low pass filter setting.
-
void mpu925x_gyroscope_offset_cancellation(mpu925x_t *mpu925x, uint16_t sampling_amount)
Get and set gyroscope offset cancellation values.
See also
mpu925x_get_gyroscope_offset
See also
mpu925x_set_gyroscope_offset
- Parameters
mpu925x – MPU-925X struct pointer.
sampling_amount – Sampling amount for rotation values.
-
void mpu925x_get_gyroscope_offset(mpu925x_t *mpu925x, uint16_t sampling_amount, int16_t *offset)
Get gyroscope offset cancellation values.
See also
mpu925x_set_gyroscope_offset
- Parameters
mpu925x – MPU-925X struct pointer.
sampling_amount – Sampling amount for rotation values.
offset – 3d array which holds gyroscope offset cancellation values.
-
void mpu925x_set_gyroscope_offset(mpu925x_t *mpu925x, int16_t *offset)
Set gyroscope offset cancellation values.
See also
mpu925x_get_gyroscope_offset
- Parameters
mpu925x – MPU-925X struct pointer.
offset – 3d array which holds gyroscope offset cancellation values.
-
void mpu925x_set_magnetometer_measurement_mode(mpu925x_t *mpu925x, mpu925x_magnetometer_measurement_mode measurement_mode)
Set magnetometer measurement mode.
- Parameters
mpu925x – MPU-925X struct pointer.
measurement_mode – Measurement mode for magnetometer to be set.
-
void mpu925x_set_magnetometer_bit_mode(mpu925x_t *mpu925x, mpu925x_magnetometer_bit_mode bit_mode)
Set magnetometer bit mode.
See also
- Parameters
mpu925x – MPU-925X struct pointer.
bit_mode – Bit mode for magnetometer to be set.
-
struct mpu925x_t
- #include <mpu925x.h>
Main struct for MPU-925X driver.
This structs includes sensor data, driver settings and master specific handle, bus and delay function pointers.
Public Members
-
struct mpu925x_t::sensor_data sensor_data
-
struct mpu925x_t::master_specific master_specific
-
struct master_specific
- #include <mpu925x.h>
Holds master specific pointers.
-
struct sensor_data
- #include <mpu925x.h>
Holds sensor data.
-
struct settings
- #include <mpu925x.h>
Holds sensor settings.
Public Members
-
mpu925x_orientation orientation
-
mpu925x_accelerometer_scale accelerometer_scale
-
mpu925x_gyroscope_scale gyroscope_scale
-
mpu925x_magnetometer_measurement_mode measurement_mode
-
mpu925x_magnetometer_bit_mode bit_mode
-
float acceleration_lsb
-
float gyroscope_lsb
-
float magnetometer_lsb
-
float magnetometer_coefficient[3]
-
uint8_t address
-
mpu925x_orientation orientation
-
struct mpu925x_t::sensor_data sensor_data