mpu6xxx_sample.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-10-23 flybreak the first version
  9. */
  10. #include <rtthread.h>
  11. #include "mpu6xxx.h"
  12. /* Default configuration, please change according to the actual situation, support i2c and spi device name */
  13. #define MPU6XXX_DEVICE_NAME "i2c2"
  14. /* Test function */
  15. static int mpu6xxx_test()
  16. {
  17. struct mpu6xxx_device *dev;
  18. struct mpu6xxx_3axes accel, gyro;
  19. int i;
  20. /* Initialize mpu6xxx, The parameter is RT_NULL, means auto probing for i2c*/
  21. dev = mpu6xxx_init(MPU6XXX_DEVICE_NAME, RT_NULL);
  22. if (dev == RT_NULL)
  23. {
  24. rt_kprintf("mpu6xxx init failed\n");
  25. return -1;
  26. }
  27. rt_kprintf("mpu6xxx init succeed\n");
  28. for (i = 0; i < 5; i++)
  29. {
  30. mpu6xxx_get_accel(dev, &accel);
  31. mpu6xxx_get_gyro(dev, &gyro);
  32. rt_kprintf("accel.x = %3d, accel.y = %3d, accel.z = %3d ", accel.x, accel.y, accel.z);
  33. rt_kprintf("gyro.x = %3d gyro.y = %3d, gyro.z = %3d\n", gyro.x, gyro.y, gyro.z);
  34. rt_thread_mdelay(100);
  35. }
  36. mpu6xxx_deinit(dev);
  37. return 0;
  38. }
  39. MSH_CMD_EXPORT(mpu6xxx_test, mpu6xxx sensor test function);