~gabe/flashlight-firmware/anduril2

183 by Selene Scriven
Updated Narsil to NarsilM 1.0
1
/****************************************************************************************
2
 * Setups.h
3
 * ========
4
 *
5
 * Created: 4/30/2017 9:27:32 AM
6
 *  Author: Tom E
7
 ****************************************************************************************/
8
#ifndef SETTINGS_H_
9
#define SETTINGS_H_
10
11
//----------------------------------------------------------------------------------------
12
//			Driver Board Settings
13
//----------------------------------------------------------------------------------------
14
#define OUT_CHANNELS 1			// define the output channels as 1, 2 or 3
15
16
#define VOLTAGE_MON				// Comment out to disable - ramp down and eventual shutoff when battery is low
17
//#define VOLT_MON_R1R2			// uses external R1/R2 voltage divider, comment out for 1.1V internal ref
18
19
// For voltage monitoring on pin #7, only uncomment one of the two def's below:
20
//#define USING_220K	// for using the 220K resistor
21
//#define USING_360K	// for using a 360K resistor (LDO and 2S cells)
22
23
#define D1_DIODE 2				// Drop over rev. polarity protection diode: 0.2V normally, 0.3V for Q8
24
25
// For 2 channel (FET+1) boards:
26
 //#define USING_3807135_BANK	// (default OFF) sets up ramping for 380 mA 7135's instead of a FET
27
28
// For 3 channel (triple) boards:
29
//#define TRIPLE_3_7135			// Configure for 3 7135's
30
//#define TRIPLE_8_7135			// Configure for 8 7135's
31
32
#define ONBOARD_LED				// Enable the LED support
33
//----------------------------------------------------------------------------------------
34
//----------------------------------------------------------------------------------------
35
36
37
//----------------------------------------------------------------------------------------
38
//			Temperature Monitoring
39
//----------------------------------------------------------------------------------------
40
// Temperature Calibration Offset -
41
#define TEMP_CAL_OFFSET (-3)
42
//   -6   BLF Q8 Round 3 - blinks 29C w/3 setting for 20C (68F) room temp
43
//   -2   try for the Manker U21 (LJ)
44
//   -2   works for the Warsun X60 (robo) using the 17 mm DEL driver
45
//   -1   try this for proto #1, OSHPark BLF Q8 driver
46
//    3   about right for BLF Q8 proto #2 and #3, reads ~20 for ~68F (18C)
47
//   -12  this is about right on the DEL DDm-L4 board in the UranusFire C818 light
48
//   -11  On the TA22 board in SupFire M2-Z, it's bout 11-12C too high,reads 35C at room temp, 23C=73.4F
49
//   -8   For the Manker U11 - at -11, reads 18C at 71F room temp (22C)
50
//   -2   For the Lumintop SD26 - at -2, reading a solid 19C-20C (66.2F-68F for 67F room temp)
51
52
#define DEFAULT_STEPDOWN_TEMP (55)	// default for stepdown temperature (50C=122F, 55C=131F)
53
// use 50C for smaller size hosts, or a more conservative level (SD26, U11, etc.)
54
// use 55C to 60C for larger size hosts, maybe C8 and above, or for a more aggressive setting
55
56
#define TEMP_ADJ_PERIOD 2812	// Over Temp adjustment frequency: 45 secs (in 16 msec ticks)
57
//----------------------------------------------------------------------------------------
58
//----------------------------------------------------------------------------------------
59
60
61
//----------------------------------------------------------------------------------------
62
#ifndef VOLT_MON_R1R2	// if using R1/R2, change the LVP settings in the calibration header file
63
#define BATT_LOW			  30	// Cell voltage to step light down = 3.0 V
64
#define BATT_CRIT			  28	// Cell voltage to shut the light off = 2.8 V
65
#endif
66
//----------------------------------------------------------------------------------------
67
68
69
//----------------------------------------------------------------------------------------
70
//			Stored Configuration Setting Defaults
71
//----------------------------------------------------------------------------------------
72
#define DEF_RAMPING			1		// 1: ramping, 0: mode sets
73
#if USING_3807135_BANK
74
 #define DEF_MOON_LEVEL		5		// 0..7, 0: disabled, usually set to 3 (350 mA) or 5 (380 mA) - 2 might work on a 350 mA
75
#else
76
 #define DEF_MOON_LEVEL		4		// 0..7, 0: disabled, usually set to 3 (350 mA) or 5 (380 mA) - 2 might work on a 350 mA
