1
// Emisar FET+13+1 config options for Anduril
2
#include "hwdef-Emisar_D18.h"
4
// front-facing aux LEDs
5
#define USE_INDICATOR_LED
6
//#define USE_INDICATOR_LED_WHILE_RAMPING
7
// enable blinking indicator LED while off
8
#define TICK_DURING_STANDBY
9
#define STANDBY_TICK_SPEED 3 // every 0.128 s
10
#define USE_FANCIER_BLINKING_INDICATOR
12
// lockout: blinking (3)
13
#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1)
15
// Emisar wanted a shortcut to this
16
#define USE_TENCLICK_THERMAL_CONFIG
1
// Emisar D18 (FET+13+1) config options for Anduril
2
// Copyright (C) 2019-2023 Selene ToyKeeper
3
// SPDX-License-Identifier: GPL-3.0-or-later
6
#define MODEL_NUMBER "0141"
7
#include "hwdef-emisar-d18.h"
19
12
// level_calc.py seventh 3 150 7135 1 1.4 117.99 7135 6 1 1706.86 FET 3 10 13000
20
13
// (designed to make 1x hit at level 50, and Nx hit at level 100)
21
#define RAMP_LENGTH 150
22
14
#define PWM1_LEVELS 1,1,2,2,3,4,4,5,6,7,8,9,10,11,15,16,18,20,22,24,26,28,30,33,36,39,43,47,51,56,61,66,72,78,85,92,99,107,116,125,135,145,156,168,180,194,208,222,238,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0
23
15
#define PWM2_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,10,11,13,14,16,18,19,21,23,26,28,30,33,35,38,41,44,47,51,54,58,62,66,70,75,79,84,90,95,101,106,112,119,126,133,140,147,155,164,172,181,190,200,210,221,232,243,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0
24
16
#define PWM3_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,9,11,13,15,18,20,23,25,28,31,34,37,40,44,47,51,54,58,62,66,70,75,79,84,89,94,99,104,110,115,121,127,134,140,147,154,161,168,176,183,191,200,208,217,226,235,245,255
26
#define MAX_Nx7135 100
27
#define HALFSPEED_LEVEL 15
28
#define QUARTERSPEED_LEVEL 6
18
#define DEFAULT_LEVEL 50
20
#define MAX_Nx7135 100
21
#define HALFSPEED_LEVEL 15
22
#define QUARTERSPEED_LEVEL 6
30
24
// start at ~2000 lm after battery change, not ~150 lm (at Emisar's request)
31
25
//#define DEFAULT_LEVEL MAX_Nx7135
33
// higher floor than default, and stop at highest regulated level
34
#define RAMP_DISCRETE_FLOOR 25
35
#define RAMP_DISCRETE_CEIL MAX_Nx7135
28
#define RAMP_SMOOTH_FLOOR 1
29
#define RAMP_SMOOTH_CEIL 117
30
// 20 36 52 68 84 [100] 117
31
#define RAMP_DISCRETE_FLOOR 20
32
#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL
36
33
#define RAMP_DISCRETE_STEPS 7
35
// safe limit ~20% power / max regulated
37
#define SIMPLE_UI_FLOOR 20
38
#define SIMPLE_UI_CEIL MAX_Nx7135
39
#define SIMPLE_UI_STEPS 5
38
41
// only blink at max regulated level and ceiling
39
#define BLINK_AT_RAMP_MIDDLE
40
#define BLINK_AT_RAMP_MIDDLE_1 MAX_Nx7135
41
#define BLINK_AT_RAMP_CEILING
42
//#define BLINK_AT_RAMP_MIDDLE
43
//#define BLINK_AT_RAMP_MIDDLE_1 MAX_Nx7135
44
#define BLINK_AT_RAMP_CEIL
45
#ifdef BLINK_AT_RAMP_MIDDLE
46
#undef BLINK_AT_RAMP_MIDDLE
43
49
// stop panicking at about ~40% power or ~5000 lm
44
50
#define THERM_FASTER_LEVEL 125
52
// enable extra features
53
#define USE_SMOOTH_STEPS
55
// for compatibility with other models
56
#define USE_SOFT_FACTORY_RESET
58
// too big, turn off extra features
59
#undef USE_TACTICAL_MODE