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.

66 lines
1.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. #ifdef cplusplus
  4. extern "C" {
  5. #endif
  6. /**
  7. * @brief 48k音频数据32位音频数据
  8. *
  9. * @param data
  10. * @param len
  11. *
  12. */
  13. typedef void (*spisound_cb_t)(int32_t *data, uint32_t len);
  14. typedef enum {
  15. ksp_success,
  16. ksp_module_not_inited,
  17. ksp_module_has_started,
  18. ksp_create_thread_fail,
  19. ksp_init_spi_cs_pin_open_fail,
  20. ksp_init_spi_error_open_fail,
  21. ksp_init_spi_error_set_speed_fail,
  22. ksp_init_spi_error_set_nbits_fail,
  23. ksp_init_spi_error_set_mode_fail,
  24. } error_code_t;
  25. static inline const char *error_code_to_string(error_code_t code) {
  26. switch (code) {
  27. case ksp_success:
  28. return "success";
  29. case ksp_module_not_inited:
  30. return "module not inited";
  31. case ksp_module_has_started:
  32. return "module has started";
  33. case ksp_create_thread_fail:
  34. return "create thread fail";
  35. case ksp_init_spi_cs_pin_open_fail:
  36. return "init spi cs pin open fail";
  37. case ksp_init_spi_error_open_fail:
  38. return "init spi error open fail";
  39. case ksp_init_spi_error_set_speed_fail:
  40. return "init spi error set speed fail";
  41. case ksp_init_spi_error_set_nbits_fail:
  42. return "init spi error set nbits fail";
  43. case ksp_init_spi_error_set_mode_fail:
  44. return "init spi error set mode fail";
  45. default:
  46. return "unknown error";
  47. }
  48. }
  49. /**
  50. * @brief
  51. *
  52. * @param deviceName
  53. * @param callback
  54. */
  55. error_code_t spisound_init(const char *deviceName, int csgpionId, spisound_cb_t callback);
  56. error_code_t spisound_start_capture(void);
  57. const char *spisound_libversion();
  58. void spisound_dump_last_error();
  59. #ifdef cplusplus
  60. }
  61. #endif