mirror of
https://git.rtems.org/rtems-tools/
synced 2025-10-16 12:25:19 +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):
|
def last(self):
|
||||||
return node(self.ctrl['Tail']['Node'])
|
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_semaphore()
|
||||||
rtems.rtems_task()
|
rtems.rtems_task()
|
||||||
rtems.rtems_message_queue()
|
rtems.rtems_message_queue()
|
||||||
rtems.rtems_tod()
|
rtems.rtems_tod()
|
||||||
|
rtems.rtems_wdt()
|
@@ -10,6 +10,7 @@ import re
|
|||||||
|
|
||||||
import objects
|
import objects
|
||||||
import threads
|
import threads
|
||||||
|
import chains
|
||||||
import supercore
|
import supercore
|
||||||
import classic
|
import classic
|
||||||
|
|
||||||
@@ -205,3 +206,37 @@ class rtems_tod(gdb.Command):
|
|||||||
instance = supercore.time_of_day(obj)
|
instance = supercore.time_of_day(obj)
|
||||||
instance.show()
|
instance.show()
|
||||||
objects.information.invalidate()
|
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:
|
class state:
|
||||||
|
|
||||||
INACTIVE = 0
|
|
||||||
BEING_INSERTED = 1
|
|
||||||
ACTIVE = 2
|
|
||||||
REMOVE_IT = 3
|
|
||||||
|
|
||||||
states = {
|
states = {
|
||||||
0: 'inactive',
|
0: 'inactive',
|
||||||
1: 'being-inserted',
|
1: 'being-inserted',
|
||||||
@@ -35,9 +30,10 @@ class control:
|
|||||||
def __init__(self, ctrl):
|
def __init__(self, ctrl):
|
||||||
self.ctrl = ctrl
|
self.ctrl = ctrl
|
||||||
|
|
||||||
# Not sure if an extra class is needed.
|
# ToDo: fix this.1
|
||||||
def state(self):
|
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):
|
def initial(self):
|
||||||
return self.ctrl['initial']
|
return self.ctrl['initial']
|
||||||
|
Reference in New Issue
Block a user