user_driver.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef __USER_DRIVER_H
  2. #define __USER_DRIVER_H
  3. #include "yc11xx_pwm.h"
  4. #include "system.h"
  5. #define firmware_version "YC1166_V1.0.0" // 固件版本号
  6. #define firmware_is_mic 0 //是否支持mic
  7. #define userset_mac_en 1 //是否设置mac地址 量产时一定关闭 否则批量烧录时设置不了mac地址
  8. /*双面板大板io*/
  9. #define PWM_CHANCE_B (25)
  10. #define PWM_CHANCE_R (24)
  11. #define PWM_CHANCE_G (0)
  12. //试产单面板
  13. //#define PWM_CHANCE_B (24)
  14. //#define PWM_CHANCE_R (25)
  15. //#define PWM_CHANCE_G (0)
  16. /*小板io*/
  17. //#define PWM_CHANCE_B (24)
  18. //#define PWM_CHANCE_R (25)
  19. //#define PWM_CHANCE_G (0)
  20. #define BLE_SEND_HANDLE 0x001e
  21. #define NEC_ENABLE 0
  22. #define ADC_GET_GPIOx 23
  23. #define NEC_GPIO 31
  24. #define FREQUENCY_DIVISION_0 0x0 //48M
  25. #define FREQUENCY_DIVISION_1 0x1 //24M
  26. #define FREQUENCY_DIVISION_2 0x2 //12M
  27. #define FREQUENCY_DIVISION_3 0x3 //6M
  28. #define FREQUENCY_DIVISION_4 0x4 //3M
  29. #define FREQUENCY_DIVISION_5 0x5 //1.5M
  30. #define FREQUENCY_DIVISION_6 0x6 //0.75M
  31. #define FREQUENCY_DIVISION_7 0x7 //0.375
  32. #define IS_FREQUENCY_DIVISION(FREQUENCY) ((FREQUENCY <= FREQUENCY_DIVISION_7))
  33. //#define HAL_MIN_48M_MIN_FREQUENCY ((48000000)/65535)
  34. #define HAL_MIN_48M_MIN_FREQUENCY ((48000000)/60000)
  35. #define HAL_MAX_48M_MAX_FREQUENCY (48000000>>1)
  36. #define HAL_MIN_24M_MIN_FREQUENCY ((24000000)/60000)
  37. #define HAL_MAX_24M_MAX_FREQUENCY (24000000>>1)
  38. #define HAL_MIN_12M_MIN_FREQUENCY ((12000000)/60000)
  39. #define HAL_MAX_12M_MAX_FREQUENCY (12000000>>1)
  40. #define HAL_MIN_6M_MIN_FREQUENCY ((6000000)/60000)
  41. #define HAL_MAX_6M_MAX_FREQUENCY (6000000>>1)
  42. #define HAL_MIN_3M_MIN_FREQUENCY ((3000000)/60000)
  43. #define HAL_MAX_3M_MAX_FREQUENCY (3000000>>1)
  44. #define HAL_MIN_1500K_MIN_FREQUENCY ((1500000)/60000)
  45. #define HAL_MAX_1500K_MAX_FREQUENCY (1500000>>1)
  46. #define HAL_MIN_750K_MIN_FREQUENCY ((750000)/60000)
  47. #define HAL_MAX_750K_MAX_FREQUENCY (750000>>1)
  48. #define HAL_MIN_375K_MIN_FREQUENCY ((375000)/65535)
  49. #define HAL_MAX_375K_MAX_FREQUENCY (375000>>1)
  50. void delay_us(uint32_t num);
  51. void Hal_Set_OutPWM(GPIO_NUM gpio, PWM_ChxTypeDef pwm_channel,uint32_t frequecy,uint32_t percent);
  52. void audio_dma_handle(void);
  53. enum //pwm
  54. {
  55. RED_PWM_CHANNEL,
  56. GREEN_PWM_CHANNEL,
  57. BLUE_PWM_CHANNEL,
  58. };
  59. typedef struct SYSTEM_TIME_HANDLE
  60. {
  61. void (*init)(void);
  62. void (*run_tickcnt)(void);
  63. unsigned int (*get_run_ticks)(void);
  64. unsigned int (*get_run_tickms)(void);
  65. }sys_time_handle_t;
  66. extern sys_time_handle_t sys_time_handle;
  67. void u_ble_data_send(uint8_t *send_data, uint8_t send_len);
  68. void flash_write_data (uint8_t *buffer, uint32_t address, uint32_t len);
  69. void flash_read_data (uint8_t *buffer, uint32_t address, uint32_t len);
  70. void flash_erase_sector(uint32_t address);
  71. extern volatile uint8_t ble_connected_state;
  72. extern volatile uint8_t g_ir_recv_done_flag;
  73. void user_set_pwmout_dutycycle(uint8_t channel,uint32_t duty);
  74. void firmware_mic_check_init(void);//判断是否支持mic功能
  75. uint8_t get_mic_audio_value(void); //获取mic adc检测数据
  76. uint16_t get_shortout_adc_value(void);//获取短路保护引脚的adc值
  77. void user_driver_init(void); //用户驱动初始化
  78. uint8_t *get_decode_value(void);
  79. void read_otp_values(void);
  80. #endif