~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/cfg-mateminco-mf01s.h

  • Committer: Selene ToyKeeper
  • Date: 2023-11-04 15:09:10 UTC
  • mfrom: (483.1.175 anduril2)
  • Revision ID: bzr@toykeeper.net-20231104150910-ddd3afw4nhfvof2l
merged anduril2 branch -> fsm, with *years* of changes
(this also means this code is now Anduril 2 instead of Anduril 1)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Mateminco/Astrolux MF01S options for Anduril
2
 
#include "hwdef-Mateminco_MF01S.h"
 
1
// Mateminco MT18S / Astrolux MF01S options for Anduril
 
2
// Copyright (C) 2019-2023 Selene ToyKeeper
 
3
// SPDX-License-Identifier: GPL-3.0-or-later
 
4
#pragma once
 
5
 
 
6
#define MODEL_NUMBER "0511"
 
7
#include "hwdef-mateminco-mf01s.h"
 
8
// ATTINY: 85
3
9
 
4
10
// the button lights up
5
11
#define USE_INDICATOR_LED
6
12
// the button is visible while main LEDs are on
7
13
//#define USE_INDICATOR_LED_WHILE_RAMPING
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
14
// off mode: low (1)
13
15
// lockout: blinking (3)
14
16
#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1)
15
17
 
16
18
 
17
 
// don't blink during ramp, it's irrelevant and annoying on this light
18
 
#define BLINK_AT_RAMP_CEILING
19
 
#undef BLINK_AT_RAMP_MIDDLE
20
 
#undef BLINK_AT_RAMP_FLOOR
 
19
#define RAMP_SIZE 150
21
20
 
22
21
// measured brightness with 4x30Q cells at 4.11V:
23
22
// moon: 2.5 lm
25
24
// channel 2: 13500 lm
26
25
// ../../../bin/level_calc.py seventh 2 150 7135 1 12 717 FET 1 10 13000
27
26
// (with some manual tweaks afterward)
28
 
#define RAMP_LENGTH 150
29
27
#define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,5,6,7,7,8,9,10,11,12,13,14,15,17,18,19,21,22,24,26,28,30,32,34,36,38,41,44,46,49,52,55,59,62,66,70,74,78,83,87,92,97,102,108,114,120,126,133,139,147,154,162,170,178,187,196,206,215,226,236,248,255,235,255,240,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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
28
#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,1,2,2,3,3,4,4,5,6,7,8,9,10,11,12,13,14,16,17,19,20,22,23,25,26,28,30,31,33,35,37,39,41,43,45,47,49,52,54,57,59,62,65,67,70,73,76,80,83,86,90,93,97,101,105,109,113,117,122,126,131,135,140,145,151,156,161,167,173,179,185,191,197,204,211,218,225,232,239,247,255
 
29
 
31
30
#define MAX_1x7135 70  // ~626 lm
32
31
#define HALFSPEED_LEVEL 23
33
32
#define QUARTERSPEED_LEVEL 6
34
33
 
35
34
#define RAMP_SMOOTH_FLOOR 1   // ~2.5 lm
36
 
#define RAMP_SMOOTH_CEIL 120  // ~5400 lm
 
35
#define RAMP_SMOOTH_CEIL  120  // ~5400 lm
37
36
// 20, 36, 53, [70], 86, 103, 120
38
37
#define RAMP_DISCRETE_FLOOR 20 // 35 lm
39
 
#define RAMP_DISCRETE_CEIL 120 // ~5400 lm
 
38
#define RAMP_DISCRETE_CEIL  120 // ~5400 lm
40
39
#define RAMP_DISCRETE_STEPS 7  // 35, 108, 280, 626, 1500, 2930, 5400 lm
41
40
 
42
 
#define USE_TENCLICK_THERMAL_CONFIG  // by request
 
41
// safe limit ~25% power
 
42
// 18 35 52 [70] 87 105
 
43
#define SIMPLE_UI_FLOOR 18
 
44
#define SIMPLE_UI_CEIL 105
 
45
#define SIMPLE_UI_STEPS 6
 
46
 
43
47
#define THERM_FASTER_LEVEL 125  // throttle back faster when high (>6000 lm)
44
48
#define THERM_HARD_TURBO_DROP  // this light is massively overpowered
45
49
 
 
50
// don't blink during ramp, it's irrelevant and annoying on this light
 
51
#define BLINK_AT_RAMP_CEIL
 
52
#undef BLINK_AT_RAMP_MIDDLE
 
53
#undef BLINK_AT_RAMP_FLOOR
 
54
 
 
55
// enable extra features
 
56
#define USE_SMOOTH_STEPS
 
57
 
 
58
// too big, turn off extra features
 
59
#undef USE_TACTICAL_MODE
 
60
#undef USE_SOS_MODE
 
61