Measure system

Dependencies:   EthernetNetIf mbed RF12B

Committer:
benecsj
Date:
Tue May 17 16:49:23 2011 +0000
Revision:
3:799d8c61fb03
Parent:
0:8d62137f7ff4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benecsj 0:8d62137f7ff4 1 #include "mbed.h"
benecsj 0:8d62137f7ff4 2 #include "WatchDog.h"
benecsj 0:8d62137f7ff4 3
benecsj 0:8d62137f7ff4 4
benecsj 0:8d62137f7ff4 5 watchdog::watchdog(float s) {
benecsj 0:8d62137f7ff4 6 LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK
benecsj 0:8d62137f7ff4 7 uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4
benecsj 0:8d62137f7ff4 8 LPC_WDT->WDTC = s * (float)clk;
benecsj 0:8d62137f7ff4 9 LPC_WDT->WDMOD = 0x3; // Enabled and Reset
benecsj 0:8d62137f7ff4 10 feed();
benecsj 0:8d62137f7ff4 11 }
benecsj 0:8d62137f7ff4 12
benecsj 0:8d62137f7ff4 13 watchdog_ms::watchdog_ms(int ms) {
benecsj 0:8d62137f7ff4 14 LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK
benecsj 0:8d62137f7ff4 15 uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4
benecsj 0:8d62137f7ff4 16 LPC_WDT->WDTC = ((float)ms * (float)clk) /1000;
benecsj 0:8d62137f7ff4 17 LPC_WDT->WDMOD = 0x3; // Enabled and Reset
benecsj 0:8d62137f7ff4 18 feed();
benecsj 0:8d62137f7ff4 19 }
benecsj 0:8d62137f7ff4 20
benecsj 0:8d62137f7ff4 21 watchdog_us::watchdog_us(int us) {
benecsj 0:8d62137f7ff4 22 LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK
benecsj 0:8d62137f7ff4 23 uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4
benecsj 0:8d62137f7ff4 24 LPC_WDT->WDTC = ((float)us * (float)clk) /1000000;
benecsj 0:8d62137f7ff4 25 LPC_WDT->WDMOD = 0x3; // Enabled and Reset
benecsj 0:8d62137f7ff4 26 feed();
benecsj 0:8d62137f7ff4 27 }
benecsj 0:8d62137f7ff4 28
benecsj 0:8d62137f7ff4 29 void watchdog::feed() {
benecsj 0:8d62137f7ff4 30 LPC_WDT->WDFEED = 0xAA;
benecsj 0:8d62137f7ff4 31 LPC_WDT->WDFEED = 0x55;
benecsj 0:8d62137f7ff4 32 }
benecsj 0:8d62137f7ff4 33 void watchdog_ms::feed() {
benecsj 0:8d62137f7ff4 34 LPC_WDT->WDFEED = 0xAA;
benecsj 0:8d62137f7ff4 35 LPC_WDT->WDFEED = 0x55;
benecsj 0:8d62137f7ff4 36 }
benecsj 0:8d62137f7ff4 37 void watchdog_us::feed() {
benecsj 0:8d62137f7ff4 38 LPC_WDT->WDFEED = 0xAA;
benecsj 0:8d62137f7ff4 39 LPC_WDT->WDFEED = 0x55;
benecsj 0:8d62137f7ff4 40 }