You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.0 KiB
103 lines
2.0 KiB
////////////////////////////////////////////////////////////////////////////
|
|
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|
///-------------------------------------------------------------------------
|
|
/// @file bsp_drv.h
|
|
/// @brief bsp @ driver config
|
|
///-------------------------------------------------------------------------
|
|
/// @version 1.0
|
|
/// @author CC
|
|
/// @date 20180331
|
|
/// @note cc_AS_stc02
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _APP_TASK_ADC_H
|
|
#define _APP_TASK_ADC_H
|
|
|
|
#include "../app/app_config.h"
|
|
#include "../ctask/task.h"
|
|
#include "../clib/clib.h"
|
|
|
|
|
|
#define ADC_CHANNEL_STATUS_UNREADY 0 //UnReady状态,不能读取
|
|
#define ADC_CHANNEL_STATUS_READY 1 //ready状态,可以读取
|
|
|
|
//AD_CHANNEL_SAMPLE 采样
|
|
#define MAX_OUT_NUM 6
|
|
typedef struct _s_task_adc_channel_sample
|
|
{
|
|
TS_task task;
|
|
vU8 status;
|
|
vU8 ch;
|
|
vU32 adcval;
|
|
vU32 pool;
|
|
vU8 n;
|
|
vU32 out[MAX_OUT_NUM];
|
|
}S_TASK_ADC_CHANNEL_SAMPLE;
|
|
|
|
//AD_BLUR_MID 中值滤波
|
|
typedef struct _s_task_adc_blur_mid
|
|
|
|
{
|
|
TS_task task;
|
|
vU8 ch;
|
|
vU8 max;
|
|
vU32 in[MAX_OUT_NUM];
|
|
vU32 midval;
|
|
vU8 n;
|
|
vU32 out[MAX_OUT_NUM];
|
|
}S_TASK_ADC_BLUR_MID;
|
|
|
|
//AD_BLUR_AVG 均值滤波
|
|
typedef struct _s_task_adc_blur_avg
|
|
{
|
|
TS_task task;
|
|
vU8 ch;
|
|
vU8 max;
|
|
vU32 in[MAX_OUT_NUM];
|
|
vU32 avgval;
|
|
vU8 n;
|
|
vU32 out[MAX_OUT_NUM];
|
|
}S_TASK_ADC_BLUR_AVG;
|
|
|
|
//AD_BLUR_SHIFT 移位滤波
|
|
typedef struct _s_task_adc_blur_shift
|
|
{
|
|
TS_task task;
|
|
vU8 ch;
|
|
vU8 n;
|
|
vU8 h;
|
|
vU8 shiftreg[3];
|
|
//vU8 max;
|
|
vU32 in;
|
|
vU32 sum[3];
|
|
vU32 shiftval[3];
|
|
vU32 out[3][MAX_OUT_NUM];
|
|
}S_TASK_ADC_BLUR_SHIFT;
|
|
|
|
//AD_BLUR_DECIDE 输出判定
|
|
typedef struct _s_task_adc_blur_out
|
|
{
|
|
TS_task task;
|
|
vU8 ch;
|
|
vU32 in[2];
|
|
U32 threshold[2];
|
|
vU8 h;
|
|
vU8 oldnum;
|
|
vU8 newnum;
|
|
vU32 newout;
|
|
vU8 n;
|
|
}S_TASK_ADC_BLUR_OUT;
|
|
|
|
//AD_BLUR_SHOW 显示
|
|
typedef struct _s_task_adc_blur_show
|
|
{
|
|
TS_task task;
|
|
vU32 rough_weight;
|
|
}S_TASK_ADC_BLUR_SHOW;
|
|
|
|
|
|
|
|
|
|
#endif // #ifndef _APP_TASK_ADC_H
|
|
|
|
|