Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: wdt.cpp
- Revision:
- 1:159a09ac60ba
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wdt.cpp Tue Feb 28 17:39:50 2017 +0000
@@ -0,0 +1,43 @@
+#include "mbed.h"
+#include "wdt.h"
+
+
+// Simple Library for Watchdog
+// ---------------------------
+
+// Initialise watchdog using 1KHz clock
+// To prevent overwriting, only a single write to the COPC register possible
+//
+void wdt_1sec() {
+ // 1024ms, not windowed - this is the default
+ /* SIM_COPC: COPT=11,COPCLKS=0,COPW=0 */
+ SIM->COPC = (uint32_t)0x0Cu;
+}
+
+void wdt_256ms() {
+ // 256ms, not windowed
+ /* SIM_COPC: COPT=10,COPCLKS=0,COPW=0 */
+ SIM->COPC = (uint32_t)0x08u;
+}
+
+void wdt_32ms() {
+ // 32ms, not windowed
+ /* SIM_COPC: COPT=01,COPCLKS=0,COPW=0 */
+ SIM->COPC = (uint32_t)0x04u;
+}
+
+// Kick (feed, reload) our watchdog timer
+void wdt_kick_all(){
+ SIM->SRVCOP = (uint32_t)0x55u;
+ SIM->SRVCOP = (uint32_t)0xAAu;
+}
+
+void wdt_kickA(){
+ SIM->SRVCOP = (uint32_t)0x55u;
+}
+
+void wdt_kickB(){
+ SIM->SRVCOP = (uint32_t)0xAAu;
+}
+
+