/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file rf_device.h * * @author Yunhorn (r) Technology Limited Application Team * * @brief Yunhorn (r) SmarToilets (r) Product configuration file. * ****************************************************************************** * @attention * * Copyright (c) 2022 Yunhorn Technology Limited. * Copyright (c) 2022 Shenzhen Yunhorn Technology Co., Ltd. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ #ifndef RF_DEVICE_H #define RF_DEVICE_H #include /** * @brief HXD 芯片电源启动IO * */ #define HXD039B2_POWER_CTRL_GPIO 3 // 芯片使能IO /** * @brief 判忙IO ,低电平时处于学习状态,其他时间为高电平 * */ #define HXD039B2_BUSY_GPIO 1 /** * @brief HXD 芯片启动时间 * */ #define HXD_039B2_START_TIME_MS 70 /** * @brief 长时间无操作电源关闭,时长定义 * */ #define HXD_039B2_POWER_OFF_TIMEOUT_MS 2000 typedef enum { RF_CODE_BYTE_HANDLE = 0X30, RF_CODE_BYTE_DEV_TYPE = 0X06, RF_CODE_BYTE_DEV_OFF = 0X80, RF_CODE_BYTE_DEV_ON, RF_CODE_BYTE_DEV_MODE_AUTO = 0XA1, RF_CODE_BYTE_DEV_MODE_COOL, RF_CODE_BYTE_DEV_MODE_DRY, RF_CODE_BYTE_DEV_MODE_FAN_ONLY, RF_CODE_BYTE_DEV_MODE_HEAT, RF_CODE_BYTE_DEV_FAN_MODE_AUTO = 0X51, RF_CODE_BYTE_DEV_FAN_MODE_LOW, RF_CODE_BYTE_DEV_FAN_MODE_MEDIUM, RF_CODE_BYTE_DEV_FAN_MODE_HIGH, RF_CODE_BYTE_DEV_TREND_UP = 0X61, // 风向向上 RF_CODE_BYTE_DEV_TREND_MEDIUM, // 中间风向 RF_CODE_BYTE_DEV_TREND_DOWN, // 风向向下 RF_CODE_BYTE_DEV_TREND_AUTO_ON = 0X70, // 打开自动风向 RF_CODE_BYTE_DEV_TREND_AUTO_OFF, // 关闭自动风向 RF_CODE_BYTE_DEV_LIGHT_ON = 0XD0, // 打开灯光 RF_CODE_BYTE_DEV_LIGHT_OFF, // 关闭灯光 } rf_code_byte_t; void rf_device_init(void); void rf_device_get_service_period(uint8_t *service_periods); void rf_device_set_service_period(uint8_t *service_periods, uint8_t length); void rf_device_within_service_period_verify(uint8_t *in_service_period); void rf_device_get_humidity(int *humidity); void rf_code_set_slides(uint8_t slide_id); void rf_codec_start_learn(void); void rf_codec_set_power(uint8_t power_state); void rf_codec_set_mode(uint8_t mode); void rf_codec_set_show_seconds(uint8_t show_sec); void hxd_039b_uart_recv_cb(unsigned char uart_data); void hxd_039b2_save_ac_codeGrud(unsigned char *ac_codeGrud, int size_len); int hxd_039b2_get_ac_codeGrud(unsigned char *ac_codeGrud); #endif