diff options
| author | Selene ToyKeeper | 2023-04-15 15:55:47 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2023-04-15 15:55:47 -0600 |
| commit | 951758c23dca945e856239d913df0fc54aa0de51 (patch) | |
| tree | b84c905227b80b634b9afbf28a970a854b08c7f3 /spaghetti-monster | |
| parent | LT1S: added thermal regulation (diff) | |
| download | anduril-951758c23dca945e856239d913df0fc54aa0de51.tar.gz anduril-951758c23dca945e856239d913df0fc54aa0de51.tar.bz2 anduril-951758c23dca945e856239d913df0fc54aa0de51.zip | |
LT1S Pro: reduced visibility of PWM by dropping the TOP values faster
(and reduced mid-ramp "stall" behavior)
The red channel seems to behave a little better too,
when PWM is limited to 9 kHz or so instead of 10 kHz.
It really starts spazzing out at even 10.1 kHz, 1% above its spec,
and behaves nicer at 9 kHz or below.
Diffstat (limited to 'spaghetti-monster')
| -rw-r--r-- | spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h b/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h index fbcbf59..4b4d4b2 100644 --- a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h +++ b/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h @@ -1,4 +1,5 @@ // Sofirn LT1S Pro +#pragma once #define MODEL_NUMBER "0623" #include "hwdef-Sofirn_LT1S-Pro.h" @@ -35,19 +36,16 @@ // TODO? 200% power at top of ramp on white blend mode // use dynamic PWM instead of plain 8-bit // (so we can get lower lows and a smoother ramp) -// level_calc.py 5.99 1 150 7135 1 0.2 600 --pwm dyn:74:16383:511 -// (with a few manual tweaks at the mid-point) -#define PWM_LEVELS 1,1,2,3,3,4,5,6,7,8,9,10,11,13,14,16,17,19,20,22,24,26,28,30,32,34,36,38,41,43,46,48,51,54,56,59,62,65,67,70,73,76,79,82,84,87,90,92,95,97,99,101,103,105,106,107,108,108,109,108,108,107,105,103,101,97,93,89,83,77,70,62,53,43,36,37,38,39,40,42,44,46,48,50,52,54,56,58,60,63,65,68,71,74,77,80,83,87,90,94,98,101,105,109,114,118,123,127,132,137,142,147,153,158,164,170,176,183,189,196,203,210,217,224,232,240,248,257,265,274,283,293,302,312,322,333,343,354,366,377,389,401,414,427,440,453,467,481,496,511 -#define PWM_TOPS 16383,11015,13411,15497,11274,12834,13512,13749,13735,13565,13292,12948,12555,13284,12747,13087,12495,12621,12010,12007,11928,11790,11609,11395,11155,10895,10622,10338,10307,9996,9905,9581,9452,9302,8973,8806,8627,8440,8124,7935,7743,7549,7354,7159,6883,6696,6511,6260,6084,5851,5628,5414,5210,5014,4782,4562,4355,4120,3937,3694,3501,3288,3060,2848,2651,2418,2202,2003,1775,1566,1353,1140,926,713,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511,511 +// (also, red LEDs use a QX7138 chip which has max PWM speed of 10 kHz, +// and it behaves erratically at full speed, +// so PWM here is 576 clock cycles long to keep the speed low enough) +// level_calc.py 5.99 1 150 7135 1 0.2 600 --pwm dyn:77:16383:575:3 +#define PWM_LEVELS 1,1,2,2,3,4,4,5,6,6,7,8,9,9,10,11,11,12,13,13,14,15,15,16,16,17,18,18,19,19,19,20,20,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,24,24,24,25,26,26,27,28,29,30,32,33,34,36,38,40,42,44,46,48,50,52,55,57,59,62,65,68,70,73,77,80,83,86,90,94,97,101,105,110,114,118,123,128,133,138,143,148,154,160,166,172,178,185,191,198,205,213,220,228,236,244,252,261,270,279,289,298,308,319,329,340,351,363,374,386,399,411,424,438,452,466,480,495,510,526,542,558,575 +#define PWM_TOPS 16383,10869,13246,8043,11458,12772,10093,11043,11450,9664,9991,10091,10048,8868,8838,8730,7814,7724,7589,6864,6748,6604,6024,5899,5398,5287,5159,4754,4638,4287,3963,3876,3594,3511,3265,3038,2829,2770,2586,2417,2260,2115,1981,1857,1742,1636,1537,1445,1360,1281,1207,1138,1073,1013,957,904,855,848,803,760,720,714,677,643,637,630,599,592,585,577,569,579,570,560,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575 // shared table for white and red #define PWM1_LEVELS PWM_LEVELS #define MAX_1x7135 75 #define MIN_THERM_STEPDOWN 75 // should be above highest dyn_pwm level -// FIXME: clock at 5 MHz w/ full+half+quarter speeds, -// instead of 10 MHz with w/ only half+quarter -// (10 MHz is just wasting power) -// red LEDs use a QX7138 chip which has max PWM speed of 10 kHz, -// so PWM is 512 clock cycles long to avoid running faster than that #define HALFSPEED_LEVEL 12 #define QUARTERSPEED_LEVEL 5 |
