@@ -23,166 +23,166 @@ static tS32 Ret;
23
23
/*********************************************************************************/
24
24
inline static void InToBuf (tag_DataSampling * Smp , tU8 Idx , tS32 Data )
25
25
{
26
- switch (Smp -> DataSize )
27
- {
28
- case sizeof (tS8 ) : pS8 = (tS8 * ) Smp -> Buf ; pS8 [Idx ] = Data ; break ;
29
- case sizeof (tS16 ) : pS16 = (tS16 * ) Smp -> Buf ; pS16 [Idx ] = Data ; break ;
30
- case sizeof (tS32 ) : pS32 = (tS32 * ) Smp -> Buf ; pS32 [Idx ] = Data ; break ;
31
- }
26
+ switch (Smp -> DataSize )
27
+ {
28
+ case sizeof (tS8 ) : pS8 = (tS8 * ) Smp -> Buf ; pS8 [Idx ] = Data ; break ;
29
+ case sizeof (tS16 ) : pS16 = (tS16 * ) Smp -> Buf ; pS16 [Idx ] = Data ; break ;
30
+ case sizeof (tS32 ) : pS32 = (tS32 * ) Smp -> Buf ; pS32 [Idx ] = Data ; break ;
31
+ }
32
32
}
33
33
/*********************************************************************************/
34
34
inline static tS32 OutFromBuf (tag_DataSampling * Smp , tU8 Idx )
35
35
{
36
- switch (Smp -> DataSize )
37
- {
38
- case sizeof (tS8 ) : pS8 = (tS8 * ) Smp -> Buf ; Ret = pS8 [Idx ]; break ;
39
- case sizeof (tS16 ) : pS16 = (tS16 * ) Smp -> Buf ; Ret = pS16 [Idx ]; break ;
40
- case sizeof (tS32 ) : pS32 = (tS32 * ) Smp -> Buf ; Ret = pS32 [Idx ]; break ;
41
- }
42
-
43
- return Ret ;
36
+ switch (Smp -> DataSize )
37
+ {
38
+ case sizeof (tS8 ) : pS8 = (tS8 * ) Smp -> Buf ; Ret = pS8 [Idx ]; break ;
39
+ case sizeof (tS16 ) : pS16 = (tS16 * ) Smp -> Buf ; Ret = pS16 [Idx ]; break ;
40
+ case sizeof (tS32 ) : pS32 = (tS32 * ) Smp -> Buf ; Ret = pS32 [Idx ]; break ;
41
+ }
42
+
43
+ return Ret ;
44
44
}
45
45
/*********************************************************************************/
46
46
/*
47
- 1) 인수
48
- - Smp : tag_DataSampling 인스턴스의 주소.
49
- - Data : 버퍼를 채울 데이터.
47
+ 1) 인수
48
+ - Smp : tag_DataSampling 인스턴스의 주소.
49
+ - Data : 버퍼를 채울 데이터.
50
50
51
- 2) 반환
52
- - 없음.
51
+ 2) 반환
52
+ - 없음.
53
53
54
- 3) 설명
55
- - 인수로 전달받은 데이터로 버퍼를 채움.
54
+ 3) 설명
55
+ - 인수로 전달받은 데이터로 버퍼를 채움.
56
56
*/
57
57
static void FillBuffer (tag_DataSampling * Smp , tS32 Data )
58
58
{
59
- tS16 i ;
60
-
61
- Smp -> Sum = Smp -> Index = 0 ;
62
- for (i = 0 ; i < Smp -> Level ; i ++ )
63
- {
64
- InToBuf (Smp , i , Data );
65
- Smp -> Sum += Data ;
66
- }
59
+ tS16 i ;
60
+
61
+ Smp -> Sum = Smp -> Index = 0 ;
62
+ for (i = 0 ; i < Smp -> Level ; i ++ )
63
+ {
64
+ InToBuf (Smp , i , Data );
65
+ Smp -> Sum += Data ;
66
+ }
67
67
}
68
68
/*********************************************************************************/
69
69
/*
70
- 1) 인수
71
- - Smp : tag_DataSampling 인스턴스의 주소.
72
- - BufSize : 동적할당 받을 버퍼의 크기.
70
+ 1) 인수
71
+ - Smp : tag_DataSampling 인스턴스의 주소.
72
+ - BufSize : 동적할당 받을 버퍼의 크기.
73
73
74
- 2) 반환
75
- - 0 : 초기화 실패.
76
- - 1 : 초기화 성공.
74
+ 2) 반환
75
+ - 0 : 초기화 실패.
76
+ - 1 : 초기화 성공.
77
77
78
- 3) 설명
79
- - 'tag_DataSampling' 인스턴스의 필수 초기화 실행.
80
- - DataSampling 모듈을 사용하기 위해 선행적 실행 필요.
78
+ 3) 설명
79
+ - 'tag_DataSampling' 인스턴스의 필수 초기화 실행.
80
+ - DataSampling 모듈을 사용하기 위해 선행적 실행 필요.
81
81
*/
82
82
tU8 DataSamplingInitGeneral (tag_DataSampling * Smp , tS16 BufSize , tS8 DataSize )
83
83
{
84
- if (Smp -> Bit .InitGeneral == true)
85
- {
86
- return true;
87
- }
88
-
89
- if ((DataSize != sizeof (tS8 )) && (DataSize != sizeof (tS16 )) && (DataSize != sizeof (tS32 )))
90
- {
91
- return false;
92
- }
93
-
94
- Smp -> DataSize = DataSize ;
95
-
96
- Smp -> Buf = malloc (Smp -> DataSize * BufSize );
97
-
98
- if (Smp -> Buf != null )
99
- {
100
- Smp -> Level = Smp -> BufSize = BufSize ;
101
- Smp -> Sum = Smp -> Index = 0 ;
102
- Smp -> Bit .InitGeneral = true;
103
- }
104
-
105
- return Smp -> Bit .InitGeneral ;
84
+ if (Smp -> Bit .InitGeneral == true)
85
+ {
86
+ return true;
87
+ }
88
+
89
+ if ((DataSize != sizeof (tS8 )) && (DataSize != sizeof (tS16 )) && (DataSize != sizeof (tS32 )))
90
+ {
91
+ return false;
92
+ }
93
+
94
+ Smp -> DataSize = DataSize ;
95
+
96
+ Smp -> Buf = malloc (Smp -> DataSize * BufSize );
97
+
98
+ if (Smp -> Buf != null )
99
+ {
100
+ Smp -> Level = Smp -> BufSize = BufSize ;
101
+ Smp -> Sum = Smp -> Index = 0 ;
102
+ Smp -> Bit .InitGeneral = true;
103
+ }
104
+
105
+ return Smp -> Bit .InitGeneral ;
106
106
}
107
107
/*********************************************************************************/
108
108
/*
109
- 1) 인수
110
- - Smp : tag_DataSampling 인스턴스의 주소.
111
- - Level : 변경할 샘플링 수준.
109
+ 1) 인수
110
+ - Smp : tag_DataSampling 인스턴스의 주소.
111
+ - Level : 변경할 샘플링 수준.
112
112
113
- 2) 반환
114
- - 없음.
113
+ 2) 반환
114
+ - 없음.
115
115
116
- 3) 설명
117
- - 샘플링 수준(Level) 변경.
116
+ 3) 설명
117
+ - 샘플링 수준(Level) 변경.
118
118
*/
119
119
void DataSamplingChangeLevel (tag_DataSampling * Smp , tS16 Level )
120
120
{
121
- if ((Smp -> Bit .InitGeneral == false) || (Smp -> Bit .InitFillBuffer == false))
122
- {
123
- return ;
124
- }
125
-
126
- if ((Smp -> Level != Level ) && (1 <= Level ) && (Level <= Smp -> Level ))
127
- {
128
- Smp -> Level = Level ;
129
- FillBuffer (Smp , OutFromBuf (Smp , 0 ));
130
- }
121
+ if ((Smp -> Bit .InitGeneral == false) || (Smp -> Bit .InitFillBuffer == false))
122
+ {
123
+ return ;
124
+ }
125
+
126
+ if ((Smp -> Level != Level ) && (1 <= Level ) && (Level <= Smp -> Level ))
127
+ {
128
+ Smp -> Level = Level ;
129
+ FillBuffer (Smp , OutFromBuf (Smp , 0 ));
130
+ }
131
131
}
132
132
/*********************************************************************************/
133
133
/*
134
- 1) 인수
135
- - Smp : tag_DataSampling 인스턴스의 주소.
136
- - Data : 데이터.
134
+ 1) 인수
135
+ - Smp : tag_DataSampling 인스턴스의 주소.
136
+ - Data : 데이터.
137
137
138
- 2) 반환
139
- - Result : 샘플링된 데이터.
138
+ 2) 반환
139
+ - Result : 샘플링된 데이터.
140
140
141
- 3) 설명
142
- - ring buffer 형식으로 데이터를 입력 받아 평균을 내어 샘플링.
141
+ 3) 설명
142
+ - ring buffer 형식으로 데이터를 입력 받아 평균을 내어 샘플링.
143
143
*/
144
144
tS32 DataSamplingGetData (tag_DataSampling * Smp , tS32 Data )
145
145
{
146
- tS32 Result ;
146
+ tS32 Result ;
147
147
148
- if (Smp -> Bit .InitGeneral == false)
149
- {
150
- return 0 ;
151
- }
148
+ if (Smp -> Bit .InitGeneral == false)
149
+ {
150
+ return 0 ;
151
+ }
152
152
153
- if (Smp -> Bit .InitFillBuffer == false)
154
- {
155
- Smp -> Bit .InitFillBuffer = true;
156
- FillBuffer (Smp , Data );
157
- }
153
+ if (Smp -> Bit .InitFillBuffer == false)
154
+ {
155
+ Smp -> Bit .InitFillBuffer = true;
156
+ FillBuffer (Smp , Data );
157
+ }
158
158
159
- Smp -> Sum -= OutFromBuf (Smp , Smp -> Index );
160
- InToBuf (Smp , Smp -> Index , Data );
161
- Smp -> Sum += OutFromBuf (Smp , Smp -> Index );
162
- Result = Smp -> Sum / Smp -> Level ;
159
+ Smp -> Sum -= OutFromBuf (Smp , Smp -> Index );
160
+ InToBuf (Smp , Smp -> Index , Data );
161
+ Smp -> Sum += OutFromBuf (Smp , Smp -> Index );
162
+ Result = Smp -> Sum / Smp -> Level ;
163
163
164
- if (++ (Smp -> Index ) >= Smp -> Level ) Smp -> Index = 0 ;
164
+ if (++ (Smp -> Index ) >= Smp -> Level ) Smp -> Index = 0 ;
165
165
166
- return Result ;
166
+ return Result ;
167
167
}
168
168
/*********************************************************************************/
169
169
/*
170
- 1) 인수
171
- - Smp : tag_DataSampling 인스턴스의 주소.
170
+ 1) 인수
171
+ - Smp : tag_DataSampling 인스턴스의 주소.
172
172
173
- 2) 반환
174
- - 없음.
173
+ 2) 반환
174
+ - 없음.
175
175
176
- 3) 설명
177
- - 버퍼 초기화 실행.
176
+ 3) 설명
177
+ - 버퍼 초기화 실행.
178
178
*/
179
179
void DataSamplingResetData (tag_DataSampling * Smp )
180
180
{
181
- if ((Smp -> Bit .InitGeneral == false) || (Smp -> Bit .InitFillBuffer == false))
182
- {
183
- return ;
184
- }
181
+ if ((Smp -> Bit .InitGeneral == false) || (Smp -> Bit .InitFillBuffer == false))
182
+ {
183
+ return ;
184
+ }
185
185
186
- Smp -> Bit .InitFillBuffer = false;
186
+ Smp -> Bit .InitFillBuffer = false;
187
187
}
188
188
/*********************************************************************************/
0 commit comments