public interface WatchdogTimer extends Peripheral
WatchdogTimer
interface provides methods for controlling a watchdog timer that can be used to force the
device to reboot (or depending on the platform, the Java Virtual Machine to restart).
A WatchdogTimer
instance may represent a virtual watchdog timer. If the device has a single physical watchdog
timer, all of the virtual watchdog timers are mapped onto this one physical watchdog timer. It gets set to expire
when the virtual watchdog with the earliest timeout is scheduled to expire. The corresponding watchdog timer
peripheral is therefore shared and several applications can concurrently acquire the same watchdog timer peripheral.
Each watchdog timer is identified by a numerical ID and by a name. If a watchdog timer is virtualized, a particular
platform implementation may allow for several WatchdogTimer
instances representing each a virtual instance of
that same physical watchdog timer to be opened concurrently, or, alternatively, it may assign each virtual watchdog
timer instance a distinct peripheral ID (and a common name). WatchdogTimer
instance can be opened by a call to one of the PeripheralManager.open()
methods.
Once the peripheral opened, the application can start using it and can especially start the timer using the
WatchdogTimer.start()
method and subsequently
refresh the timer periodically using the WatchdogTimer.refresh()
method
When done, an application should call the WatchdogTimer.close()
method to release the watchdog
timer. Any further attempt to access or control a watchdog timer which has been closed will result in a
PeripheralNotAvailableException
been thrown.BIG_ENDIAN, LITTLE_ENDIAN, MIXED_ENDIAN, UNDEFINED_ID
Modifier and Type | Method and Description |
---|---|
boolean |
causedLastReboot()
Checks if the last device reboot (or JVM restart) was caused by the watchdog timing out.
|
long |
getMaxTimeout()
Gets the maximum timeout that can be set for the watchdog timer.
|
long |
getTimeout()
Get the current timeout for the watchdog timer.
|
void |
refresh()
Refreshes the watchdog timer.
|
void |
start(long timeout)
Starts the watchdog timer with the specified timeout.
|
void |
stop()
Stops this watchdog timer.
|
close, getID, getName, getProperties, isOpen
boolean causedLastReboot() throws java.io.IOException, PeripheralNotAvailableException
java.io.IOException
- if an IO error occurred.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).long getMaxTimeout() throws java.io.IOException, PeripheralNotAvailableException
java.io.IOException
- if an IO error occurred.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).long getTimeout() throws java.io.IOException, PeripheralNotAvailableException
java.io.IOException
- if an IO error occurred.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).void refresh() throws java.io.IOException, PeripheralNotAvailableException
java.io.IOException
- if an IO error occurred.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).void start(long timeout) throws java.io.IOException, PeripheralNotAvailableException
refresh()
prior to the watchdog timing out, the device will be rebooted (or the JVM restarted).timeout
- the time interval (in milliseconds) until watchdog times out.java.io.IOException
- if an IO error occurred.java.lang.IllegalArgumentException
- if timeout
is not greater than 0
.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).void stop() throws java.io.IOException, PeripheralNotAvailableException
java.io.IOException
- if an IO error occurred.PeripheralNotAvailableException
- if the peripheral is not currently available (has been closed).Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved. Use of this specification is subject to license terms.