77
#endif
78
#define DEF_STEPDOWN_MODE	5		// 0=disabled, 1=thermal, 2=60s, 3=90s, 4=120s, 5=3min, 6=5min, 7=7min (3 mins is good for production)
79
#define DEF_BLINKY_MODE		2		// blinky mode config: 1=strobe only, 2=all blinkies, 0=disable
80
81
#define DEF_MODE_SET_IDX	3		// 0..11, mode set currently in effect, chosen by user (3=4 modes)
82
#define DEF_MOON_MODE		1		// 1: enable moonlight mode, 0: disable moon mode
83
#define DEF_HIGH_TO_LOW		0		// 1: highest to lowest, 0: modes go from lowest to highest
84
#define DEF_MODE_MEMORY		0		// 1: save/recall last mode set, 0: no memory
85
86
#define DEF_LOCATOR_LED		1		// Locator LED feature (ON when light is OFF) - 1=enabled, 0=disabled
87
#define DEF_BVLD_LED_ONLY	0		// BVLD (Battery Voltage Level Display) - 1=BVLD shown only w/onboard LED, 0=both primary and onboard LED's
88
#define DEF_ONBOARD_LED		1		// On Board LED support - 1=enabled, 0=disabled
89
//----------------------------------------------------------------------------------------
90
//----------------------------------------------------------------------------------------
91
92
93
//----------------------------------------------------------------------------------------
94
//			Operational Settings Enable/Disable
95
//----------------------------------------------------------------------------------------
96
#define STARTUP_LIGHT_OFF		// (default ON) for ramping from power up, main light OFF, otherwise set to max
97
#define STARTUP_2BLINKS			// enables the powerup/startup two blinks
98
#define LOCKOUT_ENABLE			// (default ON) Enable the "Lock-Out" feature
99
#define TRIPLE_CLICK_BATT		// (default ON) enable a triple-click to display Battery status
100
#define RAMPING_REVERSE			// (default ON) reverses ramping direction for every click&hold
101
#define OFFTIME_ENABLE 0		// 1: Do OFF time mode memory for Mode Sets on power switching (tailswitch), 0: disabled
102
103
//#define BLINK_ONLY_IND_LED	// blink the Ind. LED, not main LED for: startup, config settings, Enter/Exit lockout blinks
104
//#define ADV_RAMP_OPTIONS		// In ramping, enables "mode set" additional method for lock-out and battery voltage display, comment out to disable
105
//----------------------------------------------------------------------------------------
106
//----------------------------------------------------------------------------------------
107
108
109
//----------------------------------------------------------------------------------------
110
//			Timed Settings
111
//----------------------------------------------------------------------------------------
112
#define RAMP_SWITCH_TIMEOUT 75 // make the up/dn ramp switch timeout 1.2 secs (same as IDLE_TIME)
113
114
#define STROBE_SPEED	14,41		// 14,41: 18Hz, 16,47: 16Hz, 20,60: 12.5Hz
115
116
#define SHORT_CLICK_DUR 18		// Short click max duration - for 0.288 secs
117
#define RAMP_MOON_PAUSE 23		// this results in a 0.368 sec delay, paused in moon mode
118
119
// One-Click Turn OFF option:
120
#define IDLE_TIME         75	// make the time-out 1.2 seconds (Comment out to disable)
121
122
// Switch handling:
123
#define LONG_PRESS_DUR    24	// Prev Mode time - long press, 24=0.384s (1/3s: too fast, 0.5s: too slow)
124
#define XLONG_PRESS_DUR   75	// strobe mode entry hold time - 75=1.2s, 68=1.09s (any slower it can happen unintentionally too much)
125
#define CONFIG_ENTER_DUR 200	// In Mode Sets Only: Config mode entry hold time - 200=3.2s, 160=2.5s
126
127
#define DBL_CLICK_TICKS   14	//  fast click time for enable/disable of Lock-Out, batt check,
128
										// and double/triple click timing (14=0.224s, was 16=0.256s)
129
130
#define ADC_DELAY        312	// Delay in ticks between low-batt ramp-downs (312=5secs, was 250=4secs)
131
//----------------------------------------------------------------------------------------
132
//----------------------------------------------------------------------------------------
133
134
135
//----------------------------------------------------------------------------------------
136
//			Strobe/Blinky mode Configuration
137
//----------------------------------------------------------------------------------------
138
#define BATT_CHECK_MODE	  80
139
#define TEMP_CHECK_MODE	  81
140
#define FIRM_VERS_MODE	  82
141
#define SPECIAL_MODES	  90		// base/lowest value for special modes
142
#define STROBE_MODE		  SPECIAL_MODES+1
143
//#define RANDOM_STROBE	  SPECIAL_MODES+2	// not used for now...
144
#define POLICE_STROBE	  SPECIAL_MODES+2
145
#define BIKING_STROBE	  SPECIAL_MODES+3
146
#define BEACON_2S_MODE	  SPECIAL_MODES+4
147
#define BEACON_10S_MODE	  SPECIAL_MODES+5
148
149
// Custom define your blinky mode set here:
150
#define SPECIAL_MODES_SET	STROBE_MODE, POLICE_STROBE, BIKING_STROBE, BEACON_2S_MODE, BEACON_10S_MODE
151
//----------------------------------------------------------------------------------------
152
//----------------------------------------------------------------------------------------
153
154
#endif /* SETTINGS_H_ */