~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/cfg-sofirn-sp10-pro.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
// Sofirn SP10 Pro config options for Anduril
 
2
// Copyright (C) 2022-2023 (original author TBD), Selene ToyKeeper
 
3
// SPDX-License-Identifier: GPL-3.0-or-later
 
4
#pragma once
 
5
 
 
6
#define MODEL_NUMBER "0631"
 
7
#include "hwdef-sofirn-sp10-pro.h"
 
8
// ATTINY: 1616
 
9
 
 
10
// 1....15: level_calc.py 3.01 1  15 7135 1 0.1   2 --pwm dyn:15:64:64
 
11
// 16..150: level_calc.py 5.01 1 135 7135 1   2 800 --pwm dyn:49:3072:255:3.0
 
12
#define RAMP_SIZE 150
 
13
#define _PWM1_LEVELS_  1, 2, 4, 6, 9,12,15,19,23,28,34,41,48,55,64
 
14
#define _PWM1_TOPS_   64,64,64,64,64,64,64,64,64,64,64,64,64,64,64
 
15
#define _PWM2_LEVELS_    1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   6,   7,   7,   7,   7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9, 10, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 39, 41, 42, 44, 46, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 70, 72, 74, 77, 79, 82, 85, 88, 90, 93, 96, 99,103,106,109,113,116,120,123,127,131,135,139,143,147,151,156,160,165,170,175,180,185,190,195,201,206,212,218,223,230,236,242,248,255
 
16
#define _PWM2_TOPS_   3072,1960,2372,1476,2097,1572,1920,1570,1777,1524,1646,1454,1286,1369,1234,1115,1011,918,837,894,823,759,702,650,603,560,522,487,455,425,398,374,351,330,310,292,275,259,280,265,251,266,253,240,252,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
 
17
#define PWM1_LEVELS   _PWM1_LEVELS_,_PWM2_TOPS_
 
18
#define PWM2_LEVELS   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_PWM2_LEVELS_
 
19
#define PWM_TOPS      _PWM1_TOPS_,_PWM2_TOPS_
 
20
 
 
21
#define MAX_1x7135         15
 
22
#define HALFSPEED_LEVEL    15
 
23
#define QUARTERSPEED_LEVEL 15
 
24
#define DEFAULT_LEVEL      50
 
25
 
 
26
#define RAMP_SMOOTH_FLOOR    1
 
27
#define RAMP_SMOOTH_CEIL     150
 
28
// 1 25 50 [75] 100 125 150
 
29
#define RAMP_DISCRETE_FLOOR  1
 
30
#define RAMP_DISCRETE_CEIL   RAMP_SMOOTH_CEIL
 
31
#define RAMP_DISCRETE_STEPS  7
 
32
 
 
33
// at Sofirn's request, use max (150) for the Simple UI ceiling
 
34
// 15 48 [82] 116 150
 
35
#define SIMPLE_UI_FLOOR  MAX_1x7135
 
36
#define SIMPLE_UI_CEIL   150
 
37
#define SIMPLE_UI_STEPS   5
 
38
 
 
39
// turn on at ~6 lm by default (level 50/150, or ramp step 2/5 or 3/7)
 
40
// (also sets lockout mode 2H to a useful level)
 
41
#define DEFAULT_MANUAL_MEMORY 50
 
42
// reset to default after being off for 10 minutes
 
43
#define DEFAULT_MANUAL_MEMORY_TIMER 10
 
44
 
 
45
// enable SOS in the blinkies group
 
46
#define USE_SOS_MODE
 
47
#define USE_SOS_MODE_IN_BLINKY_GROUP
 
48
 
 
49
// Allow 3C in Simple UI for switching between smooth and stepped ramping
 
50
#define USE_SIMPLE_UI_RAMPING_TOGGLE
 
51
 
 
52
// and finally, set the default ramp style to Stepped
 
53
#undef RAMP_STYLE
 
54
#define RAMP_STYLE 1  // 0 = smooth, 1 = stepped
 
55
 
 
56
// stop panicking at ~30% power
 
57
#define THERM_FASTER_LEVEL 105
 
58
#define MIN_THERM_STEPDOWN 65  // must be > end of dynamic PWM range
 
59
 
 
60
// slow down party strobe; this driver can't pulse for too short a time
 
61
//#define PARTY_STROBE_ONTIME 8
 
62
#define STROBE_OFF_LEVEL 1  // keep the regulator chip on between pulses
 
63
 
 
64
// the default of 26 looks a bit flat, so increase it
 
65
#define CANDLE_AMPLITUDE 50
 
66
 
 
67
// enable 2 click turbo (replaces USE_2C_MAX_TURBO)
 
68
#define DEFAULT_2C_STYLE 1
 
69
 
 
70
// don't blink during the ramp or at the ceiling
 
71
#ifdef BLINK_AT_RAMP_MIDDLE
 
72
#undef BLINK_AT_RAMP_MIDDLE
 
73
#endif
 
74
#ifdef BLINK_AT_RAMP_CEIL
 
75
#undef BLINK_AT_RAMP_CEIL
 
76
#endif
 
77
 
 
78
 
 
79
// enable factory reset on 13H without loosening tailcap
 
80
#define USE_SOFT_FACTORY_RESET
 
81