aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-d4v2-nofet
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-03 09:07:37 -0600
committerSelene ToyKeeper2023-11-03 09:07:37 -0600
commitcf0ed5c4bd07e191088977722010e9eec94a7c05 (patch)
tree4c2e4156a74cf3a6f1bad1f1d4b5087bb74a9f32 /hw/hank/emisar-d4v2-nofet
parentfixed compile scripts and added a "./make" wrapper for convenience (diff)
downloadanduril-cf0ed5c4bd07e191088977722010e9eec94a7c05.tar.gz
anduril-cf0ed5c4bd07e191088977722010e9eec94a7c05.tar.bz2
anduril-cf0ed5c4bd07e191088977722010e9eec94a7c05.zip
moved variant builds under their parent, like "d4-219" -> "d4/219"
Diffstat (limited to 'hw/hank/emisar-d4v2-nofet')
-rw-r--r--hw/hank/emisar-d4v2-nofet/anduril.h62
-rw-r--r--hw/hank/emisar-d4v2-nofet/hwdef.c55
2 files changed, 0 insertions, 117 deletions
diff --git a/hw/hank/emisar-d4v2-nofet/anduril.h b/hw/hank/emisar-d4v2-nofet/anduril.h
deleted file mode 100644
index e0f8692..0000000
--- a/hw/hank/emisar-d4v2-nofet/anduril.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Emisar D4v2-noFET config options for Anduril
-// Copyright (C) 2020-2023 Selene ToyKeeper
-// SPDX-License-Identifier: GPL-3.0-or-later
-#pragma once
-
-// switch to 1-channel support functions
-#define HWDEF_C_FILE hank/emisar-d4v2-nofet/hwdef.c
-
-#include "hank/emisar-d4v2/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0115"
-// ATTINY: 1634
-
-// the ramp uses only 1x7135 chip, max ~130 lm
-#undef PWM_CHANNELS
-#define PWM_CHANNELS 1
-
-#undef PWM1_LEVELS
-#undef PWM2_LEVELS
-#undef PWM_TOPS
-//#define PWM1_LEVELS 1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,6,7,8,8,9,9,10,10,11,12,13,13,14,15,16,16,17,18,19,20,21,22,23,23,24,26,27,28,29,30,31,32,33,34,36,37,38,39,41,42,43,45,46,47,49,50,52,53,55,56,58,59,61,62,64,66,67,69,71,72,74,76,78,80,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,116,118,120,122,125,127,129,132,134,136,139,141,144,146,148,151,154,156,159,161,164,166,169,172,174,177,180,183,185,188,191,194,197,200,203,205,208,211,214,217,220,223,226,230,233,236,239,242,245,249,252,255
-// level_calc.py 3.01 1 150 7135 -1 0.1 140 --pwm dyn:64:4096:255:3 --clock 11:21:8.0
-// (and some manual tweaks to make half/quarter speed levels less bumpy)
-#define PWM1_LEVELS 1,1,2,2,3,4,4,5,6,7,9,10,11,11,12,13,13,14,15,15,18,18,17,18,18,19,19,19,19,19,20,20,20,20,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,21,21,22,23,24,24,26,27,28,29,30,31,32,33,34,35,36,38,39,40,42,43,44,46,47,49,50,52,53,55,56,58,60,62,63,65,67,69,71,73,75,77,79,81,83,85,88,90,92,95,97,100,102,105,107,110,112,115,118,121,124,127,129,132,135,139,142,145,148,151,155,158,162,165,169,172,176,179,183,187,191,195,199,203,207,211,215,219,223,228,232,237,241,246,250,255
-#define PWM_TOPS 4094,2719,3280,1954,2599,3032,2342,2548,2626,2635,2246,2261,2244,1964,1956,1929,1743,1733,1763,1697,1492,1362,1245,1231,1132,1118,1034,958,889,826,821,767,717,671,629,591,556,523,493,465,440,416,394,373,354,336,319,304,299,293,279,282,269,257,260,249,251,252,253,243,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,255
-
-#undef MAX_1x7135
-#define MAX_1x7135 150
-#undef QUARTERSPEED_LEVEL
-#undef HALFSPEED_LEVEL
-#define QUARTERSPEED_LEVEL 11
-#define HALFSPEED_LEVEL 21
-
-#undef DEFAULT_LEVEL
-#define DEFAULT_LEVEL 80
-
-#undef RAMP_SMOOTH_CEIL
-#define RAMP_SMOOTH_CEIL 150
-// 10, 45, 80, 115, 150
-#undef RAMP_DISCRETE_FLOOR
-#undef RAMP_DISCRETE_CEIL
-#undef RAMP_DISCRETE_STEPS
-#define RAMP_DISCRETE_FLOOR 10
-#define RAMP_DISCRETE_CEIL 150
-#define RAMP_DISCRETE_STEPS 5
-
-// safe limit ~100% power because no FET
-#undef SIMPLE_UI_FLOOR
-#undef SIMPLE_UI_CEIL
-#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR
-#define SIMPLE_UI_CEIL RAMP_DISCRETE_CEIL
-
-#undef CANDLE_AMPLITUDE
-#define CANDLE_AMPLITUDE 60
-
-#undef THERM_FASTER_LEVEL
-#define THERM_FASTER_LEVEL 150
-
-// maybe keep this, in case someone uses a higher power channel?
-//#undef USE_THERMAL_REGULATION
-//#undef USE_SET_LEVEL_GRADUALLY
-
diff --git a/hw/hank/emisar-d4v2-nofet/hwdef.c b/hw/hank/emisar-d4v2-nofet/hwdef.c
deleted file mode 100644
index 971c06e..0000000
--- a/hw/hank/emisar-d4v2-nofet/hwdef.c
+++ /dev/null
@@ -1,55 +0,0 @@
-// Emisar D4v2 (no DD FET, 1x7135 only) PWM helper functions
-// Copyright (C) 2017-2023 Selene ToyKeeper
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#pragma once
-
-#include "fsm/chan-rgbaux.c"
-
-void set_level_zero();
-
-void set_level_main(uint8_t level);
-bool gradual_tick_main(uint8_t gt);
-
-
-Channel channels[] = {
- { // main LEDs
- .set_level = set_level_main,
- .gradual_tick = gradual_tick_main
- },
- RGB_AUX_CHANNELS
-};
-
-
-void set_level_zero() {
- CH1_PWM = 0;
- PWM_CNT = 0; // reset phase
-}
-
-// single set of LEDs with just a 1x7135 chip, max 350 mA or ~130 lm
-void set_level_main(uint8_t level) {
- PWM_DATATYPE ch1_pwm = PWM_GET(pwm1_levels, level);
- // pulse frequency modulation, a.k.a. dynamic PWM
- uint16_t top = PWM_GET16(pwm_tops, level);
-
- CH1_PWM = ch1_pwm;
- // wait to sync the counter and avoid flashes
- while(actual_level && (PWM_CNT > (top - 32))) {}
- PWM_TOP = top;
- // force reset phase when turning on from zero
- // (because otherwise the initial response is inconsistent)
- if (! actual_level) PWM_CNT = 0;
-}
-
-bool gradual_tick_main(uint8_t gt) {
- PWM_DATATYPE pwm1 = PWM_GET(pwm1_levels, gt);
-
- GRADUAL_ADJUST_SIMPLE (pwm1, CH1_PWM);
-
- if ( (pwm1 == CH1_PWM)
- ) {
- return true; // done
- }
- return false; // not done yet
-}
-