Index: firmware/App/Common.h =================================================================== diff -u -rca8cbd8a62d738848b4e512622e5a3d70c688173 -r06db5ccebf62af3582fef82fa6d1f66f160f1be5 --- firmware/App/Common.h (.../Common.h) (revision ca8cbd8a62d738848b4e512622e5a3d70c688173) +++ firmware/App/Common.h (.../Common.h) (revision 06db5ccebf62af3582fef82fa6d1f66f160f1be5) @@ -86,12 +86,16 @@ #define SHIFT_16_BITS_FOR_WORD_SHIFT 16 #define FLOAT_TO_INT_ROUNDUP_OFFSET 0.5 #define ML_PER_LITER 1000 +#define MS_PER_SECOND 1000 +#define SEC_PER_MIN 60 // **** Common Macros **** +#define FLOAT_TO_INT_WITH_ROUND(f) ((f) < 0.0 ? (S32)((f) - FLOAT_TO_INT_ROUNDUP_OFFSET) : (S32)((f) + FLOAT_TO_INT_ROUNDUP_OFFSET)) #define CAP(v, u) ((v) > (u) ? (u) : (v)) #define RANGE(v, l, u) ((v) > (u) ? (u) : ((v) < (l) ? (l) : (v))) #define INC_WRAP(v, l, u) ((v) == (u) ? (l) : ((v) + 1)) +#define INC_CAP(v, u) ((v) == (u) ? (u) : ((v) + 1)) #define MAX(a, b) ((a) < (b) ? (b) : (a)) #define MIN(a, b) ((a) > (b) ? (b) : (a)) #define GET_LSB_OF_WORD(w) ((U08)((w) & MASK_OFF_MSB)) @@ -101,10 +105,12 @@ #define MAKE_WORD_OF_BYTES(h, l) ((((U16)(h) << SHIFT_8_BITS_FOR_BYTE_SHIFT) & MASK_OFF_LSB) | ((U16)(l) & MASK_OFF_MSB)) #define MAKE_LONG_OF_WORDS(h, l) ((((U32)(h) << SHIFT_16_BITS_FOR_WORD_SHIFT) & MASK_OFF_LSW) | ((U32)(l) & MASK_OFF_MSW)) #define GET_TOGGLE(v, l, h) ((v) == (l) ? (h) : (l)) +#define BIT_BY_POS(p) (1U << (p)) #define CIRCULAR_INCREASE(i, i_max) (( (++i) == i_max) ? 0 : i ) #define CIRCULAR_DECREASE(i, i_max) (( ((S16) --i) == -1) ? i_max-1 : i ) + #define SET_ALARM_WITH_1_U32_DATA(a,d1) { \ ALARM_DATA_T dat1; \ dat1.dataType = ALARM_DATA_TYPE_U32; \