diff options
| author | Selene ToyKeeper | 2019-03-12 02:13:05 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2019-03-12 02:13:05 -0600 |
| commit | 0554aef811ddc792a1b15c302f65d484bfa70ed9 (patch) | |
| tree | 19051c03356bec7f1a97f77256272176898546d1 /spaghetti-monster/fireflies-ui | |
| parent | first working rev of Fireflies UI, with changes basically as minimal as possible (diff) | |
| download | anduril-0554aef811ddc792a1b15c302f65d484bfa70ed9.tar.gz anduril-0554aef811ddc792a1b15c302f65d484bfa70ed9.tar.bz2 anduril-0554aef811ddc792a1b15c302f65d484bfa70ed9.zip | |
merged some (most) of ffui's changes back into anduril
Diffstat (limited to 'spaghetti-monster/fireflies-ui')
| -rw-r--r-- | spaghetti-monster/fireflies-ui/fireflies-ui.c | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/spaghetti-monster/fireflies-ui/fireflies-ui.c b/spaghetti-monster/fireflies-ui/fireflies-ui.c index 5ad5ad0..ba30605 100644 --- a/spaghetti-monster/fireflies-ui/fireflies-ui.c +++ b/spaghetti-monster/fireflies-ui/fireflies-ui.c @@ -54,11 +54,25 @@ #define USE_LIGHTNING_MODE #define USE_CANDLE_MODE +// enable sunset (goodnight) mode +#define USE_GOODNIGHT_MODE +#define GOODNIGHT_TIME 60 // minutes (approximately) +#define GOODNIGHT_LEVEL 24 // ~11 lm + +// enable beacon mode +#define USE_BEACON_MODE + //Muggle mode for easy UI #define USE_MUGGLE_MODE -#define GOODNIGHT_TIME 60 // minutes (approximately) -#define GOODNIGHT_LEVEL 24 // ~11 lm +// make the ramps configurable by the user +#define USE_RAMP_CONFIG + +// boring strobes nobody really likes, but sometimes flashlight companies want +// (these replace the fun strobe group, +// so don't enable them at the same time as any of the above strobes) +//#define USE_POLICE_STROBE_MODE +//#define USE_SOS_MODE // dual-switch support (second switch is a tail clicky) //#define START_AT_MEMORIZED_LEVEL @@ -67,7 +81,7 @@ #include "tk.h" #include incfile(CONFIGFILE) -// Fireflies-specific configuration +///// Fireflies-specific configuration // disable ramp config #ifdef USE_RAMP_CONFIG #undef USE_RAMP_CONFIG @@ -107,6 +121,11 @@ #define USE_POLICE_STROBE_MODE #define USE_SOS_MODE +// thermal config mode on 10 clicks from off +#define USE_TENCLICK_THERMAL_CONFIG + +///// end Fireflies-specific configuration + // thermal properties, if not defined per-driver #ifndef MIN_THERM_STEPDOWN #define MIN_THERM_STEPDOWN MAX_1x7135 // lowest value it'll step down to @@ -514,11 +533,13 @@ uint8_t off_state(Event event, uint16_t arg) { set_state(tempcheck_state, 0); return MISCHIEF_MANAGED; } + #ifdef USE_TENCLICK_THERMAL_CONFIG // 10 clicks: thermal config mode else if (event == EV_10clicks) { push_state(thermal_config_state, 0); return MISCHIEF_MANAGED; } + #endif return EVENT_NOT_HANDLED; } @@ -1614,7 +1635,7 @@ uint8_t thermal_config_state(Event event, uint16_t arg) { return config_state_base(event, arg, 2, thermal_config_save); } -#endif +#endif // #ifdef USE_THERMAL_REGULATION #ifdef USE_BEACON_MODE @@ -1630,7 +1651,7 @@ uint8_t beacon_config_state(Event event, uint16_t arg) { return config_state_base(event, arg, 1, beacon_config_save); } -#endif +#endif // #ifdef USE_BEACON_MODE uint8_t number_entry_state(Event event, uint16_t arg) { @@ -1797,11 +1818,13 @@ uint8_t triangle_wave(uint8_t phase) { void load_config() { if (load_eeprom()) { ramp_style = eeprom[ramp_style_e]; + #ifdef USE_RAMP_CONFIG ramp_smooth_floor = eeprom[ramp_smooth_floor_e]; ramp_smooth_ceil = eeprom[ramp_smooth_ceil_e]; ramp_discrete_floor = eeprom[ramp_discrete_floor_e]; ramp_discrete_ceil = eeprom[ramp_discrete_ceil_e]; ramp_discrete_steps = eeprom[ramp_discrete_steps_e]; + #endif #if defined(USE_PARTY_STROBE_MODE) || defined(USE_TACTICAL_STROBE_MODE) strobe_type = eeprom[strobe_type_e]; // TODO: move this to eeprom_wl? strobe_delays[0] = eeprom[strobe_delays_0_e]; @@ -1833,11 +1856,13 @@ void load_config() { void save_config() { eeprom[ramp_style_e] = ramp_style; + #ifdef USE_RAMP_CONFIG eeprom[ramp_smooth_floor_e] = ramp_smooth_floor; eeprom[ramp_smooth_ceil_e] = ramp_smooth_ceil; eeprom[ramp_discrete_floor_e] = ramp_discrete_floor; eeprom[ramp_discrete_ceil_e] = ramp_discrete_ceil; eeprom[ramp_discrete_steps_e] = ramp_discrete_steps; + #endif #if defined(USE_PARTY_STROBE_MODE) || defined(USE_TACTICAL_STROBE_MODE) eeprom[strobe_type_e] = strobe_type; // TODO: move this to eeprom_wl? eeprom[strobe_delays_0_e] = strobe_delays[0]; |
