From b7f6dd21c396d1431e8864158d1868620ae334d6 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Mon, 16 Mar 2020 03:33:51 -0600 Subject: fixed a few things in ramping-ui, rampingiosv3, and werner's UI (just copied a few updates from anduril, particularly regarding FSM's "temperature" variable) --- spaghetti-monster/werner/werner.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'spaghetti-monster/werner/werner.c') diff --git a/spaghetti-monster/werner/werner.c b/spaghetti-monster/werner/werner.c index 7c47cd7..4159fc6 100644 --- a/spaghetti-monster/werner/werner.c +++ b/spaghetti-monster/werner/werner.c @@ -467,14 +467,15 @@ void thermal_config_save() { // calibrate room temperature val = config_state_values[0]; if (val) { - int8_t rawtemp = (temperature >> 1) - therm_cal_offset; + int8_t rawtemp = temperature - therm_cal_offset; therm_cal_offset = val - rawtemp; + reset_thermal_history = 1; // invalidate all recent temperature data } val = config_state_values[1]; if (val) { // set maximum heat limit - therm_ceil = 30 + val; + therm_ceil = 30 + val - 1; } if (therm_ceil > MAX_THERM_CEIL) therm_ceil = MAX_THERM_CEIL; } @@ -589,7 +590,7 @@ uint8_t nearest_level(int16_t target) { for(uint8_t i=0; i>1)) return this_level; @@ -684,9 +685,6 @@ void loop() { StatePtr state = current_state; - #ifdef USE_DYNAMIC_UNDERCLOCKING - auto_clock_speed(); - #endif if (0) {} #ifdef USE_BATTCHECK @@ -697,7 +695,7 @@ void loop() { #ifdef USE_THERMAL_REGULATION // TODO: blink out therm_ceil during thermal_config_state else if (state == tempcheck_state) { - blink_num(temperature>>1); + blink_num(temperature); nice_delay_ms(1000); } #endif -- cgit v1.2.3 From 56bfa48fa0f694894b4befdfa9858971004fd101 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 14 May 2020 16:50:48 -0600 Subject: fixed builds of Werner's UI on targets which had been failing (Noctigon K1, BLF LT1 Lantern, and all attiny1634 targets) --- spaghetti-monster/werner/werner.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'spaghetti-monster/werner/werner.c') diff --git a/spaghetti-monster/werner/werner.c b/spaghetti-monster/werner/werner.c index 4159fc6..1c3d4ad 100644 --- a/spaghetti-monster/werner/werner.c +++ b/spaghetti-monster/werner/werner.c @@ -33,6 +33,10 @@ //#define BATTCHECK_8bars // FIXME: breaks build //#define BATTCHECK_4bars // FIXME: breaks build +// cut clock speed at very low modes for better efficiency +// (defined here so config files can override it) +#define USE_DYNAMIC_UNDERCLOCKING + /***** specific settings for known driver types *****/ #ifdef CONFIGFILE #include "tk.h" @@ -63,7 +67,6 @@ #define RAMP_LENGTH 150 // default, if not overridden in a driver cfg file #define USE_BATTCHECK #define USE_IDLE_MODE // reduce power use while awake and no tasks are pending -#define USE_DYNAMIC_UNDERCLOCKING // cut clock speed at very low modes for better efficiency // auto-detect how many eeprom bytes #define USE_EEPROM @@ -369,12 +372,14 @@ uint8_t battcheck_state(Event event, uint16_t arg) { set_state(off_state, 0); return MISCHIEF_MANAGED; } + #ifdef USE_THERMAL_REGULATION // 2 clicks: tempcheck mode else if (event == EV_2clicks) { blink_confirm(2); set_state(tempcheck_state, 0); return MISCHIEF_MANAGED; } + #endif return EVENT_NOT_HANDLED; } #endif -- cgit v1.2.3