diff options
author | 2018-05-19 12:02:08 +0300 | |
---|---|---|
committer | 2018-05-19 12:02:08 +0300 | |
commit | 03b7473d4faddcb87a5e82205a42028768e7c177 (patch) | |
tree | 8c21b9d4ef03a82740fc63f7b0512200dbdd4a0d /src/tempmodule/indicator.c | |
parent | 224585cfb9502534032078f4f059588185490c09 (diff) | |
download | coffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.tar.gz coffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.tar.bz2 coffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.zip |
add support for "live"-flashing new settings.
Diffstat (limited to 'src/tempmodule/indicator.c')
-rw-r--r-- | src/tempmodule/indicator.c | 15 |
1 files changed, 7 insertions, 8 deletions
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); } |