One Framework 0.1.0
RoboMaster嵌入式框架“一键”解决方案,为你的“创意”服务。
载入中...
搜索中...
未找到
pwm_heater.c 文件参考
#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/pwm.h>
#include <zephyr/drivers/sensor.h>
#include <zephyr/logging/log.h>
#include "OF/drivers/sensor/pwm_heater.h"
#include "OneMotor/Control/pid_c_api.h"
pwm_heater.c 的引用(Include)关系图:

结构体

struct  pwm_heater_config
 
struct  pwm_heater_data
 

宏定义

#define DT_DRV_COMPAT   pwm_heater
 
#define PWM_HEATER_INIT(inst)
 

函数

 LOG_MODULE_REGISTER (pwm_heater, CONFIG_PWM_HEATER_LOG_LEVEL)
 
static void pwm_heater_work_handler (struct k_work *work)
 
static int pwm_heater_init (const struct device *dev)
 
int pwm_heater_get_current_temp (const struct device *dev, int32_t *temp_celsius)
 获取加热器当前温度
 
int pwm_heater_enable (const struct device *dev)
 启用加热器
 
int pwm_heater_disable (const struct device *dev)
 禁用加热器
 

变量

const PID_Params_t params
 

宏定义说明

◆ DT_DRV_COMPAT

#define DT_DRV_COMPAT   pwm_heater

◆ PWM_HEATER_INIT

#define PWM_HEATER_INIT ( inst)
值:
static const struct pwm_heater_config pwm_heater_config_##inst = { \
.pwm = PWM_DT_SPEC_INST_GET(inst), \
.temp_sensor = DEVICE_DT_GET(DT_INST_PHANDLE(inst, temp_sensor)), \
.temp_channel = DT_INST_PROP(inst, temp_channel), \
}; \
\
static struct pwm_heater_data pwm_heater_data_##inst; \
\
DEVICE_DT_INST_DEFINE(inst, \
NULL, \
&pwm_heater_data_##inst, \
&pwm_heater_config_##inst, \
POST_KERNEL, \
CONFIG_PWM_HEATER_INIT_PRIORITY, \
NULL);
static int pwm_heater_init(const struct device *dev)
定义 pwm_heater.c:142
定义 pwm_heater.c:17
定义 pwm_heater.c:23

函数说明

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( pwm_heater ,
CONFIG_PWM_HEATER_LOG_LEVEL  )

◆ pwm_heater_disable()

int pwm_heater_disable ( const struct device * dev)

禁用加热器

参数
dev加热器设备
返回
0表示成功,负数表示错误

◆ pwm_heater_enable()

int pwm_heater_enable ( const struct device * dev)

启用加热器

参数
dev加热器设备
返回
0表示成功,负数表示错误

◆ pwm_heater_get_current_temp()

int pwm_heater_get_current_temp ( const struct device * dev,
int32_t * temp_celsius )

获取加热器当前温度

参数
dev加热器设备
temp_celsius指向存储当前温度的变量 (摄氏度x100)
返回
0表示成功,负数表示错误

◆ pwm_heater_init()

static int pwm_heater_init ( const struct device * dev)
static

◆ pwm_heater_work_handler()

static void pwm_heater_work_handler ( struct k_work * work)
static

变量说明

◆ params

const PID_Params_t params
初始值:
= {
.Kp = CONFIG_PWM_HEATER_PID_KP / 1000.0f,
.Ki = CONFIG_PWM_HEATER_PID_KI / 1000.0f,
.Kd = CONFIG_PWM_HEATER_PID_KD / 1000.0f,
.IntegralLimit = 50.0f,
.MaxOutput = 1000.0f,
.Deadband = CONFIG_PWM_HEATER_TEMP_TOLERANCE / 100.f,
}