180718 HJM : 8 Count sensing data RF send, certTest, temp(cold)Test
Fork of EV-COG-AD3029LZ by
Diff: source/SimpleSpirit1.cpp
- Revision:
- 70:19b5f9b9ba80
- Parent:
- 69:22e9b407effa
- Child:
- 71:4a7772415d9c
diff -r 22e9b407effa -r 19b5f9b9ba80 source/SimpleSpirit1.cpp --- a/source/SimpleSpirit1.cpp Mon Jul 10 13:54:43 2017 +0200 +++ b/source/SimpleSpirit1.cpp Thu Jul 13 09:21:06 2017 +0200 @@ -9,10 +9,20 @@ #define XO_ON (0x1) -#define BUSYWAIT_UNTIL(cond, millisecs) \ - do { \ - uint32_t start = us_ticker_read(); \ - while (!(cond) && ((us_ticker_read() - start) < ((uint32_t)millisecs)*1000U)); \ +#define BUSYWAIT_UNTIL(cond, millisecs) \ + do { \ + uint32_t start = us_ticker_read(); \ + uint32_t limit = (uint32_t)millisecs*1000U; \ + \ + while (!(cond)) { \ + uint32_t now = us_ticker_read(); \ + \ + if(now >= start) { \ + if((now - start) > limit) break; \ + } else { \ + if((now + ~start) > limit) break; \ + } \ + } \ } while(0) #define st_lib_spirit_irqs SpiritIrqs