aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster
diff options
context:
space:
mode:
authorSelene ToyKeeper2019-11-29 15:01:34 -0700
committerSelene ToyKeeper2019-11-29 15:01:34 -0700
commit255133f7a652796e4386f469c90f6d71b5755088 (patch)
treef0203fbed33766f4a85adaf720b5a622b0d94753 /spaghetti-monster
parentenabled muggle mode again in all build targets, since it fits now (diff)
downloadanduril-255133f7a652796e4386f469c90f6d71b5755088.tar.gz
anduril-255133f7a652796e4386f469c90f6d71b5755088.tar.bz2
anduril-255133f7a652796e4386f469c90f6d71b5755088.zip
adjusted BLF Lantern (Sofirn LT1) tint ramping power correction factor to match production units
(also made the factor configurable per build target)
Diffstat (limited to 'spaghetti-monster')
-rw-r--r--spaghetti-monster/anduril/cfg-blf-lantern.h4
-rw-r--r--spaghetti-monster/fsm-ramping.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/spaghetti-monster/anduril/cfg-blf-lantern.h b/spaghetti-monster/anduril/cfg-blf-lantern.h
index bdcd893..35f25f1 100644
--- a/spaghetti-monster/anduril/cfg-blf-lantern.h
+++ b/spaghetti-monster/anduril/cfg-blf-lantern.h
@@ -27,6 +27,10 @@
// (one channel for warm emitters, one channel for cold)
// so enable a special ramping mode which changes tint instead of brightness
#define USE_TINT_RAMPING
+// how much to increase total brightness at middle tint
+// (0 = 100% brightness, 64 = 200% brightness)
+//#define TINT_RAMPING_CORRECTION 26 // prototype, 140%
+#define TINT_RAMPING_CORRECTION 6 // production model, 109%
#ifdef RAMP_LENGTH
#undef RAMP_LENGTH
diff --git a/spaghetti-monster/fsm-ramping.c b/spaghetti-monster/fsm-ramping.c
index 37c8073..8515885 100644
--- a/spaghetti-monster/fsm-ramping.c
+++ b/spaghetti-monster/fsm-ramping.c
@@ -72,6 +72,9 @@ void set_level(uint8_t level) {
level --;
#ifdef USE_TINT_RAMPING
+ #ifndef TINT_RAMPING_CORRECTION
+ #define TINT_RAMPING_CORRECTION 26 // 140% brightness at middle tint
+ #endif
// calculate actual PWM levels based on a single-channel ramp
// and a global tint value
uint8_t brightness = pgm_read_byte(pwm1_levels + level);
@@ -96,7 +99,7 @@ void set_level(uint8_t level) {
// correction is only necessary when PWM is fast
if (level > HALFSPEED_LEVEL) {
base_PWM = brightness
- + ((((uint16_t)brightness) * 26 / 64) * triangle_wave(mytint) / 255);
+ + ((((uint16_t)brightness) * TINT_RAMPING_CORRECTION / 64) * triangle_wave(mytint) / 255);
}
cool_PWM = (((uint16_t)mytint * (uint16_t)base_PWM) + 127) / 255;
If you find this content useful please consider a small donation via bitcoin: bitcoin:1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2?amount=0.001&message=Donation Scraping git contents via cgit is very resource intensive. The continued hosting of these git repositories is entirely financed by your bitcoin contributions. For donations of a least 1 mBTC you include your IP address in the message of your bitcoin donation. This will remove this message in the future for requests from your IP, which will significantly reduce token usage. In any case, any contributions to bitcoin address 1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2 are very welcome. Thanks in advance for you contribution to a self-sustaining ecosystem.