sleep

Committer:
mbotkinl
Date:
Thu Mar 19 18:25:03 2015 +0000
Revision:
0:877664c39acd
Sleep

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbotkinl 0:877664c39acd 1 #ifndef __ARCH_GPRS_SLEEP_H__
mbotkinl 0:877664c39acd 2 #define __ARCH_GPRS_SLEEP_H__
mbotkinl 0:877664c39acd 3
mbotkinl 0:877664c39acd 4
mbotkinl 0:877664c39acd 5 #define WDTCLK_SRC_IRC_OSC 0
mbotkinl 0:877664c39acd 6 #define WDTCLK_SRC_WDT_OSC 1
mbotkinl 0:877664c39acd 7
mbotkinl 0:877664c39acd 8 #define WDEN (0x1<<0)
mbotkinl 0:877664c39acd 9 #define WDRESET (0x1<<1)
mbotkinl 0:877664c39acd 10 #define WDTOF (0x1<<2)
mbotkinl 0:877664c39acd 11 #define WDINT (0x1<<3)
mbotkinl 0:877664c39acd 12 #define WDPROTECT (0x1<<4)
mbotkinl 0:877664c39acd 13 #define WDLOCKCLK (0x1<<5)
mbotkinl 0:877664c39acd 14
mbotkinl 0:877664c39acd 15 #define WDT_FEED_VALUE 0x003FFFFF
mbotkinl 0:877664c39acd 16
mbotkinl 0:877664c39acd 17 #define WINDOW_MODE 0
mbotkinl 0:877664c39acd 18 #define PROTECT_MODE 0
mbotkinl 0:877664c39acd 19 #define WATCHDOG_RESET 1
mbotkinl 0:877664c39acd 20 #define WDLOCK_MODE 0
mbotkinl 0:877664c39acd 21 #define LOCKCLK_MODE 0
mbotkinl 0:877664c39acd 22
mbotkinl 0:877664c39acd 23 #define MODE_SLEEP 0
mbotkinl 0:877664c39acd 24 #define MODE_WORKING 1
mbotkinl 0:877664c39acd 25
mbotkinl 0:877664c39acd 26 class Stalker3_0_sleep{
mbotkinl 0:877664c39acd 27
mbotkinl 0:877664c39acd 28 public:
mbotkinl 0:877664c39acd 29
mbotkinl 0:877664c39acd 30 int workMode; // working mode, sleep or working
mbotkinl 0:877664c39acd 31
mbotkinl 0:877664c39acd 32 public:
mbotkinl 0:877664c39acd 33
mbotkinl 0:877664c39acd 34 void gotoSleep(); // goto sleep mode, untill wdt interrupt
mbotkinl 0:877664c39acd 35 void wdtClkSetup(unsigned long clksrc);
mbotkinl 0:877664c39acd 36
mbotkinl 0:877664c39acd 37 public:
mbotkinl 0:877664c39acd 38
mbotkinl 0:877664c39acd 39 void init();
mbotkinl 0:877664c39acd 40
mbotkinl 0:877664c39acd 41 void sleep(long ts); // sleep for ts (s)
mbotkinl 0:877664c39acd 42 void wakeUp(); // wake up from sleep
mbotkinl 0:877664c39acd 43 void feed(); // watch dog feed
mbotkinl 0:877664c39acd 44 void wdtInit(long tc); // init wdt
mbotkinl 0:877664c39acd 45 };
mbotkinl 0:877664c39acd 46
mbotkinl 0:877664c39acd 47 extern Stalker3_0_sleep wdt_sleep;
mbotkinl 0:877664c39acd 48 #endif