IZAR Flight Controller 1.0.0
IZAR Flight Controller running with an ESP32.
mpu6050.h
Go to the documentation of this file.
1/*
2 * The MIT License (MIT)
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 *
14 * 3. Neither the name of the copyright holder nor the names of itscontributors
15 * may be used to endorse or promote products derived from this software without
16 * specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
46#ifndef __MPU6050_H__
47#define __MPU6050_H__
48
49#include <esp_err.h>
50#include <i2cdev.h>
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56// Address of MPU6050 (Can be 0x68 or 0x69):
57#define MPU6050_I2C_ADDRESS_LOW (0x68) // Address pin low (GND).
58#define MPU6050_I2C_ADDRESS_HIGH (0x69) // Address pin high (VCC).
59
63typedef struct
64{
65 int16_t x;
66 int16_t y;
67 int16_t z;
69
73typedef struct
74{
75 int16_t x;
76 int16_t y;
77 int16_t z;
79
83typedef struct
84{
85 float x;
86 float y;
87 float z;
89
93typedef struct
94{
95 float x;
96 float y;
97 float z;
99
107
116
130
144
152
166
179
189
199
211
222
244
252
260
270
283
295
307esp_err_t mpu6050_init_desc(mpu6050_dev_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio);
308
316esp_err_t mpu6050_free_desc(mpu6050_dev_t *dev);
317
324esp_err_t mpu6050_init(mpu6050_dev_t *dev);
325
339
353
375esp_err_t mpu6050_get_rate(mpu6050_dev_t *dev, uint8_t *rate);
376
384esp_err_t mpu6050_set_rate(mpu6050_dev_t *dev, uint8_t rate);
385
403
413
430
440
453
463
474
484esp_err_t mpu6050_get_gyro_self_test_factory_trim(mpu6050_dev_t *dev, mpu6050_axis_t axis, uint8_t *trim);
485
495esp_err_t mpu6050_get_accel_self_test(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled);
496
506esp_err_t mpu6050_set_accel_self_test(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled);
507
519
529
553
563
579esp_err_t mpu6050_get_freefall_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold);
580
589esp_err_t mpu6050_set_freefall_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold);
590
609esp_err_t mpu6050_get_freefall_detection_duration(mpu6050_dev_t *dev, uint8_t *duration_ms);
610
619esp_err_t mpu6050_set_freefall_detection_duration(mpu6050_dev_t *dev, uint8_t duration_ms);
620
640esp_err_t mpu6050_get_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold);
641
650esp_err_t mpu6050_set_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold);
651
668esp_err_t mpu6050_get_motion_detection_duration(mpu6050_dev_t *dev, uint8_t *duration);
669
678esp_err_t mpu6050_set_motion_detection_duration(mpu6050_dev_t *dev, uint8_t duration);
679
706esp_err_t mpu6050_get_zero_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold);
707
717esp_err_t mpu6050_set_zero_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold);
718
735esp_err_t mpu6050_get_zero_motion_detection_duration(mpu6050_dev_t *dev, uint8_t *duration);
736
745esp_err_t mpu6050_set_zero_motion_detection_duration(mpu6050_dev_t *dev, uint8_t duration);
746
758esp_err_t mpu6050_get_temp_fifo_enabled(mpu6050_dev_t *dev, bool *enabled);
759
768esp_err_t mpu6050_set_temp_fifo_enabled(mpu6050_dev_t *dev, bool enabled);
769
779esp_err_t mpu6050_get_gyro_fifo_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled);
780
790esp_err_t mpu6050_set_gyro_fifo_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled);
791
804esp_err_t mpu6050_get_accel_fifo_enabled(mpu6050_dev_t *dev, bool *enabled);
805
814esp_err_t mpu6050_set_accel_fifo_enabled(mpu6050_dev_t *dev, bool enabled);
815
828esp_err_t mpu6050_get_slave_fifo_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled);
829
839esp_err_t mpu6050_set_slave_fifo_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled);
840
860esp_err_t mpu6050_get_multi_master_enabled(mpu6050_dev_t *dev, bool *enabled);
861
870esp_err_t mpu6050_set_multi_master_enabled(mpu6050_dev_t *dev, bool enabled);
871
888
898
914
924
937
947
993esp_err_t mpu6050_get_slave_address(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *addr);
994
1004esp_err_t mpu6050_set_slave_address(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t address);
1005
1021esp_err_t mpu6050_get_slave_register(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *reg);
1022
1032esp_err_t mpu6050_set_slave_register(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t reg);
1033
1043esp_err_t mpu6050_get_slave_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled);
1044
1054esp_err_t mpu6050_set_slave_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled);
1055
1071esp_err_t mpu6050_get_slave_word_byte_swap(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled);
1072
1082esp_err_t mpu6050_set_slave_word_byte_swap(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled);
1083
1098esp_err_t mpu6050_get_slave_write_mode(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *mode);
1099
1109esp_err_t mpu6050_set_slave_write_mode(mpu6050_dev_t *dev, mpu6050_slave_t num, bool mode);
1110
1126esp_err_t mpu6050_get_slave_word_group_offset(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled);
1127
1137esp_err_t mpu6050_set_slave_word_group_offset(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled);
1138
1151esp_err_t mpu6050_get_slave_data_length(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *length);
1152
1162esp_err_t mpu6050_set_slave_data_length(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t length);
1163
1174esp_err_t mpu6050_set_slave_4_output_byte(mpu6050_dev_t *dev, uint8_t data);
1175
1189esp_err_t mpu6050_get_slave_4_interrupt_enabled(mpu6050_dev_t *dev, bool *enabled);
1190
1199esp_err_t mpu6050_set_slave_4_interrupt_enabled(mpu6050_dev_t *dev, bool enabled);
1200
1219esp_err_t mpu6050_get_slave_4_master_delay(mpu6050_dev_t *dev, uint8_t *delay);
1220
1229esp_err_t mpu6050_set_slave_4_master_delay(mpu6050_dev_t *dev, uint8_t delay);
1230
1242esp_err_t mpu6050_get_slave_4_input_byte(mpu6050_dev_t *dev, uint8_t *byte);
1243
1256esp_err_t mpu6050_get_passthrough_status(mpu6050_dev_t *dev, bool *enabled);
1257
1271esp_err_t mpu6050_get_slave_4_is_done(mpu6050_dev_t *dev, bool *enabled);
1272
1285esp_err_t mpu6050_get_lost_arbitration(mpu6050_dev_t *dev, bool *lost);
1286
1300esp_err_t mpu6050_get_slave_nack(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *nack);
1301
1311
1321
1331
1341
1351
1361
1370esp_err_t mpu6050_get_interrupt_latch_clear(mpu6050_dev_t *dev, bool *clear);
1371
1380esp_err_t mpu6050_set_interrupt_latch_clear(mpu6050_dev_t *dev, bool clear);
1381
1391
1401
1410esp_err_t mpu6050_get_fsync_interrupt_enabled(mpu6050_dev_t *dev, bool *enabled);
1411
1420esp_err_t mpu6050_set_fsync_interrupt_enabled(mpu6050_dev_t *dev, bool enabled);
1421
1436esp_err_t mpu6050_get_i2c_bypass_enabled(mpu6050_dev_t *dev, bool *enabled);
1437
1446esp_err_t mpu6050_set_i2c_bypass_enabled(mpu6050_dev_t *dev, bool enabled);
1447
1459esp_err_t mpu6050_get_clock_output_enabled(mpu6050_dev_t *dev, bool *enabled);
1460
1469esp_err_t mpu6050_set_clock_output_enabled(mpu6050_dev_t *dev, bool enabled);
1470
1482esp_err_t mpu6050_get_int_enabled(mpu6050_dev_t *dev, uint8_t *ints);
1483
1495esp_err_t mpu6050_set_int_enabled(mpu6050_dev_t *dev, uint8_t ints);
1496
1509esp_err_t mpu6050_get_int_status(mpu6050_dev_t *dev, uint8_t *ints);
1510
1522esp_err_t mpu6050_get_accel_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset);
1523
1535esp_err_t mpu6050_set_accel_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset);
1536
1548esp_err_t mpu6050_get_gyro_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset);
1549
1561esp_err_t mpu6050_set_gyro_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset);
1562
1589
1599
1609esp_err_t mpu6050_get_acceleration_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, float *accel);
1610
1620esp_err_t mpu6050_get_raw_acceleration_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_accel);
1621
1630esp_err_t mpu6050_get_temperature(mpu6050_dev_t *dev, float *temp);
1631
1653
1663
1673esp_err_t mpu6050_get_rotation_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, float *gyro);
1674
1684esp_err_t mpu6050_get_raw_rotation_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_gyro);
1685
1697esp_err_t mpu6050_get_motion(mpu6050_dev_t *dev, mpu6050_acceleration_t *data_accel, mpu6050_rotation_t *data_gyro);
1698
1778esp_err_t mpu6050_get_external_sensor_data(mpu6050_dev_t *dev, int position, void *buf, size_t length);
1779
1788esp_err_t mpu6050_get_motion_status(mpu6050_dev_t *dev, uint8_t *status);
1789
1803esp_err_t mpu6050_set_slave_output_byte(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t data);
1804
1817esp_err_t mpu6050_get_external_shadow_delay_enabled(mpu6050_dev_t *dev, bool *enabled);
1818
1827esp_err_t mpu6050_set_external_shadow_delay_enabled(mpu6050_dev_t *dev, bool enabled);
1828
1851esp_err_t mpu6050_get_slave_delay_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled);
1852
1862esp_err_t mpu6050_set_slave_delay_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled);
1863
1874
1885
1896
1915esp_err_t mpu6050_get_accelerometer_power_on_delay(mpu6050_dev_t *dev, uint8_t *delay);
1916
1925esp_err_t mpu6050_set_accelerometer_power_on_delay(mpu6050_dev_t *dev, uint8_t delay);
1926
1954esp_err_t mpu6050_get_freefall_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t *decrement);
1955
1964esp_err_t mpu6050_set_freefall_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t decrement);
1965
1992esp_err_t mpu6050_get_motion_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t *decrement);
1993
2002esp_err_t mpu6050_set_motion_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t decrement);
2003
2016esp_err_t mpu6050_get_fifo_enabled(mpu6050_dev_t *dev, bool *enabled);
2017
2026esp_err_t mpu6050_set_fifo_enabled(mpu6050_dev_t *dev, bool enabled);
2027
2042esp_err_t mpu6050_get_i2c_master_mode_enabled(mpu6050_dev_t *dev, bool *enabled);
2043
2052esp_err_t mpu6050_set_i2c_master_mode_enabled(mpu6050_dev_t *dev, bool enabled);
2053
2067esp_err_t mpu6050_switch_spie_enabled(mpu6050_dev_t *dev, bool enabled);
2068
2079esp_err_t mpu6050_reset_fifo(mpu6050_dev_t *dev);
2080
2096esp_err_t mpu6050_reset_sensors(mpu6050_dev_t *dev);
2097
2107esp_err_t mpu6050_reset(mpu6050_dev_t *dev);
2108
2124esp_err_t mpu6050_get_sleep_enabled(mpu6050_dev_t *dev, bool *enabled);
2125
2134esp_err_t mpu6050_set_sleep_enabled(mpu6050_dev_t *dev, bool enabled);
2135
2148esp_err_t mpu6050_get_wake_cycle_enabled(mpu6050_dev_t *dev, bool *enabled);
2149
2158esp_err_t mpu6050_set_wake_cycle_enabled(mpu6050_dev_t *dev, bool enabled);
2159
2174esp_err_t mpu6050_get_temp_sensor_enabled(mpu6050_dev_t *dev, bool *enabled);
2175
2188esp_err_t mpu6050_set_temp_sensor_enabled(mpu6050_dev_t *dev, bool enabled);
2189
2209
2219
2238
2248
2260esp_err_t mpu6050_get_standby_accel_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled);
2261
2271esp_err_t mpu6050_set_standby_accel_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled);
2272
2284esp_err_t mpu6050_get_standby_gyro_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled);
2285
2297esp_err_t mpu6050_set_standby_gyro_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled);
2298
2312esp_err_t mpu6050_get_fifo_count(mpu6050_dev_t *dev, uint16_t *count);
2313
2344esp_err_t mpu6050_get_fifo_byte(mpu6050_dev_t *dev, uint8_t *data);
2345
2355esp_err_t mpu6050_get_fifo_bytes(mpu6050_dev_t *dev, uint8_t *data, size_t length);
2356
2365esp_err_t mpu6050_set_fifo_byte(mpu6050_dev_t *dev, uint8_t data);
2366
2378esp_err_t mpu6050_get_device_id(mpu6050_dev_t *dev, uint8_t *id);
2379
2392esp_err_t mpu6050_calibrate(mpu6050_dev_t *dev, float *accel_bias_res, float *gyro_bias_res);
2393
2404esp_err_t mpu6050_self_test(mpu6050_dev_t *dev, float *destination);
2405
2406#ifdef __cplusplus
2407}
2408#endif
2409
2411
2412#endif /* __MPU6050_H__ */
esp_err_t mpu6050_set_master_clock_speed(mpu6050_dev_t *dev, mpu6050_i2c_master_clock_t clk_spd)
Set I2C master clock speed.
Definition mpu6050.c:591
esp_err_t mpu6050_get_clock_output_enabled(mpu6050_dev_t *dev, bool *enabled)
Get reference clock output enabled status.
Definition mpu6050.c:867
esp_err_t mpu6050_set_slave_4_interrupt_enabled(mpu6050_dev_t *dev, bool enabled)
Set the enabled value for Slave 4 transaction interrupts.
Definition mpu6050.c:720
esp_err_t mpu6050_init_desc(mpu6050_dev_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
Definition mpu6050.c:210
esp_err_t mpu6050_set_int_enabled(mpu6050_dev_t *dev, uint8_t ints)
Set full interrupt enabled status.
Definition mpu6050.c:881
esp_err_t mpu6050_set_slave_word_byte_swap(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
Set word pair byte-swapping enabled for the specified slave.
Definition mpu6050.c:650
esp_err_t mpu6050_get_master_clock_speed(mpu6050_dev_t *dev, mpu6050_i2c_master_clock_t *clk_spd)
Get I2C master clock speed.
Definition mpu6050.c:584
mpu6050_dlpf_mode_t
Definition mpu6050.h:170
esp_err_t mpu6050_set_full_scale_gyro_range(mpu6050_dev_t *dev, mpu6050_gyro_range_t range)
Set full-scale gyroscope range.
Definition mpu6050.c:304
esp_err_t mpu6050_reset_fifo(mpu6050_dev_t *dev)
Reset the FIFO.
Definition mpu6050.c:1187
esp_err_t mpu6050_set_standby_accel_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
Set accelerometer axis standby enabled status.
Definition mpu6050.c:1278
esp_err_t mpu6050_get_sleep_enabled(mpu6050_dev_t *dev, bool *enabled)
Get sleep mode status.
Definition mpu6050.c:1202
esp_err_t mpu6050_get_int_status(mpu6050_dev_t *dev, uint8_t *ints)
Get full set of interrupt status bits.
Definition mpu6050.c:885
esp_err_t mpu6050_set_i2c_master_mode_enabled(mpu6050_dev_t *dev, bool enabled)
Set I2C Master Mode enabled status.
Definition mpu6050.c:1176
mpu6050_int_source_t
Definition mpu6050.h:134
esp_err_t mpu6050_get_dhpf_mode(mpu6050_dev_t *dev, mpu6050_dhpf_mode_t *mode)
Get the high-pass filter configuration. The DHPF is a filter module in the path leading to motion det...
Definition mpu6050.c:407
esp_err_t mpu6050_set_i2c_bypass_enabled(mpu6050_dev_t *dev, bool enabled)
Set I2C bypass enabled status.
Definition mpu6050.c:862
esp_err_t mpu6050_get_raw_rotation(mpu6050_dev_t *dev, mpu6050_raw_rotation_t *raw_gyro)
Get raw 3-axis gyroscope readings.
Definition mpu6050.c:983
esp_err_t mpu6050_get_temperature(mpu6050_dev_t *dev, float *temp)
Get current internal temperature.
Definition mpu6050.c:1041
mpu6050_accel_range_t
Definition mpu6050.h:193
esp_err_t mpu6050_get_gyro_fifo_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
Get gyroscope axis FIFO enabled value.
Definition mpu6050.c:495
esp_err_t mpu6050_get_slave_read_write_transition_enabled(mpu6050_dev_t *dev, bool *enabled)
Get slave read/write transition enabled value.
Definition mpu6050.c:572
esp_err_t mpu6050_get_raw_acceleration_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_accel)
Get raw accelerometer reading on a single axis.
Definition mpu6050.c:962
esp_err_t mpu6050_get_external_sensor_data(mpu6050_dev_t *dev, int position, void *buf, size_t length)
Read bytes from external sensor data register.
Definition mpu6050.c:1051
esp_err_t mpu6050_set_clock_output_enabled(mpu6050_dev_t *dev, bool enabled)
Set reference clock output enabled status.
Definition mpu6050.c:872
esp_err_t mpu6050_get_gyro_self_test_factory_trim(mpu6050_dev_t *dev, mpu6050_axis_t axis, uint8_t *trim)
Get self-test factory trim value for gyroscope axis.
Definition mpu6050.c:344
esp_err_t mpu6050_get_motion_status(mpu6050_dev_t *dev, uint8_t *status)
Get full motion detection status register content (all bits).
Definition mpu6050.c:1066
esp_err_t mpu6050_get_slave_write_mode(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *mode)
Get write mode for the specified slave.
Definition mpu6050.c:658
esp_err_t mpu6050_get_i2c_master_mode_enabled(mpu6050_dev_t *dev, bool *enabled)
Get I2C Master Mode enabled status.
Definition mpu6050.c:1170
esp_err_t mpu6050_get_temp_fifo_enabled(mpu6050_dev_t *dev, bool *enabled)
Get temperature FIFO enabled value.
Definition mpu6050.c:479
esp_err_t mpu6050_set_sleep_enabled(mpu6050_dev_t *dev, bool enabled)
Set sleep mode status.
Definition mpu6050.c:1207
esp_err_t mpu6050_set_slave_delay_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
Set slave delay enabled status.
Definition mpu6050.c:1096
esp_err_t mpu6050_self_test(mpu6050_dev_t *dev, float *destination)
Accelerometer and gyroscope self test.
Definition mpu6050.c:1531
esp_err_t mpu6050_set_full_scale_accel_range(mpu6050_dev_t *dev, mpu6050_accel_range_t range)
Set full-scale accelerometer range.
Definition mpu6050.c:394
esp_err_t mpu6050_set_fsync_interrupt_level(mpu6050_dev_t *dev, mpu6050_int_level_t level)
Set FSYNC interrupt logic level.
Definition mpu6050.c:836
esp_err_t mpu6050_set_standby_gyro_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
Set gyroscope axis standby enabled status.
Definition mpu6050.c:1300
esp_err_t mpu6050_get_slave_word_group_offset(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
Get word pair grouping order offset for the specified slave.
Definition mpu6050.c:674
esp_err_t mpu6050_get_freefall_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t *decrement)
Get Free Fall detection counter decrement configuration.
Definition mpu6050.c:1132
mpu6050_i2c_master_clock_t
Definition mpu6050.h:226
esp_err_t mpu6050_get_int_enabled(mpu6050_dev_t *dev, uint8_t *ints)
Get full interrupt enabled status.
Definition mpu6050.c:877
esp_err_t mpu6050_get_lost_arbitration(mpu6050_dev_t *dev, bool *lost)
Get master arbitration lost status.
Definition mpu6050.c:752
mpu6050_gyro_range_t
Definition mpu6050.h:183
mpu6050_vddio_level_t
Definition mpu6050.h:103
esp_err_t mpu6050_get_accel_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset)
Get offset for accelerometer axis.
Definition mpu6050.c:895
esp_err_t mpu6050_reset_sensors(mpu6050_dev_t *dev)
Reset all sensor registers and signal paths.
Definition mpu6050.c:1192
esp_err_t mpu6050_get_fsync_interrupt_level(mpu6050_dev_t *dev, mpu6050_int_level_t *level)
Get FSYNC interrupt logic level.
Definition mpu6050.c:829
esp_err_t mpu6050_set_slave_fifo_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
Set Slave FIFO enabled value.
Definition mpu6050.c:542
esp_err_t mpu6050_init(mpu6050_dev_t *dev)
Initialize device.
Definition mpu6050.c:236
esp_err_t mpu6050_set_accel_self_test(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
Set self-test enabled for accelerometer axis.
Definition mpu6050.c:375
mpu6050_dhpf_mode_t
Definition mpu6050.h:203
esp_err_t mpu6050_set_fifo_enabled(mpu6050_dev_t *dev, bool enabled)
Set FIFO enabled status.
Definition mpu6050.c:1165
esp_err_t mpu6050_get_slave_4_is_done(mpu6050_dev_t *dev, bool *enabled)
Get Slave 4 transaction done status.
Definition mpu6050.c:747
esp_err_t mpu6050_get_wake_frequency(mpu6050_dev_t *dev, mpu6050_wake_freq_t *frequency)
Get wake frequency in Accel-Only Low Power Mode.
Definition mpu6050.c:1249
esp_err_t mpu6050_get_wait_for_external_sensor_enabled(mpu6050_dev_t *dev, bool *enabled)
Get wait-for-external-sensor-data enabled value.
Definition mpu6050.c:560
esp_err_t mpu6050_get_accel_self_test_factory_trim(mpu6050_dev_t *dev, mpu6050_axis_t axis, uint8_t *trim)
Get self-test factory trim value for accelerometer axis.
Definition mpu6050.c:317
esp_err_t mpu6050_get_interrupt_drive(mpu6050_dev_t *dev, mpu6050_int_drive_t *drive)
Get interrupt drive mode.
Definition mpu6050.c:787
mpu6050_motion_det_flags_t
Definition mpu6050.h:274
esp_err_t mpu6050_set_zero_motion_detection_duration(mpu6050_dev_t *dev, uint8_t duration)
Set zero motion detection event duration threshold.
Definition mpu6050.c:474
esp_err_t mpu6050_get_external_frame_sync(mpu6050_dev_t *dev, mpu6050_ext_sync_t *sync)
Get external FSYNC configuration.
Definition mpu6050.c:269
esp_err_t mpu6050_get_fsync_interrupt_enabled(mpu6050_dev_t *dev, bool *enabled)
Get FSYNC pin interrupt enabled setting.
Definition mpu6050.c:845
esp_err_t mpu6050_get_freefall_detection_duration(mpu6050_dev_t *dev, uint8_t *duration_ms)
Get free-fall event duration threshold.
Definition mpu6050.c:429
esp_err_t mpu6050_get_accel_self_test(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
Get self-test enabled for accelerometer axis.
Definition mpu6050.c:367
esp_err_t mpu6050_get_zero_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold)
Get zero motion detection event acceleration threshold.
Definition mpu6050.c:459
esp_err_t mpu6050_set_slave_output_byte(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t data)
Write byte to Data Output container for specified slave.
Definition mpu6050.c:1070
esp_err_t mpu6050_get_multi_master_enabled(mpu6050_dev_t *dev, bool *enabled)
Get multi-master enabled value.
Definition mpu6050.c:550
esp_err_t mpu6050_get_zero_motion_detection_duration(mpu6050_dev_t *dev, uint8_t *duration)
Get zero motion detection event duration threshold.
Definition mpu6050.c:469
esp_err_t mpu6050_set_aux_vddio_level(mpu6050_dev_t *dev, mpu6050_vddio_level_t level)
Set the auxiliary I2C supply voltage level.
Definition mpu6050.c:254
esp_err_t mpu6050_set_interrupt_drive(mpu6050_dev_t *dev, mpu6050_int_drive_t drive)
Set interrupt drive mode.
Definition mpu6050.c:794
esp_err_t mpu6050_get_rotation_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, float *gyro)
Get gyroscope reading on a single axis.
Definition mpu6050.c:1022
esp_err_t mpu6050_get_interrupt_latch_clear(mpu6050_dev_t *dev, bool *clear)
Get interrupt latch clear mode.
Definition mpu6050.c:819
esp_err_t mpu6050_reset(mpu6050_dev_t *dev)
Trigger a full device reset.
Definition mpu6050.c:1197
esp_err_t mpu6050_get_clock_source(mpu6050_dev_t *dev, mpu6050_clock_source_t *source)
Get clock source setting.
Definition mpu6050.c:1235
esp_err_t mpu6050_set_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold)
Set motion detection event acceleration threshold.
Definition mpu6050.c:444
esp_err_t mpu6050_get_fifo_enabled(mpu6050_dev_t *dev, bool *enabled)
Get FIFO enabled status.
Definition mpu6050.c:1160
esp_err_t mpu6050_set_freefall_detection_duration(mpu6050_dev_t *dev, uint8_t duration_ms)
Set free-fall event duration threshold.
Definition mpu6050.c:434
mpu6050_clock_source_t
Definition mpu6050.h:120
esp_err_t mpu6050_get_gyro_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset)
Get offset for gyroscope axis.
Definition mpu6050.c:915
esp_err_t mpu6050_set_slave_word_group_offset(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
Set word pair grouping order offset for the specified slave.
Definition mpu6050.c:683
esp_err_t mpu6050_set_wait_for_external_sensor_enabled(mpu6050_dev_t *dev, bool enabled)
Set wait-for-external-sensor-data enabled value.
Definition mpu6050.c:566
esp_err_t mpu6050_set_temp_fifo_enabled(mpu6050_dev_t *dev, bool enabled)
Set temperature FIFO enabled value.
Definition mpu6050.c:484
esp_err_t mpu6050_set_slave_address(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t address)
Set the I2C address of the specified slave.
Definition mpu6050.c:605
esp_err_t mpu6050_get_slave_address(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *addr)
Get the I2C address of the specified slave.
Definition mpu6050.c:598
esp_err_t mpu6050_set_gyro_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset)
Get offset for gyroscope axis.
Definition mpu6050.c:922
esp_err_t mpu6050_get_passthrough_status(mpu6050_dev_t *dev, bool *enabled)
Get FSYNC interrupt status.
Definition mpu6050.c:742
esp_err_t mpu6050_set_slave_4_master_delay(mpu6050_dev_t *dev, uint8_t delay)
Set Slave 4 master delay value.
Definition mpu6050.c:732
esp_err_t mpu6050_get_dlpf_mode(mpu6050_dev_t *dev, mpu6050_dlpf_mode_t *mode)
Get digital low-pass filter configuration.
Definition mpu6050.c:283
mpu6050_wake_freq_t
Definition mpu6050.h:264
esp_err_t mpu6050_reset_temperature_path(mpu6050_dev_t *dev)
Reset temperature sensor signal path.
Definition mpu6050.c:1113
esp_err_t mpu6050_get_accelerometer_power_on_delay(mpu6050_dev_t *dev, uint8_t *delay)
Get accelerometer power-on delay.
Definition mpu6050.c:1118
esp_err_t mpu6050_set_slave_register(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t reg)
Set the active internal register for the specified slave.
Definition mpu6050.c:619
esp_err_t mpu6050_get_fifo_count(mpu6050_dev_t *dev, uint16_t *count)
Get current FIFO buffer size.
Definition mpu6050.c:1308
esp_err_t mpu6050_set_motion_detection_duration(mpu6050_dev_t *dev, uint8_t duration)
Set motion detection event duration threshold.
Definition mpu6050.c:454
esp_err_t mpu6050_set_interrupt_latch_clear(mpu6050_dev_t *dev, bool clear)
Set interrupt latch clear mode.
Definition mpu6050.c:824
esp_err_t mpu6050_set_gyro_fifo_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
Set gyroscope axis FIFO enabled value.
Definition mpu6050.c:503
esp_err_t mpu6050_get_slave_word_byte_swap(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
Get word pair byte-swapping enabled for the specified slave.
Definition mpu6050.c:642
esp_err_t mpu6050_get_slave_4_interrupt_enabled(mpu6050_dev_t *dev, bool *enabled)
Get the enabled value for Slave 4 transaction interrupts.
Definition mpu6050.c:714
esp_err_t mpu6050_get_external_shadow_delay_enabled(mpu6050_dev_t *dev, bool *enabled)
Get external data shadow delay enabled status.
Definition mpu6050.c:1077
esp_err_t mpu6050_set_accel_fifo_enabled(mpu6050_dev_t *dev, bool enabled)
Set accelerometer FIFO enabled value.
Definition mpu6050.c:516
esp_err_t mpu6050_get_i2c_bypass_enabled(mpu6050_dev_t *dev, bool *enabled)
Get I2C bypass enabled status.
Definition mpu6050.c:857
esp_err_t mpu6050_get_slave_register(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *reg)
Get the active internal register for the specified slave.
Definition mpu6050.c:612
mpu6050_int_level_t
Definition mpu6050.h:248
esp_err_t mpu6050_set_temp_sensor_enabled(mpu6050_dev_t *dev, bool enabled)
Set temperature sensor enabled status.
Definition mpu6050.c:1230
esp_err_t mpu6050_set_interrupt_latch(mpu6050_dev_t *dev, mpu6050_int_latch_t latch)
Set interrupt latch mode.
Definition mpu6050.c:810
esp_err_t mpu6050_set_dhpf_mode(mpu6050_dev_t *dev, mpu6050_dhpf_mode_t mode)
Set the high-pass filter configuration.
Definition mpu6050.c:413
esp_err_t mpu6050_get_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold)
Get motion detection event acceleration threshold.
Definition mpu6050.c:439
esp_err_t mpu6050_get_full_scale_accel_range(mpu6050_dev_t *dev, mpu6050_accel_range_t *range)
Get full-scale accelerometer range.
Definition mpu6050.c:383
esp_err_t mpu6050_get_slave_fifo_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
Get Slave FIFO enabled value.
Definition mpu6050.c:534
esp_err_t mpu6050_get_temp_sensor_enabled(mpu6050_dev_t *dev, bool *enabled)
Get temperature sensor enabled status.
Definition mpu6050.c:1222
esp_err_t mpu6050_get_acceleration_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, float *accel)
Get accelerometer reading on a single axis.
Definition mpu6050.c:971
esp_err_t mpu6050_get_raw_rotation_axis(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_gyro)
Get raw gyroscope reading on a single axis.
Definition mpu6050.c:1015
esp_err_t mpu6050_get_standby_gyro_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
Get gyroscope axis standby enabled status.
Definition mpu6050.c:1292
esp_err_t mpu6050_set_wake_frequency(mpu6050_dev_t *dev, mpu6050_wake_freq_t frequency)
Set wake frequency in Accel-Only Low Power Mode.
Definition mpu6050.c:1256
esp_err_t mpu6050_set_accelerometer_power_on_delay(mpu6050_dev_t *dev, uint8_t delay)
Set accelerometer power-on delay.
Definition mpu6050.c:1125
esp_err_t mpu6050_set_freefall_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold)
Get free-fall event acceleration threshold.
Definition mpu6050.c:424
esp_err_t mpu6050_set_fifo_byte(mpu6050_dev_t *dev, uint8_t data)
Write byte to FIFO buffer.
Definition mpu6050.c:1338
esp_err_t mpu6050_set_slave_write_mode(mpu6050_dev_t *dev, mpu6050_slave_t num, bool mode)
Set write mode for the specified slave.
Definition mpu6050.c:666
esp_err_t mpu6050_get_full_scale_gyro_range(mpu6050_dev_t *dev, mpu6050_gyro_range_t *gyro_range)
Get full-scale gyroscope range.
Definition mpu6050.c:293
esp_err_t mpu6050_get_device_id(mpu6050_dev_t *dev, uint8_t *id)
Get the ID of the device.
Definition mpu6050.c:1342
esp_err_t mpu6050_get_standby_accel_enabled(mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
Get accelerometer axis standby enabled status.
Definition mpu6050.c:1269
esp_err_t mpu6050_get_fifo_byte(mpu6050_dev_t *dev, uint8_t *data)
Get byte from FIFO buffer.
Definition mpu6050.c:1334
esp_err_t mpu6050_get_motion_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t *decrement)
Get Motion detection counter decrement configuration.
Definition mpu6050.c:1146
esp_err_t mpu6050_switch_spie_enabled(mpu6050_dev_t *dev, bool enabled)
Switch from I2C to SPI mode (MPU-6000 only).
Definition mpu6050.c:1182
esp_err_t mpu6050_set_interrupt_mode(mpu6050_dev_t *dev, mpu6050_int_level_t mode)
Set interrupt logic level mode.
Definition mpu6050.c:778
esp_err_t mpu6050_get_slave_4_master_delay(mpu6050_dev_t *dev, uint8_t *delay)
Get Slave 4 master delay value.
Definition mpu6050.c:726
esp_err_t mpu6050_set_external_frame_sync(mpu6050_dev_t *dev, mpu6050_ext_sync_t sync)
Set external FSYNC configuration.
Definition mpu6050.c:276
esp_err_t mpu6050_set_rate(mpu6050_dev_t *dev, uint8_t rate)
Set gyroscope output rate divider.
Definition mpu6050.c:265
mpu6050_ext_sync_t
Definition mpu6050.h:156
esp_err_t mpu6050_get_accel_fifo_enabled(mpu6050_dev_t *dev, bool *enabled)
Get accelerometer FIFO enabled value.
Definition mpu6050.c:511
esp_err_t mpu6050_get_slave_nack(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *nack)
Get Slave NACK status.
Definition mpu6050.c:757
esp_err_t mpu6050_get_rate(mpu6050_dev_t *dev, uint8_t *rate)
Get gyroscope output rate divider.
Definition mpu6050.c:261
esp_err_t mpu6050_get_interrupt_latch(mpu6050_dev_t *dev, mpu6050_int_latch_t *latch)
Get interrupt latch mode.
Definition mpu6050.c:803
esp_err_t mpu6050_set_accel_offset(mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset)
Set offset for accelerometer axis.
Definition mpu6050.c:902
esp_err_t mpu6050_set_zero_motion_detection_threshold(mpu6050_dev_t *dev, uint8_t threshold)
Set zero motion detection event acceleration threshold.
Definition mpu6050.c:464
esp_err_t mpu6050_free_desc(mpu6050_dev_t *dev)
Free device descriptor.
Definition mpu6050.c:230
esp_err_t mpu6050_get_aux_vddio_level(mpu6050_dev_t *dev, mpu6050_vddio_level_t *level)
Get the auxiliary I2C supply voltage level.
Definition mpu6050.c:247
esp_err_t mpu6050_set_slave_4_output_byte(mpu6050_dev_t *dev, uint8_t data)
Set new byte to write to Slave 4. This register stores the data to be written into the Slave 4....
Definition mpu6050.c:710
esp_err_t mpu6050_set_multi_master_enabled(mpu6050_dev_t *dev, bool enabled)
Set multi-master enabled value.
Definition mpu6050.c:555
esp_err_t mpu6050_get_motion(mpu6050_dev_t *dev, mpu6050_acceleration_t *data_accel, mpu6050_rotation_t *data_gyro)
Get raw 6-axis motion sensor readings (accel/gyro).
Definition mpu6050.c:1034
esp_err_t mpu6050_get_fifo_bytes(mpu6050_dev_t *dev, uint8_t *data, size_t length)
Get bytes from FIFO buffer.
Definition mpu6050.c:1321
mpu6050_int_latch_t
Definition mpu6050.h:256
esp_err_t mpu6050_reset_gyroscope_path(mpu6050_dev_t *dev)
Reset gyroscope signal path.
Definition mpu6050.c:1103
esp_err_t mpu6050_get_slave_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
Get the enabled value for the specified slave.
Definition mpu6050.c:626
esp_err_t mpu6050_get_interrupt_mode(mpu6050_dev_t *dev, mpu6050_int_level_t *mode)
Get interrupt logic level mode.
Definition mpu6050.c:771
esp_err_t mpu6050_get_slave_delay_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
Get slave delay enabled status.
Definition mpu6050.c:1089
esp_err_t mpu6050_set_external_shadow_delay_enabled(mpu6050_dev_t *dev, bool enabled)
Set external data shadow delay enabled status.
Definition mpu6050.c:1083
esp_err_t mpu6050_get_motion_detection_duration(mpu6050_dev_t *dev, uint8_t *duration)
Get motion detection event duration threshold.
Definition mpu6050.c:449
esp_err_t mpu6050_set_slave_data_length(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t length)
Set number of bytes to read for the specified slave.
Definition mpu6050.c:701
esp_err_t mpu6050_get_wake_cycle_enabled(mpu6050_dev_t *dev, bool *enabled)
Get wake cycle enabled status.
Definition mpu6050.c:1212
esp_err_t mpu6050_set_wake_cycle_enabled(mpu6050_dev_t *dev, bool enabled)
Set wake cycle enabled status.
Definition mpu6050.c:1217
esp_err_t mpu6050_set_freefall_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t decrement)
Set Free Fall detection counter decrement configuration.
Definition mpu6050.c:1139
esp_err_t mpu6050_set_slave_enabled(mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
Set the enabled value for the specified slave.
Definition mpu6050.c:634
esp_err_t mpu6050_reset_accelerometer_path(mpu6050_dev_t *dev)
Reset accelerometer signal path.
Definition mpu6050.c:1108
esp_err_t mpu6050_get_slave_data_length(mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *length)
Get number of bytes to read for the specified slave.
Definition mpu6050.c:692
esp_err_t mpu6050_get_slave_4_input_byte(mpu6050_dev_t *dev, uint8_t *byte)
Get last available byte read from Slave 4.
Definition mpu6050.c:738
esp_err_t mpu6050_calibrate(mpu6050_dev_t *dev, float *accel_bias_res, float *gyro_bias_res)
Function which accumulates gyro and accelerometer data after device initialization.
Definition mpu6050.c:1347
esp_err_t mpu6050_set_slave_read_write_transition_enabled(mpu6050_dev_t *dev, bool enabled)
Set slave read/write transition enabled value.
Definition mpu6050.c:578
esp_err_t mpu6050_set_clock_source(mpu6050_dev_t *dev, mpu6050_clock_source_t source)
Set clock source setting.
Definition mpu6050.c:1242
esp_err_t mpu6050_set_motion_detection_counter_decrement(mpu6050_dev_t *dev, uint8_t decrement)
Set Motion detection counter decrement configuration.
Definition mpu6050.c:1153
esp_err_t mpu6050_get_rotation(mpu6050_dev_t *dev, mpu6050_rotation_t *gyro)
Get 3-axis gyroscope readings.
Definition mpu6050.c:1002
mpu6050_int_drive_t
Definition mpu6050.h:148
mpu6050_axis_t
Definition mpu6050.h:111
esp_err_t mpu6050_get_acceleration(mpu6050_dev_t *dev, mpu6050_acceleration_t *accel)
Get 3-axis accelerometer readings.
Definition mpu6050.c:948
esp_err_t mpu6050_set_fsync_interrupt_enabled(mpu6050_dev_t *dev, bool enabled)
Set FSYNC pin interrupt enabled setting.
Definition mpu6050.c:851
esp_err_t mpu6050_set_dlpf_mode(mpu6050_dev_t *dev, mpu6050_dlpf_mode_t mode)
Set digital low-pass filter configuration.
Definition mpu6050.c:288
mpu6050_slave_t
Definition mpu6050.h:215
esp_err_t mpu6050_get_raw_acceleration(mpu6050_dev_t *dev, mpu6050_raw_acceleration_t *raw_accel)
Get raw 3-axis accelerometer readings.
Definition mpu6050.c:929
esp_err_t mpu6050_get_freefall_detection_threshold(mpu6050_dev_t *dev, uint8_t *threshold)
Get free-fall event acceleration threshold.
Definition mpu6050.c:419
@ MPU6050_DLPF_2
Accelerometer: BW = 94Hz, delay = 3ms, Gyroscope: BW = 98Hz, delay = 2.8ms, Fs = 1kHz.
Definition mpu6050.h:173
@ MPU6050_DLPF_4
Accelerometer: BW = 21Hz, delay = 8.5ms, Gyroscope: BW = 20Hz, delay = 8.3ms, Fs = 1kHz.
Definition mpu6050.h:175
@ MPU6050_DLPF_3
Accelerometer: BW = 44Hz, delay = 4.9ms, Gyroscope: BW = 42Hz, delay = 4.8ms, Fs = 1kHz.
Definition mpu6050.h:174
@ MPU6050_DLPF_5
Accelerometer: BW = 10Hz, delay = 13.8ms, Gyroscope: BW = 10Hz, delay = 13.4ms, Fs = 1kHz.
Definition mpu6050.h:176
@ MPU6050_DLPF_6
Accelerometer: BW = 5Hz, delay = 19.0ms, Gyroscope: BW = 5Hz, delay = 18.6ms, Fs = 1kHz.
Definition mpu6050.h:177
@ MPU6050_DLPF_1
Accelerometer: BW = 184z, delay = 2ms, Gyroscope: BW = 188Hz, delay = 1.9ms, Fs = 1kHz.
Definition mpu6050.h:172
@ MPU6050_DLPF_0
Accelerometer: BW = 260Hz, delay = 0, Gyroscope: BW = 256Hz, delay = 0.98ms, Fs = 8kHz.
Definition mpu6050.h:171
@ MPU6050_INT_ZERO_MOTION
Zero motion detection interrupt.
Definition mpu6050.h:140
@ MPU6050_INT_DATA_READY
Data Ready interrupt which occurs each time a write operation to all of the sensor registers has been...
Definition mpu6050.h:135
@ MPU6050_INT_I2C_MASTER
Any of the I2C Master interrupt sources.
Definition mpu6050.h:138
@ MPU6050_INT_FIFO_OFLOW
FIFO buffer overflow interrupt.
Definition mpu6050.h:139
@ MPU6050_INT_DMP
Undocumented.
Definition mpu6050.h:136
@ MPU6050_INT_PLL_READY
Undocumented.
Definition mpu6050.h:137
@ MPU6050_INT_MOTION
Motion detection interrupt.
Definition mpu6050.h:141
@ MPU6050_INT_FREEFALL
Freefall detection interrupt.
Definition mpu6050.h:142
@ MPU6050_ACCEL_RANGE_4
± 4g
Definition mpu6050.h:195
@ MPU6050_ACCEL_RANGE_2
± 2g
Definition mpu6050.h:194
@ MPU6050_ACCEL_RANGE_8
± 8g
Definition mpu6050.h:196
@ MPU6050_ACCEL_RANGE_16
± 16g
Definition mpu6050.h:197
@ MPU6050_I2C_MASTER_CLOCK_471
471kHz
Definition mpu6050.h:237
@ MPU6050_I2C_MASTER_CLOCK_320
320kHz
Definition mpu6050.h:229
@ MPU6050_I2C_MASTER_CLOCK_308
308kHz
Definition mpu6050.h:230
@ MPU6050_I2C_MASTER_CLOCK_400
400kHz
Definition mpu6050.h:240
@ MPU6050_I2C_MASTER_CLOCK_267
267kHz
Definition mpu6050.h:234
@ MPU6050_I2C_MASTER_CLOCK_286
286kHz
Definition mpu6050.h:232
@ MPU6050_I2C_MASTER_CLOCK_333
333kHz
Definition mpu6050.h:228
@ MPU6050_I2C_MASTER_CLOCK_348
348kHz
Definition mpu6050.h:227
@ MPU6050_I2C_MASTER_CLOCK_364
364kHz
Definition mpu6050.h:242
@ MPU6050_I2C_MASTER_CLOCK_500
500kHz
Definition mpu6050.h:236
@ MPU6050_I2C_MASTER_CLOCK_258
258kHz
Definition mpu6050.h:235
@ MPU6050_I2C_MASTER_CLOCK_276
276kHz
Definition mpu6050.h:233
@ MPU6050_I2C_MASTER_CLOCK_444
444kHz
Definition mpu6050.h:238
@ MPU6050_I2C_MASTER_CLOCK_421
421kHz
Definition mpu6050.h:239
@ MPU6050_I2C_MASTER_CLOCK_296
296kHz
Definition mpu6050.h:231
@ MPU6050_I2C_MASTER_CLOCK_381
381kHz
Definition mpu6050.h:241
@ MPU6050_GYRO_RANGE_2000
± 2000 °/s
Definition mpu6050.h:187
@ MPU6050_GYRO_RANGE_500
± 500 °/s
Definition mpu6050.h:185
@ MPU6050_GYRO_RANGE_1000
± 1000 °/s
Definition mpu6050.h:186
@ MPU6050_GYRO_RANGE_250
± 250 °/s
Definition mpu6050.h:184
@ MPU6050_VDDIO_VLOGIC
Definition mpu6050.h:104
@ MPU6050_VDDIO_VDD
Definition mpu6050.h:105
@ MPU6050_DHPF_2_5
Filter Mode = on, Cut-off Frequency = 2.5Hz.
Definition mpu6050.h:206
@ MPU6050_DHPF_0_63
Filter Mode = on, Cut-off Frequency = 0.63Hz.
Definition mpu6050.h:208
@ MPU6050_DHPF_1_25
Filter Mode = on, Cut-off Frequency = 1.25Hz.
Definition mpu6050.h:207
@ MPU6050_MOTION_Y_NEG
Definition mpu6050.h:279
@ MPU6050_MOTION_ZERO
Definition mpu6050.h:275
@ MPU6050_MOTION_Z_NEG
Definition mpu6050.h:277
@ MPU6050_MOTION_X_POS
Definition mpu6050.h:280
@ MPU6050_MOTION_Z_POS
Definition mpu6050.h:276
@ MPU6050_MOTION_Y_POS
Definition mpu6050.h:278
@ MPU6050_MOTION_X_NEG
Definition mpu6050.h:281
@ MPU6050_CLOCK_STOP
Stops the clock and keeps the timing generator in reset.
Definition mpu6050.h:128
@ MPU6050_CLOCK_EXT_32768HZ
PLL with external 32.768kHz reference.
Definition mpu6050.h:125
@ MPU6050_CLOCK_PLL_X
PLL with X Gyro reference.
Definition mpu6050.h:122
@ MPU6050_CLOCK_RESERVED
Definition mpu6050.h:127
@ MPU6050_CLOCK_INTERNAL
Internal oscillator.
Definition mpu6050.h:121
@ MPU6050_CLOCK_EXT_19_2MHZ
PLL with external 19.2MHz reference.
Definition mpu6050.h:126
@ MPU6050_CLOCK_PLL_Z
PLL with Z Gyro reference.
Definition mpu6050.h:124
@ MPU6050_CLOCK_PLL_Y
PLL with Y Gyro reference.
Definition mpu6050.h:123
@ MPU6050_WAKE_FREQ_40
40Hz
Definition mpu6050.h:268
@ MPU6050_WAKE_FREQ_1_25
1.25Hz
Definition mpu6050.h:265
@ MPU6050_WAKE_FREQ_5
5Hz
Definition mpu6050.h:266
@ MPU6050_WAKE_FREQ_20
20Hz
Definition mpu6050.h:267
@ MPU6050_INT_LEVEL_LOW
Active low.
Definition mpu6050.h:250
@ MPU6050_INT_LEVEL_HIGH
Active high.
Definition mpu6050.h:249
@ MPU6050_EXT_SYNC_TEMP_OUT
Definition mpu6050.h:158
@ MPU6050_EXT_SYNC_GYRO_XOUT
Definition mpu6050.h:159
@ MPU6050_EXT_SYNC_ACCEL_YOUT
Definition mpu6050.h:163
@ MPU6050_EXT_SYNC_GYRO_YOUT
Definition mpu6050.h:160
@ MPU6050_EXT_SYNC_ACCEL_ZOUT
Definition mpu6050.h:164
@ MPU6050_EXT_SYNC_ACCEL_XOUT
Definition mpu6050.h:162
@ MPU6050_EXT_SYNC_GYRO_ZOUT
Definition mpu6050.h:161
@ MPU6050_INT_LATCH_CONTINUOUS
Latch until cleared.
Definition mpu6050.h:258
@ MPU6050_INT_LATCH_PULSE
50 us pulse
Definition mpu6050.h:257
@ MPU6050_INT_OPEN_DRAIN
Open drain.
Definition mpu6050.h:150
@ MPU6050_INT_PUSH_PULL
Push-pull.
Definition mpu6050.h:149
@ MPU6050_Z_AXIS
Definition mpu6050.h:114
@ MPU6050_X_AXIS
Definition mpu6050.h:112
@ MPU6050_Y_AXIS
Definition mpu6050.h:113
@ MPU6050_SLAVE_0
Definition mpu6050.h:216
@ MPU6050_SLAVE_4
Definition mpu6050.h:220
@ MPU6050_SLAVE_2
Definition mpu6050.h:218
@ MPU6050_SLAVE_1
Definition mpu6050.h:217
@ MPU6050_SLAVE_3
Definition mpu6050.h:219
#define MPU6050_DHPF_HOLD
Definition mpu6050_regs.h:134
#define MPU6050_DHPF_5
Definition mpu6050_regs.h:130
#define MPU6050_DHPF_RESET
Definition mpu6050_regs.h:129
#define MPU6050_EXT_SYNC_DISABLED
Definition mpu6050_regs.h:144
Definition i2cdev.h:70
Definition mpu6050.h:84
float z
acceleration axis z
Definition mpu6050.h:87
float y
acceleration axis y
Definition mpu6050.h:86
float x
acceleration axis x
Definition mpu6050.h:85
Definition mpu6050.h:287
i2c_dev_t i2c_dev
Definition mpu6050.h:288
mpu6050_accel_range_t accel
Definition mpu6050.h:292
mpu6050_gyro_range_t gyro
Definition mpu6050.h:291
Definition mpu6050.h:64
int16_t x
raw acceleration axis x
Definition mpu6050.h:65
int16_t z
raw acceleration axis z
Definition mpu6050.h:67
int16_t y
raw acceleration axis y
Definition mpu6050.h:66
Definition mpu6050.h:74
int16_t x
raw rotation axis x
Definition mpu6050.h:75
int16_t z
raw rotation axis z
Definition mpu6050.h:77
int16_t y
raw rotation axis y
Definition mpu6050.h:76
Definition mpu6050.h:94
float x
rotation axis x
Definition mpu6050.h:95
float y
rotation axis y
Definition mpu6050.h:96
float z
rotation axis z
Definition mpu6050.h:97