summaryrefslogtreecommitdiffstats
path: root/src/tempmodule/indicator.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tempmodule/indicator.c')
-rw-r--r--src/tempmodule/indicator.c15
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);
}