You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
876 B

3 years ago
  1. /**
  2. * @file qma7981.h
  3. * @brief
  4. * @version 0.1
  5. * @date 2021-09-01
  6. *
  7. * @copyright Copyright (c) 2021
  8. *
  9. */
  10. #pragma once
  11. #include <stdint.h>
  12. #include "esp_err.h"
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. typedef enum {
  17. QMA_RANGE_2G = 0b0001,
  18. QMA_RANGE_4G = 0b0010,
  19. QMA_RANGE_8G = 0b0100,
  20. QMA_RANGE_16G = 0b1000,
  21. QMA_RANGE_32G = 0b1111,
  22. } qma_range_t; /* Others will be 2G */
  23. typedef enum {
  24. QMA_BANDWIDTH_128_HZ = 0b111,
  25. QMA_BANDWIDTH_256_HZ = 0b110,
  26. QMA_BANDWIDTH_1024_HZ = 0b101,
  27. } qma_bandwidth_t;
  28. /**
  29. * @brief
  30. *
  31. * @return esp_err_t
  32. */
  33. esp_err_t qma7981_init(void);
  34. /**
  35. * @brief
  36. *
  37. * @param range
  38. * @return esp_err_t
  39. */
  40. esp_err_t qma7981_set_range(qma_range_t range);
  41. /**
  42. * @brief
  43. *
  44. * @param x
  45. * @param y
  46. * @param z
  47. * @return esp_err_t
  48. */
  49. esp_err_t qma7981_get_acce(float *x, float *y, float *z);
  50. #ifdef __cplusplus
  51. }
  52. #endif