SKA Low CBF
TANGO device servers that perform monitor and control functions for the SKA-Low telescope’s Correlator and Beam-Former.
Documentation
Documentation for this project can be found in the docs folder, or browsed in the SKA development portal:
Project Avatar (Repository Icon)
Developer’s Guide
The Makefiles here are inherited from ska-cicd-makefile.
Refer to docs at that repo, or use
make helpfor details.This link is via a git submodule, so use the
--recursiveflag when cloning this repository, or rungit submodule update --init --recursiveafterwards.
A pre-commit config is provided to try and format your code before it gets rejected by the CI pipeline lint checkers.
Install pre-commit -
pip3 install pre-commitActivate the pre-commit checks for the repo -
pre-commit installFrom now on your commits will be formatted automatically. Note that you have to add & commit again any files changed by pre-commit.
A git hook is provided that may help comply with SKA commit message rules. You can install the hook with
cp -s "$(pwd)/resources/git-hooks"/* .git/hooks. Once installed, the hook will insert commit messages to match the JIRA ticket from the branch name. e.g. On branchperentie-1350-new-base-classes:
ska-low-cbf$ git commit -m "Add git hook note to README"
Branch perentie-1350-new-base-classes
Inserting PERENTIE-1350 prefix
[perentie-1350-new-base-classes 3886657] PERENTIE-1350 Add git hook note to README
1 file changed, 7 insertions(+)
You can see the modified message above, and confirming via the git log:
ska-low-cbf$ git log -n 1 --oneline
3886657 (HEAD -> perentie-1350-new-base-classes) PERENTIE-1350 Add git hook note to README
Tests
tests/unitcontains tests for our ‘business logic’ (the non-Tango code), as well as basic Tango device tests that don’t need to interact with other devices. Allocation algorithm tests print some debug files:Allocation visualisations in files dbg-alloc …
Switch routing table entries for LFAA->Alveo routes in files rules- …
Switch routing table entries for Alveo->PST server in files rules-pst …
VCT table entries for each used alveo in files
vct_…
tests/integrationcontains tests that involve interaction between multiple Tango devices.
Health Monitoring
Alveos not allocated to a Subarray won’t be reporting FPGA register based health conditions (current as of 12-Jul-2023).