DockerFluxDC/components/user_power_task/user_power_task.h

94 lines
2.2 KiB
C
Raw Normal View History

/**
* @file FluxButton.h
* @brief
*
* IO编号
*
* @author wang xiang en
* @date 2025-04-18
* @version
* @copyright (C)2025, YUWELL MEDTECH Co.ltd
*/
#ifndef _FLUX_BUTTON_H
#define _FLUX_BUTTON_H
#ifdef __cplusplus
extern "C" {
#endif
/* Include external button component header files */
#include "iot_button.h"
#include "esp_log.h"
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "esp_mac.h"
#include "user_common.h"
#include "driver/ledc.h"
/* 定义电源输入IO编号 */
#define BUTTON_POWER_IN_IO_NUM GPIO_NUM_10
#define BUTTON_POWER_OUT_IO_NUM GPIO_NUM_11
/* 定义电源输出电平 */
#define POWER_OFF_OUT_LEVEL (0)
#define POWER_ON_OUT_LEVEL (1)
/* 定义按键电平 */
#define BUTTON_ACTIVE_LEVEL (0)
#define BUTTON_POWERIN_ACTIVE_LEVEL (1)
#define USE_LCD_BACKLIGHT_CLOSE (0)
/* 定义背光相关参数 */
#define LEDC_TIMER LEDC_TIMER_0
#define LEDC_MODE LEDC_LOW_SPEED_MODE
#define LEDC_OUTPUT_IO GPIO_NUM_3 // Define the output GPIO
#define LEDC_CHANNEL LEDC_CHANNEL_0
#define LEDC_DUTY_RES LEDC_TIMER_13_BIT // Set duty resolution to 13 bits
#define LEDC_DUTY (4096) // Set duty to 50%. (2 ** 13) * 50% = 4096
#define LEDC_FREQUENCY (4000) // Frequency in Hertz. Set frequency at 4 kHz
#define DEFAULT_LIGHT (4096)
/**
* @brief
*
*
*/
enum button_cmd_t
{
BUTTON_CMD_POWER_ON,
BUTTON_CMD_POWER_OFF,
};
/**
* @brief
*
* LDO芯片电源输出
*/
#define POWER_OFF gpio_set_level(BUTTON_POWER_OUT_IO_NUM, POWER_OFF_OUT_LEVEL);
/**
* @brief
*
* 使LDO芯片电源输出
*/
#define POWER_ON gpio_set_level(BUTTON_POWER_OUT_IO_NUM, POWER_ON_OUT_LEVEL);
// 上电后初始化电源管理任务 包括电源使能及采样gpio 亮度调节等
void power_manager_task(void* arg);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /*_FLUX_BUTTON_H*/