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
6
#define MODEL_NUMBER "0631"
7
#include "hwdef-sofirn-sp10-pro.h"
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
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_
22
#define HALFSPEED_LEVEL 15
23
#define QUARTERSPEED_LEVEL 15
24
#define DEFAULT_LEVEL 50
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
33
// at Sofirn's request, use max (150) for the Simple UI ceiling
35
#define SIMPLE_UI_FLOOR MAX_1x7135
36
#define SIMPLE_UI_CEIL 150
37
#define SIMPLE_UI_STEPS 5
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
45
// enable SOS in the blinkies group
47
#define USE_SOS_MODE_IN_BLINKY_GROUP
49
// Allow 3C in Simple UI for switching between smooth and stepped ramping
50
#define USE_SIMPLE_UI_RAMPING_TOGGLE
52
// and finally, set the default ramp style to Stepped
54
#define RAMP_STYLE 1 // 0 = smooth, 1 = stepped
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
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
64
// the default of 26 looks a bit flat, so increase it
65
#define CANDLE_AMPLITUDE 50
67
// enable 2 click turbo (replaces USE_2C_MAX_TURBO)
68
#define DEFAULT_2C_STYLE 1
70
// don't blink during the ramp or at the ceiling
71
#ifdef BLINK_AT_RAMP_MIDDLE
72
#undef BLINK_AT_RAMP_MIDDLE
74
#ifdef BLINK_AT_RAMP_CEIL
75
#undef BLINK_AT_RAMP_CEIL
79
// enable factory reset on 13H without loosening tailcap
80
#define USE_SOFT_FACTORY_RESET