Index: firmware/App/Common.h =================================================================== diff -u -r52863cba9685f31136ab3f4b4764a17ccf34fc05 -rf7e3018ec6ab762fe08efb42b21fb2ca970174b0 --- firmware/App/Common.h (.../Common.h) (revision 52863cba9685f31136ab3f4b4764a17ccf34fc05) +++ firmware/App/Common.h (.../Common.h) (revision f7e3018ec6ab762fe08efb42b21fb2ca970174b0) @@ -77,7 +77,7 @@ // **** Common Definitions **** -#define NEARLY_ZERO 0.00001 +#define NEARLY_ZERO 0.00000001 #define MASK_OFF_MSB 0x00FF #define MASK_OFF_LSB 0xFF00 #define MASK_OFF_MSW 0x0000FFFF @@ -86,12 +86,17 @@ #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 +#define FRACTION_TO_PERCENT_FACTOR 100.0 // **** 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,6 +106,7 @@ #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 SET_ALARM_WITH_1_U32_DATA(a,d1) { \ ALARM_DATA_T dat1; \