LibDriver MPU6500
Loading...
Searching...
No Matches
driver_mpu6500.h
Go to the documentation of this file.
1
36
37#ifndef DRIVER_MPU6500_H
38#define DRIVER_MPU6500_H
39
40#include <stdio.h>
41#include <stdint.h>
42#include <string.h>
43
44#ifdef __cplusplus
45extern "C"{
46#endif
47
53
58
67
76
80typedef enum
81{
85
98
108
118
133
150
166
185
189typedef enum
190{
195
206
217
229
239
248
257
269
281
304
313
322
331
340
351
366
380
384
389
398
414
427
438
442
447
451typedef struct mpu6500_handle_s
452{
453 uint8_t iic_addr;
454 uint8_t (*iic_init)(void);
455 uint8_t (*iic_deinit)(void);
456 uint8_t (*iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
457 uint8_t (*iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
458 uint8_t (*spi_init)(void);
459 uint8_t (*spi_deinit)(void);
460 uint8_t (*spi_read)(uint8_t reg, uint8_t *buf, uint16_t len);
461 uint8_t (*spi_write)(uint8_t reg, uint8_t *buf, uint16_t len);
462 void (*delay_ms)(uint32_t ms);
463 void (*debug_print)(const char *const fmt, ...);
464 void (*receive_callback)(uint8_t type);
465 void (*dmp_tap_callback)(uint8_t count, uint8_t direction);
466 void (*dmp_orient_callback)(uint8_t orientation);
467 uint8_t inited;
468 uint8_t iic_spi;
469 uint8_t dmp_inited;
470 uint16_t orient;
471 uint16_t mask;
472 uint8_t buf[1024];
474
490
494
501
508#define DRIVER_MPU6500_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
509
516#define DRIVER_MPU6500_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
517
524#define DRIVER_MPU6500_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
525
532#define DRIVER_MPU6500_LINK_IIC_READ(HANDLE, FUC) (HANDLE)->iic_read = FUC
533
540#define DRIVER_MPU6500_LINK_IIC_WRITE(HANDLE, FUC) (HANDLE)->iic_write = FUC
541
548#define DRIVER_MPU6500_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
549
556#define DRIVER_MPU6500_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
557
564#define DRIVER_MPU6500_LINK_SPI_READ(HANDLE, FUC) (HANDLE)->spi_read = FUC
565
572#define DRIVER_MPU6500_LINK_SPI_WRITE(HANDLE, FUC) (HANDLE)->spi_write = FUC
573
580#define DRIVER_MPU6500_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
581
588#define DRIVER_MPU6500_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
589
596#define DRIVER_MPU6500_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
597
601
608
617uint8_t mpu6500_info(mpu6500_info_t *info);
618
629
640
651
662
674
687uint8_t mpu6500_init(mpu6500_handle_t *handle);
688
700uint8_t mpu6500_deinit(mpu6500_handle_t *handle);
701
720uint8_t mpu6500_read(mpu6500_handle_t *handle,
721 int16_t (*accel_raw)[3], float (*accel_g)[3],
722 int16_t (*gyro_raw)[3], float (*gyro_dps)[3],
723 uint16_t *len
724 );
725
738uint8_t mpu6500_read_temperature(mpu6500_handle_t *handle, int16_t (*raw), float *degrees);
739
751uint8_t mpu6500_set_fifo(mpu6500_handle_t *handle, mpu6500_bool_t enable);
752
764uint8_t mpu6500_get_fifo(mpu6500_handle_t *handle, mpu6500_bool_t *enable);
765
777
790
803
816
829
840uint8_t mpu6500_fifo_reset(mpu6500_handle_t *handle);
841
854
866
879
891
904
916
929
942
955
967uint8_t mpu6500_set_ptat(mpu6500_handle_t *handle, mpu6500_bool_t enable);
968
980uint8_t mpu6500_get_ptat(mpu6500_handle_t *handle, mpu6500_bool_t *enable);
981
994
1007
1019uint8_t mpu6500_set_sleep(mpu6500_handle_t *handle, mpu6500_bool_t enable);
1020
1032uint8_t mpu6500_get_sleep(mpu6500_handle_t *handle, mpu6500_bool_t *enable);
1033
1046
1059
1073
1087
1099uint8_t mpu6500_get_fifo_count(mpu6500_handle_t *handle, uint16_t* count);
1100
1113uint8_t mpu6500_fifo_get(mpu6500_handle_t *handle, uint8_t *buf, uint16_t len);
1114
1127uint8_t mpu6500_fifo_set(mpu6500_handle_t *handle, uint8_t *buf, uint16_t len);
1128
1141
1153uint8_t mpu6500_set_sample_rate_divider(mpu6500_handle_t *handle, uint8_t d);
1154
1166uint8_t mpu6500_get_sample_rate_divider(mpu6500_handle_t *handle, uint8_t *d);
1167
1180
1193
1206
1219
1232
1245
1259
1273
1286
1299
1312uint8_t mpu6500_set_gyroscope_choice(mpu6500_handle_t *handle, uint8_t choice);
1313
1325uint8_t mpu6500_get_gyroscope_choice(mpu6500_handle_t *handle, uint8_t *choice);
1326
1340
1354
1367
1380
1392
1405uint8_t mpu6500_set_accelerometer_choice(mpu6500_handle_t *handle, uint8_t choice);
1406
1419uint8_t mpu6500_get_accelerometer_choice(mpu6500_handle_t *handle, uint8_t *choice);
1420
1433
1446
1459
1472
1485
1498
1511
1524
1536uint8_t mpu6500_set_accelerometer_x_offset(mpu6500_handle_t *handle, int16_t offset);
1537
1549uint8_t mpu6500_get_accelerometer_x_offset(mpu6500_handle_t *handle, int16_t *offset);
1550
1562uint8_t mpu6500_set_accelerometer_y_offset(mpu6500_handle_t *handle, int16_t offset);
1563
1575uint8_t mpu6500_get_accelerometer_y_offset(mpu6500_handle_t *handle, int16_t *offset);
1576
1588uint8_t mpu6500_set_accelerometer_z_offset(mpu6500_handle_t *handle, int16_t offset);
1589
1601uint8_t mpu6500_get_accelerometer_z_offset(mpu6500_handle_t *handle, int16_t *offset);
1602
1614uint8_t mpu6500_accelerometer_offset_convert_to_register(mpu6500_handle_t *handle, float mg, int16_t *reg);
1615
1627uint8_t mpu6500_accelerometer_offset_convert_to_data(mpu6500_handle_t *handle, int16_t reg, float *mg);
1628
1640uint8_t mpu6500_set_gyro_x_offset(mpu6500_handle_t *handle, int16_t offset);
1641
1653uint8_t mpu6500_get_gyro_x_offset(mpu6500_handle_t *handle, int16_t *offset);
1654
1666uint8_t mpu6500_set_gyro_y_offset(mpu6500_handle_t *handle, int16_t offset);
1667
1679uint8_t mpu6500_get_gyro_y_offset(mpu6500_handle_t *handle, int16_t *offset);
1680
1692uint8_t mpu6500_set_gyro_z_offset(mpu6500_handle_t *handle, int16_t offset);
1693
1705uint8_t mpu6500_get_gyro_z_offset(mpu6500_handle_t *handle, int16_t *offset);
1706
1718uint8_t mpu6500_gyro_offset_convert_to_register(mpu6500_handle_t *handle, float dps, int16_t *reg);
1719
1731uint8_t mpu6500_gyro_offset_convert_to_data(mpu6500_handle_t *handle, int16_t reg, float *dps);
1732
1746
1760
1773
1786
1799
1812
1825
1838
1851
1864
1877
1890
1903
1916
1929
1942
1956
1970
1982uint8_t mpu6500_get_interrupt_status(mpu6500_handle_t *handle, uint8_t *status);
1983
1995uint8_t mpu6500_set_gyroscope_x_test(mpu6500_handle_t *handle, uint8_t data);
1996
2008uint8_t mpu6500_get_gyroscope_x_test(mpu6500_handle_t *handle, uint8_t *data);
2009
2021uint8_t mpu6500_set_gyroscope_y_test(mpu6500_handle_t *handle, uint8_t data);
2022
2034uint8_t mpu6500_get_gyroscope_y_test(mpu6500_handle_t *handle, uint8_t *data);
2035
2047uint8_t mpu6500_set_gyroscope_z_test(mpu6500_handle_t *handle, uint8_t data);
2048
2060uint8_t mpu6500_get_gyroscope_z_test(mpu6500_handle_t *handle, uint8_t *data);
2061
2073uint8_t mpu6500_set_accelerometer_x_test(mpu6500_handle_t *handle, uint8_t data);
2074
2086uint8_t mpu6500_get_accelerometer_x_test(mpu6500_handle_t *handle, uint8_t *data);
2087
2099uint8_t mpu6500_set_accelerometer_y_test(mpu6500_handle_t *handle, uint8_t data);
2100
2112uint8_t mpu6500_get_accelerometer_y_test(mpu6500_handle_t *handle, uint8_t *data);
2113
2125uint8_t mpu6500_set_accelerometer_z_test(mpu6500_handle_t *handle, uint8_t data);
2126
2138uint8_t mpu6500_get_accelerometer_z_test(mpu6500_handle_t *handle, uint8_t *data);
2139
2151uint8_t mpu6500_set_motion_threshold(mpu6500_handle_t *handle, uint8_t threshold);
2152
2164uint8_t mpu6500_get_motion_threshold(mpu6500_handle_t *handle, uint8_t *threshold);
2165
2177uint8_t mpu6500_motion_threshold_convert_to_register(mpu6500_handle_t *handle, float mg, uint8_t *reg);
2178
2190uint8_t mpu6500_motion_threshold_convert_to_data(mpu6500_handle_t *handle, uint8_t reg, float *mg);
2191
2204uint8_t mpu6500_self_test(mpu6500_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3]);
2205
2218
2231
2244
2257
2270
2283
2296
2309
2324
2339
2354
2369
2383uint8_t mpu6500_set_iic_address(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t addr_7bit);
2384
2398uint8_t mpu6500_get_iic_address(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *addr_7bit);
2399
2413uint8_t mpu6500_set_iic_register(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t reg);
2414
2428uint8_t mpu6500_get_iic_register(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *reg);
2429
2443uint8_t mpu6500_set_iic_data_out(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t data);
2444
2458uint8_t mpu6500_get_iic_data_out(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *data);
2459
2474
2489
2504
2519
2534
2549
2564
2579
2594uint8_t mpu6500_set_iic_transferred_len(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t len);
2595
2609uint8_t mpu6500_get_iic_transferred_len(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *len);
2610
2622uint8_t mpu6500_get_iic_status(mpu6500_handle_t *handle, uint8_t *status);
2623
2637
2651
2664
2677
2690
2703
2716
2729
2742uint8_t mpu6500_set_iic_delay(mpu6500_handle_t *handle, uint8_t delay);
2743
2755uint8_t mpu6500_get_iic_delay(mpu6500_handle_t *handle, uint8_t *delay);
2756
2768uint8_t mpu6500_set_iic4_data_out(mpu6500_handle_t *handle, uint8_t data);
2769
2781uint8_t mpu6500_get_iic4_data_out(mpu6500_handle_t *handle, uint8_t *data);
2782
2794uint8_t mpu6500_set_iic4_data_in(mpu6500_handle_t *handle, uint8_t data);
2795
2807uint8_t mpu6500_get_iic4_data_in(mpu6500_handle_t *handle, uint8_t *data);
2808
2822uint8_t mpu6500_read_extern_sensor_data(mpu6500_handle_t *handle, uint8_t *data, uint8_t len);
2823
2827
2834
2849
2862uint8_t mpu6500_dmp_set_pedometer_walk_time(mpu6500_handle_t *handle, uint32_t ms);
2863
2876uint8_t mpu6500_dmp_get_pedometer_walk_time(mpu6500_handle_t *handle, uint32_t *ms);
2877
2890uint8_t mpu6500_dmp_set_pedometer_step_count(mpu6500_handle_t *handle, uint32_t count);
2891
2904uint8_t mpu6500_dmp_get_pedometer_step_count(mpu6500_handle_t *handle, uint32_t *count);
2905
2918uint8_t mpu6500_dmp_set_shake_reject_timeout(mpu6500_handle_t *handle, uint16_t ms);
2919
2932uint8_t mpu6500_dmp_get_shake_reject_timeout(mpu6500_handle_t *handle, uint16_t *ms);
2933
2946uint8_t mpu6500_dmp_set_shake_reject_time(mpu6500_handle_t *handle, uint16_t ms);
2947
2960uint8_t mpu6500_dmp_get_shake_reject_time(mpu6500_handle_t *handle, uint16_t *ms);
2961
2974uint8_t mpu6500_dmp_set_shake_reject_thresh(mpu6500_handle_t *handle, uint16_t dps);
2975
2988uint8_t mpu6500_dmp_get_shake_reject_thresh(mpu6500_handle_t *handle, uint16_t *dps);
2989
3002uint8_t mpu6500_dmp_set_tap_time_multi(mpu6500_handle_t *handle, uint16_t ms);
3003
3016uint8_t mpu6500_dmp_get_tap_time_multi(mpu6500_handle_t *handle, uint16_t *ms);
3017
3030uint8_t mpu6500_dmp_set_tap_time(mpu6500_handle_t *handle, uint16_t ms);
3031
3044uint8_t mpu6500_dmp_get_tap_time(mpu6500_handle_t *handle, uint16_t *ms);
3045
3059uint8_t mpu6500_dmp_set_min_tap_count(mpu6500_handle_t *handle, uint8_t cnt);
3060
3073uint8_t mpu6500_dmp_get_min_tap_count(mpu6500_handle_t *handle, uint8_t *cnt);
3074
3088
3102
3116
3130
3143uint8_t mpu6500_dmp_set_gyro_bias(mpu6500_handle_t *handle, int32_t bias[3]);
3144
3157uint8_t mpu6500_dmp_set_accel_bias(mpu6500_handle_t *handle, int32_t bias[3]);
3158
3171uint8_t mpu6500_dmp_set_orientation(mpu6500_handle_t *handle, int8_t mat[9]);
3172
3189uint8_t mpu6500_dmp_set_feature(mpu6500_handle_t *handle, uint16_t mask);
3190
3204uint8_t mpu6500_dmp_set_fifo_rate(mpu6500_handle_t *handle, uint16_t rate);
3205
3218uint8_t mpu6500_dmp_get_fifo_rate(mpu6500_handle_t *handle, uint16_t *rate);
3219
3234
3249
3265uint8_t mpu6500_dmp_set_tap_thresh(mpu6500_handle_t *handle, mpu6500_axis_t axis, uint16_t mg_ms);
3266
3281uint8_t mpu6500_dmp_get_tap_thresh(mpu6500_handle_t *handle, mpu6500_axis_t axis, uint16_t *mg_ms);
3282
3307uint8_t mpu6500_dmp_read(mpu6500_handle_t *handle,
3308 int16_t (*accel_raw)[3], float (*accel_g)[3],
3309 int16_t (*gyro_raw)[3], float (*gyro_dps)[3],
3310 int32_t (*quat)[4],
3311 float *pitch, float *roll, float *yaw,
3312 uint16_t *l
3313 );
3314
3327uint8_t mpu6500_dmp_set_tap_callback(mpu6500_handle_t *handle, void (*callback)(uint8_t count, uint8_t direction));
3328
3341uint8_t mpu6500_dmp_set_orient_callback(mpu6500_handle_t *handle, void (*callback)(uint8_t orientation));
3342
3356
3373 int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3],
3374 int32_t gyro_offset[3], int32_t accel_offset[3]);
3375
3379
3386
3400uint8_t mpu6500_set_reg(mpu6500_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len);
3401
3415uint8_t mpu6500_get_reg(mpu6500_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len);
3416
3420
3424
3425#ifdef __cplusplus
3426}
3427#endif
3428
3429#endif
uint8_t mpu6500_set_motion_threshold(mpu6500_handle_t *handle, uint8_t threshold)
set the motion_threshold
uint8_t mpu6500_get_gyroscope_y_test(mpu6500_handle_t *handle, uint8_t *data)
get the gyroscope y test
uint8_t mpu6500_get_fsync_interrupt_level(mpu6500_handle_t *handle, mpu6500_pin_level_t *level)
get the fsync interrupt level
uint8_t mpu6500_set_ptat(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the temperature sensor
mpu6500_accelerometer_low_pass_filter_t
mpu6500 accelerometer low pass filter enumeration definition
uint8_t mpu6500_set_accelerometer_choice(mpu6500_handle_t *handle, uint8_t choice)
set the accelerometer choice
uint8_t mpu6500_set_iic_address(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t addr_7bit)
set the iic address
uint8_t mpu6500_set_interface(mpu6500_handle_t *handle, mpu6500_interface_t interface)
set the chip interface
mpu6500_address_t
mpu6500 address enumeration definition
uint8_t mpu6500_get_iic_group_order(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_group_order_t *order)
get the iic group order
uint8_t mpu6500_get_gyroscope_x_test(mpu6500_handle_t *handle, uint8_t *data)
get the gyroscope x test
uint8_t mpu6500_read_extern_sensor_data(mpu6500_handle_t *handle, uint8_t *data, uint8_t len)
read the extern sensor data
uint8_t mpu6500_set_gyro_standby(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the gyro standby
struct mpu6500_info_s mpu6500_info_t
mpu6500 information structure definition
mpu6500_bool_t
mpu6500 bool enumeration definition
uint8_t mpu6500_set_accelerometer_x_offset(mpu6500_handle_t *handle, int16_t offset)
set the accelerometer x offset
uint8_t mpu6500_get_iic_multi_master(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic multi master status
uint8_t mpu6500_get_low_pass_filter(mpu6500_handle_t *handle, mpu6500_low_pass_filter_t *filter)
get the low pass filter
uint8_t mpu6500_set_iic_multi_master(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable iic multi master
uint8_t mpu6500_fifo_get(mpu6500_handle_t *handle, uint8_t *buf, uint16_t len)
fifo read bytes
uint8_t mpu6500_set_addr_pin(mpu6500_handle_t *handle, mpu6500_address_t addr_pin)
set the chip address pin
uint8_t mpu6500_accelerometer_offset_convert_to_data(mpu6500_handle_t *handle, int16_t reg, float *mg)
convert the register raw data to the accelerometer offset
uint8_t mpu6500_get_accelerometer_x_offset(mpu6500_handle_t *handle, int16_t *offset)
get the accelerometer x offset
uint8_t mpu6500_get_iic4_interrupt(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic4 interrupt status
uint8_t mpu6500_get_gyro_z_offset(mpu6500_handle_t *handle, int16_t *offset)
get the gyro z offset
uint8_t mpu6500_set_iic_wait_for_external_sensor(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable iic wait for external sensor
mpu6500_iic_mode_t
mpu6500 iic mode enumeration definition
uint8_t mpu6500_get_iic_data_out(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *data)
get the iic data out
mpu6500_pin_level_t
mpu6500 pin level enumeration definition
uint8_t mpu6500_set_iic_bypass(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the iic bypass
uint8_t mpu6500_get_gyroscope_choice(mpu6500_handle_t *handle, uint8_t *choice)
get the gyroscope choice
uint8_t mpu6500_get_interrupt_read_clear(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the interrupt reading clear status
uint8_t mpu6500_force_fifo_reset(mpu6500_handle_t *handle)
force reset the fifo
uint8_t mpu6500_set_iic4_data_out(mpu6500_handle_t *handle, uint8_t data)
set the iic4 data out
mpu6500_interrupt_t
mpu6500 interrupt enumeration definition
uint8_t mpu6500_set_accel_compare_with_previous_sample(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable accel compare with previous sample
uint8_t mpu6500_get_accelerometer_z_test(mpu6500_handle_t *handle, uint8_t *data)
get the accelerometer z test
uint8_t mpu6500_set_iic_group_order(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_group_order_t order)
set the iic group order
uint8_t mpu6500_get_iic_register(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *reg)
get the iic register
uint8_t mpu6500_get_accelerometer_range(mpu6500_handle_t *handle, mpu6500_accelerometer_range_t *range)
get the accelerometer range
mpu6500_iic_transaction_mode_t
mpu6500 iic transaction mode enumeration definition
mpu6500_iic_read_mode_t
mpu6500 iic read mode enumeration definition
uint8_t mpu6500_get_iic_bypass(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic bypass status
uint8_t mpu6500_set_accelerometer_y_offset(mpu6500_handle_t *handle, int16_t offset)
set the accelerometer y offset
uint8_t mpu6500_set_accelerometer_z_offset(mpu6500_handle_t *handle, int16_t offset)
set the accelerometer z offset
uint8_t mpu6500_accelerometer_offset_convert_to_register(mpu6500_handle_t *handle, float mg, int16_t *reg)
convert the accelerometer offset to the register raw data
uint8_t mpu6500_set_iic_transaction_mode(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_transaction_mode_t mode)
set the iic transaction mode
uint8_t mpu6500_get_accelerometer_test(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t *enable)
get the accelerometer test
uint8_t mpu6500_set_fifo(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable fifo
uint8_t mpu6500_get_fifo(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the fifo status
uint8_t mpu6500_get_sleep(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the sleep status
uint8_t mpu6500_get_sample_rate_divider(mpu6500_handle_t *handle, uint8_t *d)
get the sample rate divider
uint8_t mpu6500_get_device_reset(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the device reset status
uint8_t mpu6500_set_interrupt_level(mpu6500_handle_t *handle, mpu6500_pin_level_t level)
set the interrupt level
uint8_t mpu6500_set_iic4_data_in(mpu6500_handle_t *handle, uint8_t data)
set the iic4 data in
uint8_t mpu6500_get_fifo_enable(mpu6500_handle_t *handle, mpu6500_fifo_t fifo, mpu6500_bool_t *enable)
get the fifo function status
uint8_t mpu6500_get_disable_iic_slave(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic slave status
uint8_t mpu6500_get_gyroscope_test(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t *enable)
get the gyroscope test
mpu6500_clock_source_t
mpu6500 clock source enumeration definition
uint8_t mpu6500_set_fsync_interrupt_level(mpu6500_handle_t *handle, mpu6500_pin_level_t level)
set the fsync interrupt level
uint8_t mpu6500_get_accelerometer_low_pass_filter(mpu6500_handle_t *handle, mpu6500_accelerometer_low_pass_filter_t *filter)
get the accelerometer low pass filter
uint8_t mpu6500_read(mpu6500_handle_t *handle, int16_t(*accel_raw)[3], float(*accel_g)[3], int16_t(*gyro_raw)[3], float(*gyro_dps)[3], uint16_t *len)
read the data
mpu6500_iic_group_order_t
mpu6500 iic group order enumeration definition
uint8_t mpu6500_get_iic_master_reset(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic master reset status
uint8_t mpu6500_get_iic4_data_out(mpu6500_handle_t *handle, uint8_t *data)
get the iic4 data out
uint8_t mpu6500_set_iic_clock(mpu6500_handle_t *handle, mpu6500_iic_clock_t clk)
set the iic clock
uint8_t mpu6500_get_clock_source(mpu6500_handle_t *handle, mpu6500_clock_source_t *clock_source)
get the chip clock source
mpu6500_gyroscope_range_t
mpu6500 gyroscope range enumeration definition
uint8_t mpu6500_get_wake_on_motion(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the wake on motion status
uint8_t mpu6500_gyro_offset_convert_to_data(mpu6500_handle_t *handle, int16_t reg, float *dps)
convert the register raw data to the gyro offset
uint8_t mpu6500_get_iic_master(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic master status
uint8_t mpu6500_get_accelerometer_y_test(mpu6500_handle_t *handle, uint8_t *data)
get the accelerometer y test
uint8_t mpu6500_get_addr_pin(mpu6500_handle_t *handle, mpu6500_address_t *addr_pin)
get the chip address pin
struct mpu6500_handle_s mpu6500_handle_t
mpu6500 handle structure definition
mpu6500_source_t
mpu6500 source enumeration definition
uint8_t mpu6500_get_iic4_enable(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic4 status
uint8_t mpu6500_set_gyroscope_choice(mpu6500_handle_t *handle, uint8_t choice)
set the gyroscope choice
mpu6500_iic_clock_t
mpu6500 iic clock enumeration definition
uint8_t mpu6500_get_fsync_interrupt(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the fsync interrupt status
uint8_t mpu6500_set_iic_read_mode(mpu6500_handle_t *handle, mpu6500_iic_read_mode_t mode)
set the iic read mode
uint8_t mpu6500_get_cycle_wake_up(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the cycle wake up mode status
uint8_t mpu6500_set_iic_delay(mpu6500_handle_t *handle, uint8_t delay)
set the iic delay
uint8_t mpu6500_get_fifo_count(mpu6500_handle_t *handle, uint16_t *count)
get the fifo counter value
uint8_t mpu6500_get_gyro_x_offset(mpu6500_handle_t *handle, int16_t *offset)
get the gyro x offset
uint8_t mpu6500_set_fsync_interrupt(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the fsync interrupt
mpu6500_iic_status_t
mpu6500 iic status enumeration definition
uint8_t mpu6500_get_interrupt(mpu6500_handle_t *handle, mpu6500_interrupt_t type, mpu6500_bool_t *enable)
get the interrupt status
uint8_t mpu6500_get_iic4_data_in(mpu6500_handle_t *handle, uint8_t *data)
get the iic4 data in
uint8_t mpu6500_get_gyroscope_z_test(mpu6500_handle_t *handle, uint8_t *data)
get the gyroscope z test
uint8_t mpu6500_get_accelerometer_z_offset(mpu6500_handle_t *handle, int16_t *offset)
get the accelerometer z offset
uint8_t mpu6500_get_iic_delay_enable(mpu6500_handle_t *handle, mpu6500_iic_delay_t delay, mpu6500_bool_t *enable)
get the iic delay status
mpu6500_iic_delay_t
mpu6500 iic delay enumeration definition
uint8_t mpu6500_get_ptat(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the temperature sensor status
uint8_t mpu6500_get_iic_byte_swap(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t *enable)
get the iic byte swap status
uint8_t mpu6500_set_sleep(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the sleep mode
uint8_t mpu6500_set_gyroscope_x_test(mpu6500_handle_t *handle, uint8_t data)
set the gyroscope x test
uint8_t mpu6500_motion_threshold_convert_to_data(mpu6500_handle_t *handle, uint8_t reg, float *mg)
convert the register raw data to the motion threshold
uint8_t mpu6500_sensor_reset(mpu6500_handle_t *handle)
reset all sensors
uint8_t mpu6500_read_temperature(mpu6500_handle_t *handle, int16_t(*raw), float *degrees)
read the temperature
uint8_t mpu6500_set_interrupt_latch(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the interrupt latch
uint8_t mpu6500_get_interrupt_level(mpu6500_handle_t *handle, mpu6500_pin_level_t *level)
get the interrupt level
mpu6500_axis_t
mpu6500 axis enumeration definition
uint8_t mpu6500_get_iic_read_mode(mpu6500_handle_t *handle, mpu6500_iic_read_mode_t *mode)
get the iic read mode
uint8_t mpu6500_get_interface(mpu6500_handle_t *handle, mpu6500_interface_t *interface)
get the chip interface
mpu6500_iic_slave_t
mpu6500 iic slave enumeration definition
uint8_t mpu6500_gyro_offset_convert_to_register(mpu6500_handle_t *handle, float dps, int16_t *reg)
convert the gyro offset to the register raw data
uint8_t mpu6500_get_iic_transaction_mode(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_transaction_mode_t *mode)
get the iic transaction mode
uint8_t mpu6500_get_iic_status(mpu6500_handle_t *handle, uint8_t *status)
get the iic status
uint8_t mpu6500_set_gyroscope_range(mpu6500_handle_t *handle, mpu6500_gyroscope_range_t range)
set the gyroscope range
uint8_t mpu6500_get_iic_enable(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t *enable)
get the iic status
uint8_t mpu6500_info(mpu6500_info_t *info)
get the chip's information
uint8_t mpu6500_set_clock_source(mpu6500_handle_t *handle, mpu6500_clock_source_t clock_source)
set the chip clock source
uint8_t mpu6500_get_iic_transferred_len(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *len)
get the iic transferred length
uint8_t mpu6500_get_iic_wait_for_external_sensor(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the iic wait for external sensor status
uint8_t mpu6500_set_wake_on_motion(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable wake on motion
uint8_t mpu6500_set_signal_path_reset(mpu6500_handle_t *handle, mpu6500_signal_path_reset_t path)
set the signal path reset
uint8_t mpu6500_set_gyro_x_offset(mpu6500_handle_t *handle, int16_t offset)
set the gyro x offset
uint8_t mpu6500_get_fifo_reset(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the fifo reset status
uint8_t mpu6500_set_interrupt_read_clear(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the interrupt reading clear
uint8_t mpu6500_get_accel_compare_with_previous_sample(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the accel compare with previous sample status
mpu6500_iic4_transaction_mode_t
mpu6500 iic4 transaction mode enumeration definition
uint8_t mpu6500_set_gyro_z_offset(mpu6500_handle_t *handle, int16_t offset)
set the gyro z offset
uint8_t mpu6500_set_gyroscope_z_test(mpu6500_handle_t *handle, uint8_t data)
set the gyroscope z test
mpu6500_fifo_mode
mpu6500 fifo mode enumeration definition
uint8_t mpu6500_set_accelerometer_y_test(mpu6500_handle_t *handle, uint8_t data)
set the accelerometer y test
uint8_t mpu6500_set_iic_byte_swap(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t enable)
enable or disable the iic byte swap
uint8_t mpu6500_get_gyroscope_range(mpu6500_handle_t *handle, mpu6500_gyroscope_range_t *range)
get the gyroscope range
uint8_t mpu6500_set_interrupt(mpu6500_handle_t *handle, mpu6500_interrupt_t type, mpu6500_bool_t enable)
enable or disable the interrupt
mpu6500_signal_path_reset_t
mpu6500 signal path reset enumeration definition
uint8_t mpu6500_set_gyro_y_offset(mpu6500_handle_t *handle, int16_t offset)
set the gyro y offset
uint8_t mpu6500_set_iic_transferred_len(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t len)
set the iic transferred length
uint8_t mpu6500_set_fifo_enable(mpu6500_handle_t *handle, mpu6500_fifo_t fifo, mpu6500_bool_t enable)
enable or disable the fifo function
uint8_t mpu6500_set_accelerometer_x_test(mpu6500_handle_t *handle, uint8_t data)
set the accelerometer x test
uint8_t mpu6500_set_iic4_transaction_mode(mpu6500_handle_t *handle, mpu6500_iic4_transaction_mode_t mode)
set the iic4 transaction mode
uint8_t mpu6500_deinit(mpu6500_handle_t *handle)
close the chip
uint8_t mpu6500_iic_master_reset(mpu6500_handle_t *handle)
reset the iic master controller
uint8_t mpu6500_get_accelerometer_y_offset(mpu6500_handle_t *handle, int16_t *offset)
get the accelerometer y offset
uint8_t mpu6500_set_low_pass_filter(mpu6500_handle_t *handle, mpu6500_low_pass_filter_t filter)
set the low pass filter
uint8_t mpu6500_irq_handler(mpu6500_handle_t *handle)
irq handler
uint8_t mpu6500_get_accelerometer_x_test(mpu6500_handle_t *handle, uint8_t *data)
get the accelerometer x test
uint8_t mpu6500_get_motion_threshold(mpu6500_handle_t *handle, uint8_t *threshold)
get the motion_threshold
mpu6500_extern_sync_t
mpu6500 extern sync enumeration definition
uint8_t mpu6500_get_iic_address(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t *addr_7bit)
get the iic address
uint8_t mpu6500_set_extern_sync(mpu6500_handle_t *handle, mpu6500_extern_sync_t sync)
set the extern sync type
uint8_t mpu6500_set_low_power_accel_output_rate(mpu6500_handle_t *handle, mpu6500_low_power_accel_output_rate_t rate)
set the low power accel output rate
uint8_t mpu6500_get_low_power_accel_output_rate(mpu6500_handle_t *handle, mpu6500_low_power_accel_output_rate_t *rate)
get the low power accel output rate
uint8_t mpu6500_set_iic_mode(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_mode_t mode)
set the iic mode
uint8_t mpu6500_get_iic_fifo_enable(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t *enable)
get the iic fifo status
uint8_t mpu6500_get_iic4_transaction_mode(mpu6500_handle_t *handle, mpu6500_iic4_transaction_mode_t *mode)
get the iic4 transaction mode
uint8_t mpu6500_set_iic4_enable(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the iic4
uint8_t mpu6500_get_iic_delay(mpu6500_handle_t *handle, uint8_t *delay)
get the iic delay
mpu6500_low_power_accel_output_rate_t
mpu6500 low power accel output rate enumeration definition
uint8_t mpu6500_get_sensor_reset(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the sensor reset status
uint8_t mpu6500_set_iic4_interrupt(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the iic4 interrupt
uint8_t mpu6500_set_iic_register(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t reg)
set the iic register
uint8_t mpu6500_set_fifo_mode(mpu6500_handle_t *handle, mpu6500_fifo_mode mode)
set the fifo mode
uint8_t mpu6500_set_disable_iic_slave(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the iic slave mode
uint8_t mpu6500_get_gyro_standby(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the gyro standby status
mpu6500_fifo_t
mpu6500 fifo enumeration definition
uint8_t mpu6500_set_iic_master(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the iic master mode
uint8_t mpu6500_set_cycle_wake_up(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the cycle wake up mode
uint8_t mpu6500_get_fifo_mode(mpu6500_handle_t *handle, mpu6500_fifo_mode *mode)
get the fifo mode
mpu6500_accelerometer_range_t
mpu6500 accelerometer range enumeration definition
uint8_t mpu6500_motion_threshold_convert_to_register(mpu6500_handle_t *handle, float mg, uint8_t *reg)
convert the motion threshold to the register raw data
uint8_t mpu6500_init(mpu6500_handle_t *handle)
initialize the chip
uint8_t mpu6500_set_accelerometer_range(mpu6500_handle_t *handle, mpu6500_accelerometer_range_t range)
set the accelerometer range
uint8_t mpu6500_set_accelerometer_test(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t enable)
set the accelerometer test
uint8_t mpu6500_set_iic_fifo_enable(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t enable)
enable or disable the iic fifo
uint8_t mpu6500_fifo_reset(mpu6500_handle_t *handle)
reset the fifo
uint8_t mpu6500_get_interrupt_latch(mpu6500_handle_t *handle, mpu6500_bool_t *enable)
get the interrupt latch status
uint8_t mpu6500_get_extern_sync(mpu6500_handle_t *handle, mpu6500_extern_sync_t *sync)
get the extern sync type
uint8_t mpu6500_get_gyro_y_offset(mpu6500_handle_t *handle, int16_t *offset)
get the gyro y offset
uint8_t mpu6500_device_reset(mpu6500_handle_t *handle)
reset the chip
uint8_t mpu6500_set_gyroscope_y_test(mpu6500_handle_t *handle, uint8_t data)
set the gyroscope y test
uint8_t mpu6500_get_iic_clock(mpu6500_handle_t *handle, mpu6500_iic_clock_t *clk)
get the iic clock
uint8_t mpu6500_get_interrupt_pin_type(mpu6500_handle_t *handle, mpu6500_pin_type_t *type)
get the interrupt pin type
uint8_t mpu6500_get_standby_mode(mpu6500_handle_t *handle, mpu6500_source_t source, mpu6500_bool_t *enable)
get the source mode
uint8_t mpu6500_set_accelerometer_z_test(mpu6500_handle_t *handle, uint8_t data)
set the accelerometer z test
mpu6500_pin_type_t
mpu6500 pin type enumeration definition
uint8_t mpu6500_set_iic_data_out(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, uint8_t data)
set the iic data out
mpu6500_interface_t
mpu6500 interface enumeration definition
uint8_t mpu6500_get_accelerometer_choice(mpu6500_handle_t *handle, uint8_t *choice)
get the accelerometer choice
uint8_t mpu6500_set_iic_delay_enable(mpu6500_handle_t *handle, mpu6500_iic_delay_t delay, mpu6500_bool_t enable)
enable or disable the iic delay
uint8_t mpu6500_set_fifo_1024kb(mpu6500_handle_t *handle)
set fifo 1024kb
uint8_t mpu6500_set_standby_mode(mpu6500_handle_t *handle, mpu6500_source_t source, mpu6500_bool_t enable)
set source into standby mode
uint8_t mpu6500_get_iic_mode(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_iic_mode_t *mode)
get the iic mode
uint8_t mpu6500_fifo_set(mpu6500_handle_t *handle, uint8_t *buf, uint16_t len)
fifo write bytes
uint8_t mpu6500_set_accelerometer_low_pass_filter(mpu6500_handle_t *handle, mpu6500_accelerometer_low_pass_filter_t filter)
set the accelerometer low pass filter
uint8_t mpu6500_get_interrupt_status(mpu6500_handle_t *handle, uint8_t *status)
get the interrupt status
mpu6500_low_pass_filter_t
mpu6500 low pass filter enumeration definition
uint8_t mpu6500_set_interrupt_pin_type(mpu6500_handle_t *handle, mpu6500_pin_type_t type)
set the interrupt pin type
uint8_t mpu6500_set_gyroscope_test(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t enable)
set the gyroscope test
uint8_t mpu6500_set_iic_enable(mpu6500_handle_t *handle, mpu6500_iic_slave_t slave, mpu6500_bool_t enable)
enable or disable the iic
uint8_t mpu6500_self_test(mpu6500_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3])
run the self test
uint8_t mpu6500_set_sample_rate_divider(mpu6500_handle_t *handle, uint8_t d)
set the sample rate divider
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_2
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_4
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_5
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_6
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_1
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_0
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_3
@ MPU6500_ACCELEROMETER_LOW_PASS_FILTER_7
@ MPU6500_ADDRESS_AD0_LOW
@ MPU6500_ADDRESS_AD0_HIGH
@ MPU6500_BOOL_FALSE
@ MPU6500_BOOL_TRUE
@ MPU6500_IIC_MODE_WRITE
@ MPU6500_IIC_MODE_READ
@ MPU6500_PIN_LEVEL_LOW
@ MPU6500_PIN_LEVEL_HIGH
@ MPU6500_INTERRUPT_DATA_READY
@ MPU6500_INTERRUPT_FIFO_OVERFLOW
@ MPU6500_INTERRUPT_MOTION
@ MPU6500_INTERRUPT_FSYNC_INT
@ MPU6500_INTERRUPT_DMP
@ MPU6500_IIC_TRANSACTION_MODE_REG_DATA
@ MPU6500_IIC_TRANSACTION_MODE_DATA
@ MPU6500_IIC_READ_MODE_STOP_AND_START
@ MPU6500_IIC_READ_MODE_RESTART
@ MPU6500_CLOCK_SOURCE_PLL
@ MPU6500_CLOCK_SOURCE_INTERNAL_20MHZ
@ MPU6500_CLOCK_SOURCE_STOP_CLOCK
@ MPU6500_IIC_GROUP_ORDER_ODD
@ MPU6500_IIC_GROUP_ORDER_EVEN
@ MPU6500_GYROSCOPE_RANGE_1000DPS
@ MPU6500_GYROSCOPE_RANGE_500DPS
@ MPU6500_GYROSCOPE_RANGE_2000DPS
@ MPU6500_GYROSCOPE_RANGE_250DPS
@ MPU6500_SOURCE_ACC_Y
@ MPU6500_SOURCE_GYRO_X
@ MPU6500_SOURCE_GYRO_Y
@ MPU6500_SOURCE_ACC_X
@ MPU6500_SOURCE_ACC_Z
@ MPU6500_SOURCE_GYRO_Z
@ MPU6500_IIC_CLOCK_500_KHZ
@ MPU6500_IIC_CLOCK_421_KHZ
@ MPU6500_IIC_CLOCK_276_KHZ
@ MPU6500_IIC_CLOCK_333_KHZ
@ MPU6500_IIC_CLOCK_267_KHZ
@ MPU6500_IIC_CLOCK_471_KHZ
@ MPU6500_IIC_CLOCK_308_KHZ
@ MPU6500_IIC_CLOCK_258_KHZ
@ MPU6500_IIC_CLOCK_286_KHZ
@ MPU6500_IIC_CLOCK_296_KHZ
@ MPU6500_IIC_CLOCK_320_KHZ
@ MPU6500_IIC_CLOCK_444_KHZ
@ MPU6500_IIC_CLOCK_348_KHZ
@ MPU6500_IIC_CLOCK_364_KHZ
@ MPU6500_IIC_CLOCK_400_KHZ
@ MPU6500_IIC_CLOCK_381_KHZ
@ MPU6500_IIC_STATUS_IIC_SLV2_NACK
@ MPU6500_IIC_STATUS_PASS_THROUGH
@ MPU6500_IIC_STATUS_IIC_LOST_ARB
@ MPU6500_IIC_STATUS_IIC_SLV4_DONE
@ MPU6500_IIC_STATUS_IIC_SLV3_NACK
@ MPU6500_IIC_STATUS_IIC_SLV4_NACK
@ MPU6500_IIC_STATUS_IIC_SLV1_NACK
@ MPU6500_IIC_STATUS_IIC_SLV0_NACK
@ MPU6500_IIC_DELAY_SLAVE_1
@ MPU6500_IIC_DELAY_SLAVE_2
@ MPU6500_IIC_DELAY_ES_SHADOW
@ MPU6500_IIC_DELAY_SLAVE_3
@ MPU6500_IIC_DELAY_SLAVE_0
@ MPU6500_IIC_DELAY_SLAVE_4
@ MPU6500_AXIS_Y
@ MPU6500_AXIS_Z
@ MPU6500_AXIS_X
@ MPU6500_IIC_SLAVE_4
@ MPU6500_IIC_SLAVE_1
@ MPU6500_IIC_SLAVE_2
@ MPU6500_IIC_SLAVE_0
@ MPU6500_IIC_SLAVE_3
@ MPU6500_IIC4_TRANSACTION_MODE_REG
@ MPU6500_IIC4_TRANSACTION_MODE_DATA
@ MPU6500_FIFO_MODE_NORMAL
@ MPU6500_FIFO_MODE_STREAM
@ MPU6500_SIGNAL_PATH_RESET_ACCEL
@ MPU6500_SIGNAL_PATH_RESET_TEMP
@ MPU6500_SIGNAL_PATH_RESET_GYRO
@ MPU6500_EXTERN_SYNC_TEMP_OUT_L
@ MPU6500_EXTERN_SYNC_GYRO_XOUT_L
@ MPU6500_EXTERN_SYNC_ACCEL_YOUT_L
@ MPU6500_EXTERN_SYNC_GYRO_YOUT_L
@ MPU6500_EXTERN_SYNC_ACCEL_ZOUT_L
@ MPU6500_EXTERN_SYNC_GYRO_ZOUT_L
@ MPU6500_EXTERN_SYNC_INPUT_DISABLED
@ MPU6500_EXTERN_SYNC_ACCEL_XOUT_L
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_7P81
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_0P98
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_31P25
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_3P91
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_500
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_250
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_62P50
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_0P24
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_125
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_15P63
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_0P49
@ MPU6500_LOW_POWER_ACCEL_OUTPUT_RATE_1P95
@ MPU6500_FIFO_TEMP
@ MPU6500_FIFO_YG
@ MPU6500_FIFO_ZG
@ MPU6500_FIFO_ACCEL
@ MPU6500_FIFO_XG
@ MPU6500_ACCELEROMETER_RANGE_2G
@ MPU6500_ACCELEROMETER_RANGE_8G
@ MPU6500_ACCELEROMETER_RANGE_16G
@ MPU6500_ACCELEROMETER_RANGE_4G
@ MPU6500_PIN_TYPE_PUSH_PULL
@ MPU6500_PIN_TYPE_OPEN_DRAIN
@ MPU6500_INTERFACE_IIC
@ MPU6500_INTERFACE_SPI
@ MPU6500_LOW_PASS_FILTER_5
@ MPU6500_LOW_PASS_FILTER_1
@ MPU6500_LOW_PASS_FILTER_6
@ MPU6500_LOW_PASS_FILTER_2
@ MPU6500_LOW_PASS_FILTER_3
@ MPU6500_LOW_PASS_FILTER_4
@ MPU6500_LOW_PASS_FILTER_0
@ MPU6500_LOW_PASS_FILTER_7
uint8_t mpu6500_dmp_set_tap_time(mpu6500_handle_t *handle, uint16_t ms)
dmp set the tap time
uint8_t mpu6500_dmp_get_shake_reject_thresh(mpu6500_handle_t *handle, uint16_t *dps)
dmp get the shake reject thresh
uint8_t mpu6500_dmp_get_tap_time(mpu6500_handle_t *handle, uint16_t *ms)
dmp get the tap time
uint8_t mpu6500_dmp_get_fifo_rate(mpu6500_handle_t *handle, uint16_t *rate)
dmp get the fifo rate
uint8_t mpu6500_dmp_set_accel_bias(mpu6500_handle_t *handle, int32_t bias[3])
dmp set the accel bias
uint8_t mpu6500_dmp_get_min_tap_count(mpu6500_handle_t *handle, uint8_t *cnt)
dmp get the min tap count
mpu6500_dmp_orient_t
mpu6500 dmp orient enumeration definition
uint8_t mpu6500_dmp_set_gyro_bias(mpu6500_handle_t *handle, int32_t bias[3])
dmp set the gyro bias
uint8_t mpu6500_dmp_gyro_accel_raw_offset_convert(mpu6500_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3], int32_t gyro_offset[3], int32_t accel_offset[3])
dmp gyro accel raw offset convert
uint8_t mpu6500_dmp_set_tap_thresh(mpu6500_handle_t *handle, mpu6500_axis_t axis, uint16_t mg_ms)
dmp set the tap thresh
uint8_t mpu6500_dmp_set_shake_reject_time(mpu6500_handle_t *handle, uint16_t ms)
dmp set the shake reject time
uint8_t mpu6500_dmp_set_min_tap_count(mpu6500_handle_t *handle, uint8_t cnt)
dmp set the min tap count
uint8_t mpu6500_dmp_set_fifo_rate(mpu6500_handle_t *handle, uint16_t rate)
dmp set the fifo rate
uint8_t mpu6500_dmp_set_orient_callback(mpu6500_handle_t *handle, void(*callback)(uint8_t orientation))
dmp set the orient callback
uint8_t mpu6500_dmp_read(mpu6500_handle_t *handle, int16_t(*accel_raw)[3], float(*accel_g)[3], int16_t(*gyro_raw)[3], float(*gyro_dps)[3], int32_t(*quat)[4], float *pitch, float *roll, float *yaw, uint16_t *l)
dmp read the data
uint8_t mpu6500_dmp_set_shake_reject_timeout(mpu6500_handle_t *handle, uint16_t ms)
dmp set the shake reject timeout
mpu6500_dmp_feature_t
mpu6500 dmp feature enumeration definition
mpu6500_dmp_interrupt_mode_t
mpu6500 dmp interrupt mode enumeration definition
uint8_t mpu6500_dmp_get_shake_reject_timeout(mpu6500_handle_t *handle, uint16_t *ms)
dmp get the shake reject timeout
uint8_t mpu6500_dmp_set_tap_callback(mpu6500_handle_t *handle, void(*callback)(uint8_t count, uint8_t direction))
dmp set the tap callback
uint8_t mpu6500_dmp_get_tap_axes(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t *enable)
dmp get the tap axes status
uint8_t mpu6500_dmp_set_pedometer_step_count(mpu6500_handle_t *handle, uint32_t count)
dmp set the pedometer step count
uint8_t mpu6500_dmp_set_tap_axes(mpu6500_handle_t *handle, mpu6500_axis_t axis, mpu6500_bool_t enable)
dmp enable or disable the tap axes
uint8_t mpu6500_dmp_get_shake_reject_time(mpu6500_handle_t *handle, uint16_t *ms)
dmp get the shake reject time
uint8_t mpu6500_dmp_load_firmware(mpu6500_handle_t *handle)
load the dmp firmware
uint8_t mpu6500_dmp_get_pedometer_walk_time(mpu6500_handle_t *handle, uint32_t *ms)
dmp get the pedometer walk time
mpu6500_dmp_tap_t
mpu6500 dmp tap enumeration definition
uint8_t mpu6500_dmp_set_feature(mpu6500_handle_t *handle, uint16_t mask)
dmp enable or disable the dmp feature
uint8_t mpu6500_dmp_set_gyro_calibrate(mpu6500_handle_t *handle, mpu6500_bool_t enable)
dmp enable or disable gyro calibrate
uint8_t mpu6500_dmp_get_tap_time_multi(mpu6500_handle_t *handle, uint16_t *ms)
dmp get max time between taps to register as a multi tap
uint8_t mpu6500_dmp_get_tap_thresh(mpu6500_handle_t *handle, mpu6500_axis_t axis, uint16_t *mg_ms)
dmp get the tap thresh
uint8_t mpu6500_dmp_set_orientation(mpu6500_handle_t *handle, int8_t mat[9])
dmp set the orientation
uint8_t mpu6500_dmp_set_pedometer_walk_time(mpu6500_handle_t *handle, uint32_t ms)
dmp set the pedometer walk time
uint8_t mpu6500_dmp_set_interrupt_mode(mpu6500_handle_t *handle, mpu6500_dmp_interrupt_mode_t mode)
dmp set the interrupt mode
uint8_t mpu6500_dmp_set_tap_time_multi(mpu6500_handle_t *handle, uint16_t ms)
dmp set max time between taps to register as a multi tap
uint8_t mpu6500_dmp_set_shake_reject_thresh(mpu6500_handle_t *handle, uint16_t dps)
dmp set the shake reject thresh
uint8_t mpu6500_dmp_set_enable(mpu6500_handle_t *handle, mpu6500_bool_t enable)
enable or disable the dmp
uint8_t mpu6500_dmp_set_6x_quaternion(mpu6500_handle_t *handle, mpu6500_bool_t enable)
dmp enable or disable generate 6 axis quaternions from dmp
uint8_t mpu6500_dmp_set_3x_quaternion(mpu6500_handle_t *handle, mpu6500_bool_t enable)
dmp enable or disable generate 3 axis quaternions from dmp
uint8_t mpu6500_dmp_get_pedometer_step_count(mpu6500_handle_t *handle, uint32_t *count)
dmp get the pedometer step count
@ MPU6500_DMP_ORIENT_REVERSE_LANDSCAPE
@ MPU6500_DMP_ORIENT_LANDSCAPE
@ MPU6500_DMP_ORIENT_REVERSE_PORTRAIT
@ MPU6500_DMP_ORIENT_PORTRAIT
@ MPU6500_DMP_FEATURE_SEND_RAW_GYRO
@ MPU6500_DMP_FEATURE_GYRO_CAL
@ MPU6500_DMP_FEATURE_PEDOMETER
@ MPU6500_DMP_FEATURE_SEND_CAL_GYRO
@ MPU6500_DMP_FEATURE_TAP
@ MPU6500_DMP_FEATURE_ORIENT
@ MPU6500_DMP_FEATURE_SEND_RAW_ACCEL
@ MPU6500_DMP_FEATURE_6X_QUAT
@ MPU6500_DMP_FEATURE_3X_QUAT
@ MPU6500_DMP_INTERRUPT_MODE_GESTURE
@ MPU6500_DMP_INTERRUPT_MODE_CONTINUOUS
@ MPU6500_DMP_TAP_Y_UP
@ MPU6500_DMP_TAP_Y_DOWN
@ MPU6500_DMP_TAP_Z_UP
@ MPU6500_DMP_TAP_X_DOWN
@ MPU6500_DMP_TAP_Z_DOWN
@ MPU6500_DMP_TAP_X_UP
uint8_t mpu6500_get_reg(mpu6500_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
get the chip register
uint8_t mpu6500_set_reg(mpu6500_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
set the chip register
mpu6500 handle structure definition
uint8_t buf[1024]
void(* dmp_tap_callback)(uint8_t count, uint8_t direction)
uint8_t(* spi_init)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* spi_read)(uint8_t reg, uint8_t *buf, uint16_t len)
void(* receive_callback)(uint8_t type)
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* spi_deinit)(void)
void(* dmp_orient_callback)(uint8_t orientation)
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
mpu6500 information structure definition
uint32_t driver_version
char manufacturer_name[32]