109 lines
2.2 KiB
C
109 lines
2.2 KiB
C
#ifndef _SCR_SETTING_PROGRAM_OUT_H_
|
||
#define _SCR_SETTING_PROGRAM_OUT_H_
|
||
|
||
#include "apps_gather.h"
|
||
|
||
//输出方式
|
||
#define PROG_OUT_V 0
|
||
#define PROG_OUT_MA 1
|
||
|
||
//输出模式
|
||
#define PROG_OUT_STEP 0
|
||
#define PROG_OUT_TRIANGLE 1
|
||
|
||
//最大循环次数
|
||
#define CIRCULATIONS_MAX 10
|
||
|
||
//三角波每个周期的间隔数量
|
||
#define TRIANLE_PLOT_INTERVAL_MAX 20
|
||
|
||
//CONFIG1
|
||
#define CONF1_OUTPUT_UNIT 0
|
||
#define CONF1_OUTPUT_MODE 1
|
||
#define CONF1_CIRCULATIONS 2
|
||
#define CONF1_NEXT 3
|
||
|
||
//CONFIG2_STEP
|
||
#define CONF2_OUTPUT_MODE 0
|
||
#define CONF2_START_PERCENT 1
|
||
#define CONF2_END_PERCENT 2
|
||
#define CONF2_STEP_PERCENT 3
|
||
#define CONF2_HOLD_TIME 4
|
||
#define CONF2_RISING_PERCENT 5
|
||
#define CONF2_FALLING_PERCENT 6
|
||
#define CONF2_PERIOD 7
|
||
|
||
typedef enum
|
||
{
|
||
PROGOUT_WAITING = 0,
|
||
PROGOUT_START,
|
||
PROGOUT_RUNNING,
|
||
PROGOUT_END
|
||
}PROGRAM_OUT_PROCESS;
|
||
|
||
typedef struct
|
||
{
|
||
uint8_t output_unit;
|
||
uint8_t output_mode;
|
||
uint8_t circulations;
|
||
uint16_t hold_time;
|
||
uint8_t start_percent;
|
||
uint8_t end_percent;
|
||
uint8_t step_percent;
|
||
uint8_t rising_percent;
|
||
uint8_t falling_percent;
|
||
uint16_t period;
|
||
|
||
PROGRAM_OUT_PROCESS process;
|
||
int16_t out_max;
|
||
int16_t out_min;
|
||
uint8_t out_percent; //当前输出百分比
|
||
}PROGRAM_OUT_DATA;
|
||
|
||
extern PROGRAM_OUT_DATA progout_data;
|
||
extern uint8_t cursor_conf1;
|
||
extern uint8_t cursor_conf1_prv;
|
||
extern uint8_t cursor_conf2;
|
||
extern uint8_t cursor_conf2_prv;
|
||
|
||
//初始化相关参数
|
||
void program_out_init(void);
|
||
|
||
//初始化config1界面
|
||
void program_out_config1(void);
|
||
|
||
//更新config1右列文本内容
|
||
void text_update_conf1(uint8_t con);
|
||
|
||
//修改config1右列值
|
||
void val_modify_conf1(int8_t step);
|
||
|
||
//初始化config2界面
|
||
void program_out_config2(void);
|
||
|
||
//更新config2右列文本内容
|
||
void text_update_conf2(uint8_t con);
|
||
|
||
//修改config2右列值
|
||
void val_modify_conf2(int8_t step);
|
||
|
||
//执行编程输出流程
|
||
void program_out_run(void);
|
||
|
||
//执行编程输出,阶跃
|
||
void program_out_step(void);
|
||
|
||
//执行编程输出,三角波
|
||
void program_out_triangle(void);
|
||
|
||
//置于mux任务内,实时性更强
|
||
void running_process_step(void);
|
||
|
||
//置于mux任务内,实时性更强
|
||
void running_process_triangle(void);
|
||
|
||
//百分比转化为数值输出, perc:[0, 100]
|
||
void percent2val_out(float32 perc);
|
||
|
||
#endif
|