-
Notifications
You must be signed in to change notification settings - Fork 2
/
logger_defines.h
67 lines (53 loc) · 1.97 KB
/
logger_defines.h
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
Logger - logger_defines.h
The car data logging software for Arduino Mega board
Copyright: Janne Kotka 2010
This file is part of Logger.
Logger is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Logger is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Logger. If not, see <http://www.gnu.org/licenses/>.
*/
// size of the averaging filter, must be 2,4,8,16
#define FILTER_SIZE 4
/* macro to help type in the reference values for the channel look-up tables */
#define VOLTAGE_TO_BIT( data ) (int (((10240 / 5 ) * data)/10))
#define VOLT 1
#define HI_FREQ 2
#define LO_FREQ 3
#define TRUE 1
#define FALSE 0
#define TRIONIC_VERSION 7
volatile int timer_counter;
/* struct to save the current settings */
struct perm_data {
char output_type;
char last_screen;
};
/* struct for handling the channels */
struct channel {
char type; // HI_FREQ, LO_FREQ, VOLT
int *val; // reference table for y (eg. values)
int *ref; // reference table for x (eg. voltage)
char priority; // channel priority 0-4
char filter; // Do we filter or not?
int input; // the input pin
char name[64];
/* value is where the current measuerement value is stored */
volatile int value; // current measured value
volatile int max_value;
volatile int min_value;
/* these are for internal usage no need to fill */
int filt[FILTER_SIZE]; // filter buffer
int filt_i; // filter_index;
int active;
int refsize;
volatile unsigned long trig_time;
volatile unsigned long hi_freq_counter;
};