~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/cfg-noctigon-dm11-sbt90.h

  • Committer: Selene ToyKeeper
  • Date: 2023-07-23 00:08:12 UTC
  • mto: (483.1.175 anduril2)
  • mto: This revision was merged to the branch mainline in revision 491.
  • Revision ID: bzr@toykeeper.net-20230723000812-lae16ybrvfm1lvlf
converted noctigon-dm11-* builds to multi-channel
(but I could only test dm11-boost on actual hardware)
(also, it looks like dm11-sbt90 is almost identical to the base kr4 build,
 so I removed its hwdef)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
4
#pragma once
5
5
 
 
6
#include "cfg-noctigon-kr4.h"
 
7
#undef MODEL_NUMBER
6
8
#define MODEL_NUMBER "0274"
7
 
#include "hwdef-Noctigon_DM11-SBT90.h"
8
 
#include "hank-cfg.h"
9
9
// ATTINY: 1634
10
10
 
11
11
// this light has three aux LED channels: R, G, B
17
17
#undef USE_INDICATOR_LED_WHILE_RAMPING
18
18
#endif
19
19
 
20
 
 
21
20
// power channels:
22
21
// - linear: 5A?
23
22
// - FET: DD
24
 
#define RAMP_LENGTH 150
25
 
#define USE_DYN_PWM
26
 
 
27
 
// maxreg at 130, dynamic PWM: level_calc.py 5.01 2 149 7135 1 0.3 1740 FET 1 10 3190 --pwm dyn:64:16384:255
28
 
// (plus one extra level at the beginning for moon)
29
 
#define PWM1_LEVELS 0,1,1,2,2,3,4,5,6,7,8,9,11,12,14,16,17,19,22,24,26,29,31,34,37,40,43,46,49,53,56,60,63,67,71,74,78,82,86,89,93,96,99,103,105,108,110,112,114,115,116,116,115,114,112,109,106,101,95,89,81,71,60,48,34,19,20,21,22,23,24,26,27,28,30,31,32,34,36,37,39,41,43,45,47,49,51,53,56,58,61,63,66,69,72,75,78,81,84,88,91,95,99,103,107,111,115,119,124,129,133,138,143,149,154,159,165,171,177,183,189,196,203,210,217,224,231,239,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0
30
 
#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,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,20,30,41,52,63,75,87,99,112,125,138,151,165,179,194,208,224,239,255
31
 
#define PWM_TOPS 16383,16383,11750,14690,9183,12439,13615,13955,13877,13560,13093,12529,13291,12513,12756,12769,11893,11747,12085,11725,11329,11316,10851,10713,10518,10282,10016,9729,9428,9298,8971,8794,8459,8257,8043,7715,7497,7275,7052,6753,6538,6260,5994,5798,5501,5271,5006,4758,4525,4268,4030,3775,3508,3263,3010,2752,2517,2256,1998,1763,1512,1249,994,749,497,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
32
 
 
 
23
 
 
24
#undef DEFAULT_LEVEL
33
25
#define DEFAULT_LEVEL 70
34
 
#define MAX_1x7135 130
35
 
#define HALFSPEED_LEVEL 12
36
 
#define QUARTERSPEED_LEVEL 4
37
 
 
38
 
// don't blink halfway up
39
 
#ifdef BLINK_AT_RAMP_MIDDLE
40
 
#undef BLINK_AT_RAMP_MIDDLE
41
 
#endif
42
 
 
 
26
 
 
27
#undef RAMP_SMOOTH_FLOOR
43
28
#define RAMP_SMOOTH_FLOOR 10  // low levels may be unreliable
44
 
#define RAMP_SMOOTH_CEIL  130
45
29
// 10, 30, 50, [70], 90, 110, 130
 
30
#undef RAMP_DISCRETE_FLOOR
46
31
#define RAMP_DISCRETE_FLOOR 10
47
 
#define RAMP_DISCRETE_CEIL  RAMP_SMOOTH_CEIL
48
 
#define RAMP_DISCRETE_STEPS 7
49
32
 
50
33
// safe limit ~75% power
51
 
#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR
 
34
#undef SIMPLE_UI_CEIL
52
35
#define SIMPLE_UI_CEIL RAMP_DISCRETE_CEIL
53
 
#define SIMPLE_UI_STEPS 5
54
 
 
55
 
// make candle mode wobble more
56
 
#define CANDLE_AMPLITUDE 30
57
36
 
58
37
// stop panicking at ~70% power or ~600 lm
 
38
#undef THERM_FASTER_LEVEL
59
39
#define THERM_FASTER_LEVEL 130
60
 
#define MIN_THERM_STEPDOWN 66  // must be > end of dynamic PWM range
61
 
 
62
 
//#define THERM_RESPONSE_MAGNITUDE 32  // smaller adjustments, this host changes temperature slowly
63
 
//#define THERM_NEXT_WARNING_THRESHOLD 32  // more error tolerance before adjusting
64
 
 
65
 
// slow down party strobe; this driver can't pulse for 1ms or less
66
 
// (only needed on no-FET build)
67
 
//#define PARTY_STROBE_ONTIME 2
68
 
 
69
 
#define THERM_CAL_OFFSET 5
70
 
 
71
 
// the power regulator is a bit slow, so push it harder for a quick response from off
72
 
#define DEFAULT_JUMP_START_LEVEL 21
 
40
 
 
41
#undef BLINK_BRIGHTNESS
73
42
#define BLINK_BRIGHTNESS 50
74
 
#define BLINK_ONCE_TIME 12
75
43
 
76
 
// added for convenience
77
 
#define USE_SOFT_FACTORY_RESET
 
44
#undef CANDLE_AMPLITUDE
 
45
#define CANDLE_AMPLITUDE 30
78
46