Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
lmc-base-classes
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
LOFAR2.0
lmc-base-classes
Commits
c6a07fe1
Unverified
Commit
c6a07fe1
authored
May 25, 2021
by
Drew Devereux
Browse files
Options
Downloads
Patches
Plain Diff
[
MCCS-399
] inheritance diagrams
parent
5581ef44
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
docs/source/conf.py
+1
-0
1 addition, 0 deletions
docs/source/conf.py
docs/source/guide/getting_started.rst
+31
-0
31 additions, 0 deletions
docs/source/guide/getting_started.rst
src/ska_tango_base/commands.py
+8
-0
8 additions, 0 deletions
src/ska_tango_base/commands.py
with
40 additions
and
0 deletions
docs/source/conf.py
+
1
−
0
View file @
c6a07fe1
...
...
@@ -99,6 +99,7 @@ extensions = [
'
sphinx.ext.doctest
'
,
'
sphinx.ext.todo
'
,
'
sphinx.ext.coverage
'
,
"
sphinx.ext.inheritance_diagram
"
,
'
sphinx.ext.viewcode
'
,
'
sphinxcontrib.plantuml
'
]
...
...
This diff is collapsed.
Click to expand it.
docs/source/guide/getting_started.rst
+
31
−
0
View file @
c6a07fe1
...
...
@@ -54,6 +54,14 @@ Writing a component manager involves the following steps.
* If your Tango device is a subarray, then you will want to base your
component manager on ``SubarrayComponentManager``.
.. inheritance-diagram::
ska_tango_base.base.component_manager
ska_tango_base.subarray.component_manager
ska_tango_base.csp.obs.component_manager
ska_tango_base.csp.subarray.component_manager
:parts: 1
These component managers are abstract. They specify an interface, but
leave it up to you to implement the functionality. For example,
``BaseComponentManager``'s ``on()`` command looks like this:
...
...
@@ -195,6 +203,14 @@ Writing a command class involves the following steps.
class, then you will want to inherit from one or more command
classes in the :py:mod:`ska_tango_base.commands` module.
.. inheritance-diagram::
ska_tango_base.commands.BaseCommand
ska_tango_base.commands.StateModelCommand
ska_tango_base.commands.ResponseCommand
ska_tango_base.commands.CompletionCommand
ska_tango_base.commands.ObservationCommand
:parts: 1
3. **Implement class methods.**
* In many cases, you only need to implement the ``do()`` method.
...
...
@@ -210,6 +226,21 @@ Writing the Tango device involves the following steps:
1. **Select a device class to subclass.**
.. inheritance-diagram::
ska_tango_base.SKAAlarmHandler
ska_tango_base.SKACapability
ska_tango_base.SKALogger
ska_tango_base.SKAMaster
ska_tango_base.SKATelState
ska_tango_base.base.SKABaseDevice
ska_tango_base.obs.SKAObsDevice
ska_tango_base.subarray.SKASubarray
ska_tango_base.csp.CspSubElementMaster
ska_tango_base.csp.CspSubElementObsDevice
ska_tango_base.csp.CspSubElementSubarray
:top-classes: ska_tango_base.base.SKABaseDevice
:parts: 1
2. **Register your component manager.** This is done by overriding the
``create_component_manager`` class to return your component manager
object:
...
...
This diff is collapsed.
Click to expand it.
src/ska_tango_base/commands.py
+
8
−
0
View file @
c6a07fe1
...
...
@@ -25,6 +25,14 @@ The following command classes are provided:
with transitional states, such as ``AssignResources()`` and
``Configure()``.
.. inheritance-diagram::
ska_tango_base.commands.BaseCommand
ska_tango_base.commands.StateModelCommand
ska_tango_base.commands.ResponseCommand
ska_tango_base.commands.CompletionCommand
ska_tango_base.commands.ObservationCommand
:parts: 1
Multiple inheritance is supported, and it is expected that many commands
will need to inherit from more than one command class. For example, a
subarray
'
s ``AssignResources`` command would inherit from:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment