X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fsensor.c;h=e13698893065468e2ee6e0df46722aafd9d90ddd;hb=e3e7914fe2f59765e5f92371329652a02518928c;hp=9c3d2b4dbb0f9ef65474a6e52a1dc688d6a4570e;hpb=450583abb79d5fedb0debabed073d9b191dac80c;p=matches%2FMCTX3420.git diff --git a/server/sensor.c b/server/sensor.c index 9c3d2b4..e136988 100644 --- a/server/sensor.c +++ b/server/sensor.c @@ -45,8 +45,6 @@ int Sensor_Add(const char * name, int user_id, ReadFn read, InitFn init, CleanFn s->name = name; s->read = read; // Set read function s->init = init; // Set init function - if (init != NULL) - init(name, user_id); // Call it // Start by averaging values taken over a second s->sample_us = 1e6; @@ -54,6 +52,14 @@ int Sensor_Add(const char * name, int user_id, ReadFn read, InitFn init, CleanFn // Set sanity function s->sanity = sanity; + + if (init != NULL) + { + if (!init(name, user_id)) + Fatal("Couldn't init sensor %s", name); + } + + return g_num_sensors; }