~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/cfg-noctigon-dm11.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:
4
4
#pragma once
5
5
 
6
6
#define MODEL_NUMBER "0271"
7
 
#include "hwdef-Noctigon_DM11.h"
 
7
#include "hwdef-noctigon-dm11.h"
8
8
#include "hank-cfg.h"
9
9
// ATTINY: 1634
10
10
 
17
17
#undef USE_INDICATOR_LED_WHILE_RAMPING
18
18
#endif
19
19
 
 
20
#define RAMP_SIZE 150
20
21
 
21
22
// power channels:
22
23
// - linear: 5A?
23
24
// - FET: DD
24
 
#define RAMP_LENGTH 150
25
 
#define USE_DYN_PWM
26
25
 
27
26
// 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
27
// (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
 
28
#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
 
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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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
 
30
#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
 
31
#define MIN_THERM_STEPDOWN 66  // should be above highest dyn_pwm level
32
32
 
 
33
#define MAX_1x7135 130
33
34
#define DEFAULT_LEVEL 70
34
 
#define MAX_1x7135 130
35
35
#define HALFSPEED_LEVEL 12
36
36
#define QUARTERSPEED_LEVEL 4
37
37
 
38
 
// don't blink halfway up
39
 
#ifdef BLINK_AT_RAMP_MIDDLE
40
 
#undef BLINK_AT_RAMP_MIDDLE
41
 
#endif
42
 
 
43
38
#define RAMP_SMOOTH_FLOOR 10  // low levels may be unreliable
44
39
#define RAMP_SMOOTH_CEIL  130
45
40
// 10, 30, 50, [70], 90, 110, 130
52
47
#define SIMPLE_UI_CEIL RAMP_DISCRETE_CEIL
53
48
#define SIMPLE_UI_STEPS 5
54
49
 
55
 
// make candle mode wobble more
56
 
#define CANDLE_AMPLITUDE 30
57
 
 
58
50
// stop panicking at ~70% power or ~600 lm
59
51
#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
52
 
69
53
#define THERM_CAL_OFFSET 5
70
54
 
 
55
 
71
56
// the power regulator is a bit slow, so push it harder for a quick response from off
72
57
#define DEFAULT_JUMP_START_LEVEL 21
73
58
#define BLINK_BRIGHTNESS 50
74
59
#define BLINK_ONCE_TIME 12
75
60
 
 
61
// show each channel while it scroll by in the menu
 
62
#define USE_CONFIG_COLORS
 
63
 
 
64
// there is usually no lighted button, so
 
65
// blink numbers on the main LEDs by default (but allow user to change it)
 
66
#define DEFAULT_BLINK_CHANNEL  CM_MAIN
 
67
 
 
68
// slow down party strobe; this driver can't pulse for 1ms or less
 
69
// (only needed on no-FET build)
 
70
//#define PARTY_STROBE_ONTIME 2
 
71
 
 
72
// use aux red + aux blue for police strobe
 
73
#define USE_POLICE_COLOR_STROBE_MODE
 
74
#define POLICE_STROBE_USES_AUX
 
75
#define POLICE_COLOR_STROBE_CH1        CM_AUXRED
 
76
#define POLICE_COLOR_STROBE_CH2        CM_AUXBLU
 
77
 
 
78
// make candle mode wobble more
 
79
#define CANDLE_AMPLITUDE 30
 
80
 
 
81
// don't blink while ramping
 
82
#ifdef BLINK_AT_RAMP_MIDDLE
 
83
#undef BLINK_AT_RAMP_MIDDLE
 
84
#endif
 
85
 
76
86
// added for convenience
77
87
#define USE_SOFT_FACTORY_RESET
78
88