Fork of Smoothie to port to mbed non-LPC targets.

Dependencies:   mbed

Fork of Smoothie by Stéphane Cachat

Committer:
Bigcheese
Date:
Sun Mar 02 06:33:08 2014 +0000
Revision:
3:f151d08d335c
Parent:
2:1df0b61d3b5a
Bunch of stuff. Need to locally merge in updated USB changes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Michael J. Spencer 2:1df0b61d3b5a 1 #include "Watchdog.h"
Michael J. Spencer 2:1df0b61d3b5a 2
Michael J. Spencer 2:1df0b61d3b5a 3 #include <lpc17xx_wdt.h>
Michael J. Spencer 2:1df0b61d3b5a 4
Michael J. Spencer 2:1df0b61d3b5a 5 #include <mri.h>
Michael J. Spencer 2:1df0b61d3b5a 6
Michael J. Spencer 2:1df0b61d3b5a 7 // TODO : comment this
Michael J. Spencer 2:1df0b61d3b5a 8 // Basically, when stuff stop answering, reset, or enter MRI mode, or something
Michael J. Spencer 2:1df0b61d3b5a 9
Michael J. Spencer 2:1df0b61d3b5a 10 Watchdog::Watchdog(uint32_t timeout, WDT_ACTION action)
Michael J. Spencer 2:1df0b61d3b5a 11 {
Michael J. Spencer 2:1df0b61d3b5a 12 WDT_Init(WDT_CLKSRC_IRC, (action == WDT_MRI)?WDT_MODE_INT_ONLY:WDT_MODE_RESET);
Michael J. Spencer 2:1df0b61d3b5a 13 WDT_Start(timeout);
Michael J. Spencer 2:1df0b61d3b5a 14 WDT_Feed();
Michael J. Spencer 2:1df0b61d3b5a 15 }
Michael J. Spencer 2:1df0b61d3b5a 16
Michael J. Spencer 2:1df0b61d3b5a 17 void Watchdog::feed()
Michael J. Spencer 2:1df0b61d3b5a 18 {
Michael J. Spencer 2:1df0b61d3b5a 19 WDT_Feed();
Michael J. Spencer 2:1df0b61d3b5a 20 }
Michael J. Spencer 2:1df0b61d3b5a 21
Michael J. Spencer 2:1df0b61d3b5a 22 void Watchdog::on_module_loaded()
Michael J. Spencer 2:1df0b61d3b5a 23 {
Michael J. Spencer 2:1df0b61d3b5a 24 register_for_event(ON_IDLE);
Michael J. Spencer 2:1df0b61d3b5a 25 feed();
Michael J. Spencer 2:1df0b61d3b5a 26 }
Michael J. Spencer 2:1df0b61d3b5a 27
Michael J. Spencer 2:1df0b61d3b5a 28 void Watchdog::on_idle(void*)
Michael J. Spencer 2:1df0b61d3b5a 29 {
Michael J. Spencer 2:1df0b61d3b5a 30 feed();
Michael J. Spencer 2:1df0b61d3b5a 31 }
Michael J. Spencer 2:1df0b61d3b5a 32
Michael J. Spencer 2:1df0b61d3b5a 33
Michael J. Spencer 2:1df0b61d3b5a 34 extern "C" void WDT_IRQHandler(void)
Michael J. Spencer 2:1df0b61d3b5a 35 {
Michael J. Spencer 2:1df0b61d3b5a 36 WDT_ClrTimeOutFlag();
Michael J. Spencer 2:1df0b61d3b5a 37 WDT_Feed();
Michael J. Spencer 2:1df0b61d3b5a 38 __debugbreak();
Michael J. Spencer 2:1df0b61d3b5a 39 }