mirror of
https://git.rtems.org/rtems-tools/
synced 2025-10-16 19:55:28 +08:00
Add watchdog ticks command.
- ToDo : Fix watchdog states.
This commit is contained in:

committed by
Chris Johns

parent
04d95ec2b2
commit
a7176a8a7e
@@ -48,3 +48,6 @@ class control:
|
||||
def last(self):
|
||||
return node(self.ctrl['Tail']['Node'])
|
||||
|
||||
def empty(self):
|
||||
if self.last() == self.first().next():
|
||||
return True
|
||||
|
@@ -17,4 +17,5 @@ rtems.rtems_object()
|
||||
rtems.rtems_semaphore()
|
||||
rtems.rtems_task()
|
||||
rtems.rtems_message_queue()
|
||||
rtems.rtems_tod()
|
||||
rtems.rtems_tod()
|
||||
rtems.rtems_wdt()
|
@@ -10,6 +10,7 @@ import re
|
||||
|
||||
import objects
|
||||
import threads
|
||||
import chains
|
||||
import supercore
|
||||
import classic
|
||||
|
||||
@@ -205,3 +206,37 @@ class rtems_tod(gdb.Command):
|
||||
instance = supercore.time_of_day(obj)
|
||||
instance.show()
|
||||
objects.information.invalidate()
|
||||
|
||||
class rtems_watchdog_chain(gdb.Command):
|
||||
'''Print watchdog ticks chain'''
|
||||
|
||||
api = 'internal'
|
||||
_class = ''
|
||||
|
||||
def __init__(self,command):
|
||||
super(rtems_watchdog_chain, self).__init__ \
|
||||
(command, gdb.COMMAND_DATA, gdb.COMPLETE_NONE)
|
||||
|
||||
def invoke(self, arg, from_tty):
|
||||
obj = objects.information.object_return(self.api, self._class)
|
||||
|
||||
inst = chains.control(obj)
|
||||
|
||||
if inst.empty():
|
||||
print ' error: empty chain'
|
||||
return
|
||||
|
||||
nd = inst.first()
|
||||
while not nd.null():
|
||||
wd = watchdog.control(nd.cast('Watchdog_Control'))
|
||||
wd.show()
|
||||
nd = nd.next()
|
||||
|
||||
class rtems_wdt(rtems_watchdog_chain):
|
||||
|
||||
_class = 'wdticks'
|
||||
|
||||
def __init__(self):
|
||||
self.__doc__ = 'Display watchdog ticks chain'
|
||||
super(rtems_wdt, self).__init__('rtems wdticks')
|
||||
|
||||
|
@@ -12,11 +12,6 @@ import objects
|
||||
|
||||
class state:
|
||||
|
||||
INACTIVE = 0
|
||||
BEING_INSERTED = 1
|
||||
ACTIVE = 2
|
||||
REMOVE_IT = 3
|
||||
|
||||
states = {
|
||||
0: 'inactive',
|
||||
1: 'being-inserted',
|
||||
@@ -35,9 +30,10 @@ class control:
|
||||
def __init__(self, ctrl):
|
||||
self.ctrl = ctrl
|
||||
|
||||
# Not sure if an extra class is needed.
|
||||
# ToDo: fix this.1
|
||||
def state(self):
|
||||
return state(int(self.ctrl['state'])).to_string()
|
||||
return state(1).to_string()
|
||||
#return state(int(self.ctrl['state'])).to_string()
|
||||
|
||||
def initial(self):
|
||||
return self.ctrl['initial']
|
||||
|
Reference in New Issue
Block a user