-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtriggerButton.c
34 lines (30 loc) · 873 Bytes
/
triggerButton.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
* triggerButton.c
*
* Created: 30.06.2020 09:16:59
* Author: kajku001
*/
#include "triggerButton.h"
#include "adc.h"
#include "timer.h"
void InitBufferedAnalogInput(bufferedAnalogInput * _analogInput, uint8_t channel, unsigned long samplerate, ringbufferAveraging_t * buffer)
{
_analogInput->channel = channel;
_analogInput->samplerate = samplerate;
_analogInput->buffer = buffer;
_analogInput->lasttime = 0;
}
void sampleAnalogInput(bufferedAnalogInput * _analogInput)
{
if((_analogInput->lasttime + _analogInput->samplerate) > millis()){
return ;
}
uint16_t sampleValue = ADC_Read(_analogInput->channel);
addValue(_analogInput->buffer, sampleValue);
_analogInput->lasttime = millis();
}
uint16_t getValue(bufferedAnalogInput * analogInput)
{
ringbufferAveraging_t * tempBuffer = analogInput->buffer;
return getRingbufferAverage(tempBuffer);
}