WLE5CC_NODE_STS/STS/RC/rf_device.h

84 lines
2.9 KiB
C

/* 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 <stdint.h>
/**
* @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