Official reference client implementation for Cumulocity SmartREST on u-blox C027.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
util/watchdog.h@94:61d44636f020, 2015-04-20 (annotated)
- Committer:
- xinlei
- Date:
- Mon Apr 20 15:04:23 2015 +0000
- Revision:
- 94:61d44636f020
- Parent:
- watchdog.h@76:b07effe83fb8
Integration of new device push code base.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xinlei | 76:b07effe83fb8 | 1 | #ifndef WATCHDOG_H |
xinlei | 76:b07effe83fb8 | 2 | #define WATCHDOG_H |
xinlei | 76:b07effe83fb8 | 3 | #include "mbed.h" |
xinlei | 76:b07effe83fb8 | 4 | |
xinlei | 76:b07effe83fb8 | 5 | class Watchdog { |
xinlei | 76:b07effe83fb8 | 6 | public: |
xinlei | 76:b07effe83fb8 | 7 | // Load timeout value in watchdog timer and enable |
xinlei | 76:b07effe83fb8 | 8 | void kick(float s) { |
xinlei | 76:b07effe83fb8 | 9 | LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK |
xinlei | 76:b07effe83fb8 | 10 | uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4 |
xinlei | 76:b07effe83fb8 | 11 | LPC_WDT->WDTC = s * (float)clk; |
xinlei | 76:b07effe83fb8 | 12 | LPC_WDT->WDMOD = 0x3; // Enabled and Reset |
xinlei | 76:b07effe83fb8 | 13 | kick(); |
xinlei | 76:b07effe83fb8 | 14 | } |
xinlei | 76:b07effe83fb8 | 15 | // "kick" or "feed" the dog - reset the watchdog timer |
xinlei | 76:b07effe83fb8 | 16 | // by writing this required bit pattern |
xinlei | 76:b07effe83fb8 | 17 | void kick() { |
xinlei | 76:b07effe83fb8 | 18 | LPC_WDT->WDFEED = 0xAA; |
xinlei | 76:b07effe83fb8 | 19 | LPC_WDT->WDFEED = 0x55; |
xinlei | 76:b07effe83fb8 | 20 | } |
xinlei | 76:b07effe83fb8 | 21 | }; |
xinlei | 76:b07effe83fb8 | 22 | #endif /* WATCHDOG_H */ |