4
4
* Firmware configuration header.
6
* Bistro configuration file for dual switch TA-based tripple driver, (C) Flintrock (FR).
6
* Bistro configuration file for dual switch TA-based triple driver, (C) Flintrock (FR).
7
7
* USES voltage divider and OTC.
9
9
* To work with tk-bistro and other compatible software.
32
32
/////////////// Choose a layout////////////////
34
34
//#define FET_7135_LAYOUT //FET+1
35
#define TRIPLEDOWN_LAYOUT //TA tripple
35
#define TRIPLEDOWN_LAYOUT //TA triple
36
36
//#define NANJG105D_LAYOUT // biscotti/convoy/nanjg105D
37
37
//#define BLFA6_LAYOUT // BLFA6, FET+1, OTC and star3
38
38
//#define NANJG_LAYOUT // specify an I/O pin layout
41
41
//**** You can now easily customize layouts in fr-tk-attiny.h :
43
43
// choose the file that defines your modegruops (so we can easily keep more)
44
#define MODEGROUPS_H "modegroups/modegroups-TA-tripple-v1.3plus.h"
44
#define MODEGROUPS_H "modegroups/modegroups-TA-triple-v1.3plus.h"
45
45
//#define MODEGROUPS_H "modegroups/modegroups-biscotti.h"
46
46
//#define MODEGROUPS_H "modegroups/modegroups-BLFA6.h"
59
59
//#define USE_OTC // use off time cap.
61
61
// Off-time sleep mode by -FR, thanks to flashy Mike and Mike C for early feasibility test with similar methods.
62
#define USE_OTSM // USE OTSM. Pin must be defined in the layout too.
62
//#define USE_OTSM // USE OTSM. Pin must be defined in the layout too.
64
64
//#define OTSM_USES_OTC // use OTC cap for extra power on OTSM (sets it output high to charge up)
65
#define OTSM_powersave // Also works without OTSM to reduce moon-mode drain.
65
#define POWERSAVE // Also works without OTSM to reduce moon-mode drain.
66
66
// Squeeze out a bit more off-time by saving power during
67
67
// shutoff detection (so at all times). Implements ms resolution (could be less) idle sleeps in place of delay.
68
68
// Seems to add at 0.5s of sleep at 3.1V 30uF cap, starting with only 0.75 that matters.
96
96
#define VOLTAGE_MON // Comment out to disable LVP
97
97
//You should leave one (but only one) of the next two uncommented.
98
#define READ_VOLTAGE_FROM_VCC // inverted "internal" Vcc voltage monitoring
98
//#define READ_VOLTAGE_FROM_VCC // inverted "internal" Vcc voltage monitoring
99
99
// Works well for 1S lights without worrying about resistor values.
100
//#define READ_VOLTAGE_FROM_DIVIDER // classic voltage reading
100
#define READ_VOLTAGE_FROM_DIVIDER // classic voltage reading
101
101
//#define REFERENCE_DIVIDER_READS_TO_VCC // default is 1.1V, but this is needed for divider reading with OTSM on the voltage pin.
102
102
// This should normally be used with an LDO. For 1S (non-LDO or 5.0VLDO) just avoid the problem with READ_VOLTAGE_FROM_VCC.
104
/*** Enable battery indicator mode? */
105
#define USE_BATTCHECK
106
// Choose a battery indicator style
104
/***** Choose a battery indicator style (if enabled in modegroups)*******/
107
105
//#define BATTCHECK_4bars // up to 4 blinks
108
106
//#define BATTCHECK_8bars // up to 8 blinks
109
107
#define BATTCHECK_VpT // Volts + tenths
111
/******theremal protection: ***/
109
/******thermal protection: ***/
112
110
#define TEMPERATURE_MON // You can set starting temperature in the "maxtemp" setting in config options first boot options.
113
#define USE_TEMP_CAL // include a TEMP_CAL mode in the menu.
114
//#define TEMP_STEP_DOWN // Step down with user bump up instead of regulation/oscillation.
111
#define USE_TEMP_CAL // include a TEMP_CAL mode in the menu.
112
#define TEMP_STEP_DOWN //Requires TEMPERATURE_MON, Use step-down and tap-up instead of oscillate
113
#define MINIMUM_TURBO_TIME 10 //Turbo will never run less than this long. Requires TEMP_STEP_DOWN
116
115
/*******Mode features***********/
117
116
#define USE_MUGGLE_MODE // compile in use of muggle mode
121
120
// Options for first bootup/default:
123
#define USE_FIRSTBOOT // FR notes this only costs two bytes since not using it implements alternative checks anyway.
122
#define USE_FIRSTBOOT //Enables reset menu option, only costs a couple of bytes.
125
124
#define INIT_MODEGROUP 11 // which mode group will be default, mode groups below start at zero, select the mode group you want and subtract one from the number to get it by defualt here
126
125
#define INIT_ENABLE_MOON 1 // Should we add moon to the set of modes?
134
133
#define BLINK_SPEED 750
137
// This is used to simplify the toggle function
138
// eliminating mode_override, using this threshold instead:
139
#define MINIMUM_OVERRIDE_MODE 245 // DO NOT EDIT. DO NOT DEFINE ANY STROBES HIGER OR EQUAL TO THIS.
141
/******* Select Which Strobes to compile in**** *********************/
142
////Must still be connected to a mode group or hidden mode to be used, enabled but unused modes don't get optimized out
144
#define BATTCHECK 244 // Convenience code for battery check mode
145
//mode codes for strobes, must be less than MINIMUM_OVERRIDE_MODE
146
#define BIKING_STROBE 243 // Single flash biking strobe mode
147
//#define FULL_BIKING_STROBE // Stutter bike strobe, uncomment to enable
148
//#define POLICE_STROBE 242 // Dual mode alternating strobe
149
//#define RANDOM_STROBE 241
151
//#define STROBE_8HZ 239
152
#define STROBE_10HZ 238
153
#define STROBE_16HZ 237
154
#define STROBE_OLD_MOVIE 236
155
#define STROBE_CREEPY 235 // Creepy strobe mode, or really cool if you have a bunch of friends around
156
//#define RAMP 234 //Ramping "strobe"
159
138
#ifdef STRIPPED // define what you want to remove in stripped mode