pika_hal_utils.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef _PIKA_HAL_UTILS_H
  2. #define _PIKA_HAL_UTILS_H
  3. #include <stdint.h>
  4. #include "pika_hal.h"
  5. /* error handler */
  6. void pika_hal_utils_error_handler(int err,
  7. const char* file,
  8. int line,
  9. const char* func);
  10. /* common utils */
  11. int pika_hal_utils_enable(pika_dev* dev);
  12. int pika_hal_utils_disable(pika_dev* dev);
  13. /* GPIO utils */
  14. int pika_hal_utils_GPIO_config(pika_dev* dev, pika_hal_GPIO_config* cfg);
  15. int pika_hal_utils_GPIO_set_mode(pika_dev* dev,
  16. PIKA_HAL_GPIO_DIR dir,
  17. PIKA_HAL_GPIO_PULL pull);
  18. int pika_hal_utils_GPIO_set_dir(pika_dev* dev, PIKA_HAL_GPIO_DIR dir);
  19. int pika_hal_utils_GPIO_set_pull(pika_dev* dev, PIKA_HAL_GPIO_PULL pull);
  20. int pika_hal_utils_GPIO_write(pika_dev* dev, uint32_t val);
  21. uint32_t pika_hal_utils_GPIO_read(pika_dev* dev);
  22. /* UART utils */
  23. int pika_hal_utils_UART_config(pika_dev* dev, pika_hal_UART_config* cfg);
  24. /* IIC utils */
  25. int pika_hal_utils_IIC_config(pika_dev* dev, pika_hal_IIC_config* cfg);
  26. int pika_hal_utils_IIC_mem_read(pika_dev* dev,
  27. uint32_t mem_addr,
  28. uint32_t mem_addr_size,
  29. uint8_t* data,
  30. uint32_t size);
  31. int pika_hal_utils_IIC_mem_write(pika_dev* dev,
  32. uint32_t mem_addr,
  33. uint32_t mem_addr_size,
  34. uint8_t* data,
  35. uint32_t size);
  36. int pika_hal_utils_IIC_set_slave_addr(pika_dev* dev, uint32_t slave_addr);
  37. int pika_hal_utils_IIC_write(pika_dev* dev, uint8_t* data, uint32_t size);
  38. int pika_hal_utils_IIC_read(pika_dev* dev, uint8_t* data, uint32_t size);
  39. /* SPI utils */
  40. int pika_hal_utils_SPI_config(pika_dev* dev, pika_hal_SPI_config* cfg);
  41. int pika_hal_utils_SPI_transfer(pika_dev* dev,
  42. uint8_t* txbuff,
  43. uint8_t* rxbuff,
  44. uint32_t size);
  45. /* ADC utils */
  46. int pika_hal_utils_ADC_config(pika_dev* dev, pika_hal_ADC_config* cfg);
  47. uint32_t pika_hal_utils_ADC_read(pika_dev* dev);
  48. /* DAC utils */
  49. int pika_hal_utils_DAC_config(pika_dev* dev, pika_hal_DAC_config* cfg);
  50. int pika_hal_utils_DAC_write(pika_dev* dev, uint32_t val);
  51. /* PWM utils */
  52. int pika_hal_utils_PWM_config(pika_dev* dev, pika_hal_PWM_config* cfg);
  53. int pika_hal_utils_PWM_set_period(pika_dev* dev, PIKA_HAL_PWM_PERIOD period);
  54. int pika_hal_utils_PWM_set_duty(pika_dev* dev, PIKA_HAL_PWM_DUTY duty);
  55. /* SOFT_SPI utils */
  56. int pika_hal_utils_SOFT_SPI_config(pika_dev* dev,
  57. pika_hal_SOFT_SPI_config* cfg);
  58. /* SOFT_IIC utils */
  59. int pika_hal_utils_SOFT_IIC_config(pika_dev* dev,
  60. pika_hal_SOFT_IIC_config* cfg);
  61. /* WIFI utils */
  62. int pika_hal_utils_WIFI_config(pika_dev* dev, pika_hal_WIFI_config* cfg);
  63. /* SG utils */
  64. int pika_hal_utils_SG_config(pika_dev* dev, pika_hal_SG_config* cfg);
  65. pika_float pika_hal_utils_SG_read(pika_dev* dev);
  66. #endif