+++ /dev/null
-#warning revise me!
-
-
-/**
- * DECLARE_SMEAN(temperature, uint8_t, uint16_t);
- * for (i = 0; i < TEMP_MEANS; ++i)
- * SMEAN_ADD(temperature, adc_get(), TEMP_MEANS);
- * printf("mean temperature = %d\n", SMEAN_GET(temperature));
- */
-
-/**
- * Instantiate a mean instance
- */
-#define DECLARE_SMEAN(name, Type, SumType) \
- struct { \
- SumType sum; \
- Type result; \
- int count; \
- } name = { 0, 0, 0 }
-
-/**
- * Insert a new sample into the mean.
- *
- * \note \a mean and \a max_samples are evaluated multiple times
- */
-#define SMEAN_ADD(mean, sample, max_samples) \
- do { \
- (mean).sum += (sample); \
- if ((mean).count++ >= (max_samples)) \
- { \
- (mean).result = (mean).sum / (max_samples); \
- (mean).sum = 0; \
- (mean).count = 0; \
- } \
- } while (0)
-
-/**
- * Return current mean value.
- */
-#define SMEAN_GET(mean) ((mean).result)
-