45 lines
3.4 KiB
C
45 lines
3.4 KiB
C
/**
|
|
* @file convert.h
|
|
* @author xxx
|
|
* @date 2023-08-29 07:58:27
|
|
* @brief 头文件 convert.h
|
|
* @copyright Copyright (c) 2023 by xxx, All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef __CONVERT_H__
|
|
#define __CONVERT_H__
|
|
#include "lib.h"
|
|
#include "main.h"
|
|
#include "entity.h"
|
|
|
|
#define CURRENT_PERCENT(x) ((x - LOOP_CURRENT_MIN) / (LOOP_CURRENT_MAX - LOOP_CURRENT_MIN)) ///> 电流百分比
|
|
|
|
extern void calib_param_calculate(calibration_e index, int16_t offset, int16_t span, float32 min, float32 max); // 校准参数计算
|
|
extern float32 adc_linear_conversion(calibration_e index, uint16_t adc); // AD值线性转换
|
|
extern void dev_serial_number_to_string(char *s, uint8_t *sn, uint8_t len, uint8_t interval, char *fix); // 16进制转ASCII字符串
|
|
extern void hart_long_address_to_string(char *s, uint8_t *sn, uint8_t len); // HART长地址转字符串
|
|
extern float32 i2psb(float32 in); // 输入电流转换成需要控制的阀门开度
|
|
extern float32 temperature_c2unit(float32 in, uint16_t unit); // 温度值转换:摄氏度转华氏度
|
|
extern float32 pressure_unit2kpa(float32 in, uint16_t unit); // 压力单位转换,单位转kPa
|
|
extern float32 pressure_kpa2unit(float32 kpa, uint16_t unit); // 压力值转换, kPa转单位
|
|
|
|
extern uint32_t dev_serial_num_deal(void); // 设备序列号处理
|
|
extern float32 small_signal_deal(float32 in); // 小信号切除处理
|
|
extern float32 dead_zone_deal(float32 in); // 死区处理
|
|
extern float32 part_travel_deal(float32 in); // 分程处理
|
|
extern void pwm_output_deal(float32 in); // PWM输出处理
|
|
extern void swo_output_deal(float32 in); // SWO输出处理
|
|
extern float32 target_travel_deal(float32 in); // 目标行程处理
|
|
extern void actual_travel_deal(float32 in); // 实际行程处理
|
|
extern float32 get_show_actual_travel(float32 tag, float32 cur, float32 err); // 获取显示实际行程
|
|
extern float32 get_show_travel(float32 in); // 获取显示行程
|
|
extern float32 get_pid_travel(float32 in); // 获取PID控制行程
|
|
extern void get_pressure_unit(char *s, uint16_t unit); // 获取压力单位
|
|
extern BOOL pressure_unit_need_decimal_display(uint16_t unit); // 压力单位是否需要小数显示
|
|
extern float32 voltage2pressure(float32 voltage_ad); // 电压转压力
|
|
extern float32 get_pressure_limit_deal(float32 in, uint16_t unit); // 获取压力限制处理
|
|
extern float32 pressure_to_percent(float32 pressure); // 压力转百分比
|
|
extern BOOL is_double_acting(void); // 是否双作用
|
|
extern void last_tuned_state_update(void); // 上次整定状态更新
|
|
#endif // __CONVERT_H__
|