From 03b7473d4faddcb87a5e82205a42028768e7c177 Mon Sep 17 00:00:00 2001 From: Gediminas Jakutis Date: Sat, 19 May 2018 12:02:08 +0300 Subject: add support for "live"-flashing new settings. --- src/tempmodule/indicator.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/tempmodule/indicator.c') diff --git a/src/tempmodule/indicator.c b/src/tempmodule/indicator.c index 2968958..16df495 100644 --- a/src/tempmodule/indicator.c +++ b/src/tempmodule/indicator.c @@ -19,6 +19,8 @@ */ #include "indicator.h" +#include "configuration.h" +#include "volatile_ops.h" #define HIGH 1 #define LOW 0 @@ -38,8 +40,9 @@ static const unsigned int greenled = 4; /* D2 */ static const unsigned int blueled = 14; /* D5 */ static void indicator_set_state(unsigned int red, unsigned int green, unsigned int blue); +static void indicator_calibrate(int const * const calibration); -void indicator_init(int temp, unsigned int const * const calibration) +void indicator_init(int temp) { static const int default_calibration[] = {3430, 3330, 3230, 3130}; @@ -49,11 +52,7 @@ void indicator_init(int temp, unsigned int const * const calibration) state.current_temp = temp; - if (calibration) { - indicator_calibrate(calibration); - } else { - indicator_calibrate(default_calibration); - } + indicator_calibrate(configuration.calibration); } @@ -79,9 +78,9 @@ void indicator_update(const int temp, const unsigned int on) } } -void indicator_calibrate(int const * const calibration) +static void indicator_calibrate(int const * const calibration) { - memcpy(state.calibration, calibration, sizeof(state.calibration)); + volatile_memcpy(state.calibration, calibration, sizeof(state.calibration)); indicator_update(state.current_temp, 1); } -- cgit v1.2.3