100 lines
2.0 KiB
C
100 lines
2.0 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
|
|
|
|
//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);
|
|
|
|
//百分比转化为数值输出, perc:[0, 100]
|
|
void percent2val_out(float32 perc);
|
|
|
|
#endif
|