mirror of
https://git.rtems.org/rtems-tools/
synced 2025-10-17 12:05:49 +08:00
Added support for classic/timers.
This commit is contained in:

committed by
Chris Johns

parent
591fbf65d3
commit
086e689955
@@ -11,6 +11,7 @@ import re
|
||||
|
||||
import objects
|
||||
import threads
|
||||
import watchdog
|
||||
import supercore
|
||||
|
||||
class attribute:
|
||||
@@ -179,4 +180,17 @@ class message_queue:
|
||||
print ' Name:', self.object_control.name()
|
||||
print ' Attr:', self.attr.to_string()
|
||||
|
||||
self.core_control.show()
|
||||
self.core_control.show()
|
||||
|
||||
class timer:
|
||||
'''Print a classic timer'''
|
||||
|
||||
def __init__(self, id):
|
||||
self.id = id
|
||||
self.object = objects.information.object(self.id).dereference()
|
||||
self.object_control = objects.control(self.object['Object'])
|
||||
self.watchdog = watchdog.control(self.object['Ticker'])
|
||||
|
||||
def show(self, from_tty):
|
||||
print ' Name:', self.object_control.name()
|
||||
self.watchdog.show()
|
@@ -77,7 +77,8 @@ class rtems_object(gdb.Command):
|
||||
objects = {
|
||||
'classic/semaphores': lambda id: classic.semaphore(id),
|
||||
'classic/tasks': lambda id: classic.task(id),
|
||||
'classic/message_queues': lambda id: classic.message_queue(id)
|
||||
'classic/message_queues': lambda id: classic.message_queue(id),
|
||||
'classic/timers' : lambda id: classic.timer(id)
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
|
@@ -16,14 +16,14 @@ class state:
|
||||
BEING_INSERTED = 1
|
||||
ACTIVE = 2
|
||||
REMOVE_IT = 3
|
||||
|
||||
|
||||
states = {
|
||||
0: 'inactive',
|
||||
1: 'being-inserted',
|
||||
2: 'active',
|
||||
3: 'remove-it'
|
||||
}
|
||||
|
||||
|
||||
def __init__(self, s):
|
||||
self.s = s
|
||||
|
||||
@@ -35,8 +35,9 @@ class control:
|
||||
def __init__(self, ctrl):
|
||||
self.ctrl = ctrl
|
||||
|
||||
# Not sure if an extra class is needed.
|
||||
def state(self):
|
||||
return state(self.ctrl['state']).to_string()
|
||||
return state(int(self.ctrl['state'])).to_string()
|
||||
|
||||
def initial(self):
|
||||
return self.ctrl['initial']
|
||||
@@ -50,7 +51,15 @@ class control:
|
||||
def stop_time(self):
|
||||
return self.ctrl['stop_time']
|
||||
|
||||
# ToDo: Better printing of watchdog.
|
||||
def routine(self):
|
||||
addr = self.ctrl['routine']
|
||||
sym = gdb.lookup_symbol(addr)
|
||||
print sym
|
||||
return str(addr)
|
||||
|
||||
def show(self):
|
||||
print " State:", self.state()
|
||||
print " Intial Interval:", self.initial()
|
||||
print " Delta Interval:", self.delta_interval()
|
||||
print " Start time:", self.start_time()
|
||||
print " Stop time:", self.stop_time()
|
||||
print " WD Routine:", self.routine()
|
Reference in New Issue
Block a user