~toykeeper/flashlight-firmware/trunk

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/cfg-ff-rot66g2.h

  • Committer: Selene Scriven
  • Date: 2020-07-06 20:24:28 UTC
  • mfrom: (188.1.294 fsm)
  • Revision ID: bzr@toykeeper.net-20200706202428-7pyen2ow9q2rtd9p
merged nearly a year of updates from the fsm branch, including the new product map

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Fireflies ROT66 G2 config options for Anduril
 
2
#include "cfg-ff-rot66.h"
 
3
 
 
4
// if the "low" mode was disabled, turn it back on
 
5
#ifdef INDICATOR_LED_SKIP_LOW
 
6
#undef INDICATOR_LED_SKIP_LOW
 
7
#endif
 
8
// enable blinking indicator LED while off
 
9
#define TICK_DURING_STANDBY
 
10
#define STANDBY_TICK_SPEED 3  // every 0.128 s
 
11
#define USE_FANCIER_BLINKING_INDICATOR
 
12
 
 
13
// lockout: blinking (3), off: low (1)
 
14
#ifdef INDICATOR_LED_DEFAULT_MODE
 
15
#undef INDICATOR_LED_DEFAULT_MODE
 
16
#endif
 
17
#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1)
 
18
 
 
19
// ramp shape is different than original ROT66
 
20
// 1x7135: 150 lm
 
21
// Nx7135: 1200 lm
 
22
// FET: 4500 lm
 
23
// ../../../bin/level_calc.py 7.0 3 150 7135 1 4 180.16 7135 8 1 1374.48 FET 1 10 4000
 
24
// (plus some manual tweaks)
 
25
#undef PWM1_LEVELS
 
26
#undef PWM2_LEVELS
 
27
#undef PWM3_LEVELS
 
28
#define PWM1_LEVELS 1,1,2,3,3,4,4,5,6,7,7,8,9,10,11,12,16,17,18,19,20,21,22,24,26,28,30,32,35,37,40,42,45,48,51,55,58,62,65,69,74,78,83,87,92,98,103,109,115,121,128,134,142,149,157,165,173,182,191,201,211,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,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
 
29
#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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,13,14,16,18,20,22,24,26,28,30,33,35,38,41,43,46,49,52,55,59,62,66,69,73,77,81,85,89,94,98,103,108,113,118,124,129,135,141,147,153,160,166,173,180,188,195,203,211,219,228,237,246,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
 
30
#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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,11,17,23,29,36,42,49,56,63,71,78,86,94,102,111,119,128,137,147,156,166,176,187,197,208,219,231,243,255
 
31
 
 
32
#undef MAX_1x7135
 
33
#undef MAX_Nx7135
 
34
#define MAX_1x7135 65  // ~150 lm
 
35
#define MAX_Nx7135 120  // ~1200 m
 
36
#undef HALFSPEED_LEVEL
 
37
#undef QUARTERSPEED_LEVEL
 
38
#define HALFSPEED_LEVEL 17
 
39
#define QUARTERSPEED_LEVEL 6
 
40
 
 
41
// higher floor than default, and stop at highest regulated level
 
42
#define RAMP_SMOOTH_FLOOR 1   // ~0.3 lm
 
43
#define RAMP_SMOOTH_CEIL MAX_Nx7135  // ~1200 lm
 
44
// 10, 28, 46, [65], 83, 101, [120]
 
45
#define RAMP_DISCRETE_FLOOR 10
 
46
#define RAMP_DISCRETE_CEIL MAX_Nx7135
 
47
#define RAMP_DISCRETE_STEPS 7
 
48
 
 
49