blynk & neopixelring & w7500
Fork of WIZwiki-7500_Blynk by
utility/BlynkUtility.h@18:bc3d69c01bf2, 2017-11-27 (annotated)
- Committer:
- jcm931213
- Date:
- Mon Nov 27 11:49:08 2017 +0000
- Revision:
- 18:bc3d69c01bf2
- Parent:
- 7:8879692d4e6c
NeoPixel Ring Blynk Example final!!!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vshymanskyy | 0:58b20b438383 | 1 | /** |
vshymanskyy | 0:58b20b438383 | 2 | * @file BlynkUtility.h |
vshymanskyy | 0:58b20b438383 | 3 | * @author Volodymyr Shymanskyy |
vshymanskyy | 0:58b20b438383 | 4 | * @license This project is released under the MIT License (MIT) |
vshymanskyy | 0:58b20b438383 | 5 | * @copyright Copyright (c) 2015 Volodymyr Shymanskyy |
vshymanskyy | 0:58b20b438383 | 6 | * @date Jun 2015 |
vshymanskyy | 0:58b20b438383 | 7 | * @brief Utility functions |
vshymanskyy | 0:58b20b438383 | 8 | * |
vshymanskyy | 0:58b20b438383 | 9 | */ |
vshymanskyy | 0:58b20b438383 | 10 | |
vshymanskyy | 0:58b20b438383 | 11 | #ifndef BlynkUtility_h |
vshymanskyy | 0:58b20b438383 | 12 | #define BlynkUtility_h |
vshymanskyy | 0:58b20b438383 | 13 | |
vshymanskyy | 0:58b20b438383 | 14 | template<class T> |
vshymanskyy | 0:58b20b438383 | 15 | const T& BlynkMin(const T& a, const T& b) |
vshymanskyy | 0:58b20b438383 | 16 | { |
vshymanskyy | 0:58b20b438383 | 17 | return (b < a) ? b : a; |
vshymanskyy | 0:58b20b438383 | 18 | } |
vshymanskyy | 0:58b20b438383 | 19 | |
vshymanskyy | 0:58b20b438383 | 20 | template<class T> |
vshymanskyy | 0:58b20b438383 | 21 | const T& BlynkMax(const T& a, const T& b) |
vshymanskyy | 0:58b20b438383 | 22 | { |
vshymanskyy | 0:58b20b438383 | 23 | return (b < a) ? a : b; |
vshymanskyy | 0:58b20b438383 | 24 | } |
vshymanskyy | 0:58b20b438383 | 25 | |
vshymanskyy | 0:58b20b438383 | 26 | template <unsigned WSIZE, typename T> |
vshymanskyy | 0:58b20b438383 | 27 | void BlynkAverageSample (T& avg, const T& input) { |
vshymanskyy | 0:58b20b438383 | 28 | avg -= avg/WSIZE; |
vshymanskyy | 0:58b20b438383 | 29 | const T add = input/WSIZE; |
vshymanskyy | 0:58b20b438383 | 30 | // Fix for shorter delays |
Volodymyr Shymanskyy |
5:05777a102fdb | 31 | if (add > 0) |
Volodymyr Shymanskyy |
5:05777a102fdb | 32 | avg += add; |
Volodymyr Shymanskyy |
5:05777a102fdb | 33 | else |
Volodymyr Shymanskyy |
5:05777a102fdb | 34 | avg -= 1; |
vshymanskyy | 0:58b20b438383 | 35 | } |
vshymanskyy | 0:58b20b438383 | 36 | |
Volodymyr Shymanskyy |
7:8879692d4e6c | 37 | #define BlynkBitSet(value, bit) ((value) |= (1UL << (bit))) |
Volodymyr Shymanskyy |
7:8879692d4e6c | 38 | #define BlynkBitClear(value, bit) ((value) &= ~(1UL << (bit))) |
Volodymyr Shymanskyy |
7:8879692d4e6c | 39 | #define BlynkBitRead(value, bit) (((value) >> (bit)) & 0x01) |
Volodymyr Shymanskyy |
7:8879692d4e6c | 40 | #define BlynkBitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) |
Volodymyr Shymanskyy |
7:8879692d4e6c | 41 | |
vshymanskyy | 0:58b20b438383 | 42 | #endif |