~toykeeper/flashlight-firmware/trunk

« back to all changes in this revision

Viewing changes to Tom_E/narsil/NarsilMulti/tk-calib.h

  • Committer: Selene Scriven
  • Date: 2014-07-22 23:45:40 UTC
  • Revision ID: ubuntu@toykeeper.net-20140722234540-7jkvx6or9mow8dze
Moved my sources into ToyKeeper/ directory to keep things a little cleaner.
By default, I'll put my personal firmware there to indicate it might not be
as useful for general-purpose use, it's just something I made.
(can move or copy some again later if they end up being interesting to others)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef TK_CALIBRATION_H
2
 
#define TK_CALIBRATION_H
3
 
/*
4
 
 * Attiny calibration header.
5
 
 * This allows using a single set of hardcoded values across multiple projects.
6
 
 *
7
 
 * Copyright (C) 2015 Selene Scriven
8
 
 *
9
 
 * This program is free software: you can redistribute it and/or modify
10
 
 * it under the terms of the GNU General Public License as published by
11
 
 * the Free Software Foundation, either version 3 of the License, or
12
 
 * (at your option) any later version.
13
 
 *
14
 
 * This program is distributed in the hope that it will be useful,
15
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
 * GNU General Public License for more details.
18
 
 *
19
 
 * You should have received a copy of the GNU General Public License
20
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 
 *
22
 
 */
23
 
 
24
 
 
25
 
/********************** Voltage ADC calibration **************************/
26
 
 
27
 
//-------------------------------------------------------------------------------------------
28
 
//  The tables below represent the max value for reporting of that associated voltage value.
29
 
// For example, for 3.0V reporting in the 1000K table, the max value is 125, but the range
30
 
// for 3.0V is 122 to 125.
31
 
// The tables are all calculated values, the equations used: 
32
 
//
33
 
//  ADC_FACTOR = R2/ (R2+R1) * 256/1.1, Val = (V - D1) * ADC_FACTOR
34
 
//
35
 
//-------------------------------------------------------------------------------------------
36
 
 
37
 
 
38
 
#ifdef USING_1000K   // GT-buck
39
 
// The ADC values we expect for specific voltages: 2.2v to 4.4v per cell. This is
40
 
//  for 4S cells (17.6V max) using R1=1000K, R2=47K, D1=0, and direct connection from Batt+
41
 
//  to R1, no diode in-between
42
 
//
43
 
#define ADC_22     94
44
 
#define ADC_23     98
45
 
#define ADC_24     102
46
 
#define ADC_25     107
47
 
#define ADC_26     111
48
 
#define ADC_27     115
49
 
#define ADC_28     119  //   0%
50
 
#define ADC_29     123
51
 
#define ADC_30     127
52
 
#define ADC_31     132
53
 
#define ADC_32     136
54
 
#define ADC_33     140
55
 
#define ADC_34     144
56
 
#define ADC_35     148  //  25% (3.5V)
57
 
#define ADC_36     153
58
 
#define ADC_37     157  //  50% (3.72V)
59
 
#define ADC_38     161
60
 
#define ADC_39     165
61
 
#define ADC_40     169  //  75% (3.95V)
62
 
#define ADC_41     173
63
 
#define ADC_42     178  // 100%
64
 
#define ADC_43     182
65
 
#define ADC_44     188
66
 
#endif
67
 
 
68
 
#ifdef USING_360K
69
 
// The ADC values we expect for specific voltages: 4.4V to 8.8V (2.2v to 4.4v per cell). This is
70
 
//  for using R1=360K/36K, R2=47K/4.7K, and direct connection from Batt+
71
 
//  to R1, no diode in-between, with an LDO and a 2S battery configuration.
72
 
 
73
 
// MAX value for the voltage range:
74
 
#define ADC_22     121
75
 
#define ADC_23     126
76
 
#define ADC_24     132
77
 
#define ADC_25     137
78
 
#define ADC_26     142
79
 
#define ADC_27     148
80
 
#define ADC_28     153  //   0%
81
 
#define ADC_29     159
82
 
#define ADC_30     164
83
 
#define ADC_31     169
84
 
#define ADC_32     175
85
 
#define ADC_33     180
86
 
#define ADC_34     185
87
 
#define ADC_35     191  //  25% (3.5V)
88
 
#define ADC_36     196
89
 
#define ADC_37     202  //  50% (3.72V)
90
 
#define ADC_38     207
91
 
#define ADC_39     212
92
 
#define ADC_40     218  //  75% (3.95V)
93
 
#define ADC_41     223
94
 
#define ADC_42     228  // 100%
95
 
#define ADC_43     234
96
 
#define ADC_44     239
97
 
#endif
98
 
 
99
 
#ifdef USING_220K
100
 
// The ADC values we expect for specific voltages: 2.2v to 4.4v. This is
101
 
//  for using R1=220K/22K, R2=47K/4.7K, and direct connection from Batt+
102
 
//  to R1, no diode in-between
103
 
#define ADC_22     92
104
 
#define ADC_23     96
105
 
#define ADC_24     100
106
 
#define ADC_25     104
107
 
#define ADC_26     109
108
 
#define ADC_27     113
109
 
#define ADC_28     117  //   0%
110
 
#define ADC_29     121
111
 
#define ADC_30     125
112
 
#define ADC_31     129
113
 
#define ADC_32     133
114
 
#define ADC_33     137
115
 
#define ADC_34     141
116
 
#define ADC_35     145  //  25% (3.5V)
117
 
#define ADC_36     150
118
 
#define ADC_37     154  //  50% (3.72V)
119
 
#define ADC_38     158
120
 
#define ADC_39     162
121
 
#define ADC_40     166  //  75% (3.95V)
122
 
#define ADC_41     170
123
 
#define ADC_42     174  // 100%
124
 
#define ADC_43     178
125
 
#define ADC_44     182
126
 
#endif
127
 
 
128
 
#define ADC_LOW    ADC_30  // When do we start ramping down
129
 
#define ADC_CRIT   ADC_28  // When do we shut the light off
130
 
 
131
 
#endif  // TK_CALIBRATION_H