diff options
| author | Selene ToyKeeper | 2019-05-09 23:59:35 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2019-05-09 23:59:35 -0600 |
| commit | 75afd1d8843ec8d6f0cf46acb0d4a33c733ae3cc (patch) | |
| tree | d12491c148f45fbec41eec9424bbc432ee2041e9 | |
| parent | added a FAQ about muggle mode stepping down (diff) | |
| download | anduril-75afd1d8843ec8d6f0cf46acb0d4a33c733ae3cc.tar.gz anduril-75afd1d8843ec8d6f0cf46acb0d4a33c733ae3cc.tar.bz2 anduril-75afd1d8843ec8d6f0cf46acb0d4a33c733ae3cc.zip | |
Added Mateminco MF01S build target.
| -rw-r--r-- | hwdef-Mateminco_MF01S.h | 60 | ||||
| -rw-r--r-- | spaghetti-monster/anduril/cfg-mateminco-mf01s.h | 44 |
2 files changed, 104 insertions, 0 deletions
diff --git a/hwdef-Mateminco_MF01S.h b/hwdef-Mateminco_MF01S.h new file mode 100644 index 0000000..ab1c5bf --- /dev/null +++ b/hwdef-Mateminco_MF01S.h @@ -0,0 +1,60 @@ +#ifndef HWDEF_MF01S_H +#define HWDEF_MF01S_H + +/* MF01S driver layout + * ---- + * Reset -|1 8|- VCC (unused) + * eswitch -|2 7|- Voltage divider (2S) + * AUX LED -|3 6|- PWM (FET) + * GND -|4 5|- PWM (smaller FET) + * ---- + */ + +#define PWM_CHANNELS 2 + +#ifndef AUXLED_PIN +#define AUXLED_PIN PB4 // pin 3 +#endif + +#ifndef SWITCH_PIN +#define SWITCH_PIN PB3 // pin 2 +#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt +#endif + +#ifndef PWM1_PIN +#define PWM1_PIN PB0 // pin 5, 1x7135 PWM +#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0 +#endif +#ifndef PWM2_PIN +#define PWM2_PIN PB1 // pin 6, FET PWM +#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1 +#endif + +#define USE_VOLTAGE_DIVIDER // use a voltage divider on pin 7, not VCC +#ifndef VOLTAGE_PIN +#define VOLTAGE_PIN PB2 // pin 7, voltage ADC +#define VOLTAGE_CHANNEL 0x01 // MUX 01 corresponds with PB2 +#define VOLTAGE_ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2 +// 1.1V reference, left-adjust, ADC1/PB2 +//#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | (1 << ADLAR) | VOLTAGE_CHANNEL) +// 1.1V reference, no left-adjust, ADC1/PB2 +#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | VOLTAGE_CHANNEL) +#endif +#define ADC_PRSCL 0x06 // clk/64 + +// Raw ADC readings at 4.4V and 2.2V (in-between, we assume values form a straight line) +#ifndef ADC_44 +#define ADC_44 234 +#endif +#ifndef ADC_22 +#define ADC_22 117 +#endif + +#define TEMP_CHANNEL 0b00001111 + +#define FAST 0xA3 // fast PWM both channels +#define PHASE 0xA1 // phase-correct PWM both channels + +#define LAYOUT_DEFINED + +#endif diff --git a/spaghetti-monster/anduril/cfg-mateminco-mf01s.h b/spaghetti-monster/anduril/cfg-mateminco-mf01s.h new file mode 100644 index 0000000..aed1188 --- /dev/null +++ b/spaghetti-monster/anduril/cfg-mateminco-mf01s.h @@ -0,0 +1,44 @@ +// Mateminco/Astrolux MF01S options for Anduril +#include "hwdef-Mateminco_MF01S.h" + +// the button lights up +#define USE_INDICATOR_LED +// the button is visible while main LEDs are on +//#define USE_INDICATOR_LED_WHILE_RAMPING +// enable blinking indicator LED while off +#define TICK_DURING_STANDBY +#define STANDBY_TICK_SPEED 3 // every 0.128 s +#define USE_FANCIER_BLINKING_INDICATOR +// off mode: low (1) +// lockout: blinking (3) +#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1) + + +// don't blink during ramp, it's irrelevant and annoying on this light +#define BLINK_AT_RAMP_CEILING +#undef BLINK_AT_RAMP_MIDDLE +#undef BLINK_AT_RAMP_FLOOR + +// measured brightness with 4x30Q cells at 4.11V: +// moon: 2.5 lm +// channel 1: 617 lm +// channel 2: 13500 lm +// ../../../bin/level_calc.py seventh 2 150 7135 1 12 717 FET 3 10 13000 +#define RAMP_LENGTH 150 +#define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,5,6,7,7,8,9,10,11,12,13,14,15,16,18,19,20,22,24,25,27,29,31,33,35,38,40,43,46,48,51,55,58,61,65,69,73,77,81,86,90,95,101,106,112,118,124,130,137,144,151,159,167,175,184,193,202,212,222,232,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,0 +#define PWM2_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,6,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,24,25,27,28,30,31,33,35,37,38,40,42,44,47,49,51,53,56,58,61,63,66,69,72,75,78,81,84,88,91,95,98,102,106,110,114,118,123,127,132,136,141,146,151,157,162,168,173,179,185,191,198,204,211,218,225,232,240,247,255 +#define MAX_1x7135 70 // ~626 lm +#define HALFSPEED_LEVEL 23 +#define QUARTERSPEED_LEVEL 6 + +#define RAMP_SMOOTH_FLOOR 1 // ~2.5 lm +#define RAMP_SMOOTH_CEIL 120 // ~5400 lm +// 20, 36, 53, [70], 86, 103, 120 +#define RAMP_DISCRETE_FLOOR 20 // 35 lm +#define RAMP_DISCRETE_CEIL 120 // ~5400 lm +#define RAMP_DISCRETE_STEPS 7 // 35, 108, 280, 626, 1500, 2930, 5400 lm + +#define USE_TENCLICK_THERMAL_CONFIG // by request +#define THERM_FASTER_LEVEL 125 // throttle back faster when high (>6000 lm) +#define THERM_HARD_TURBO_DROP // this light is massively overpowered + |
