CBP Developer Guide¶
The CBP software consists of a typical salobj CSC, a firmware written in DMC and a TCP/IP socket controller written in python.
- DMC
- A language based on C for writing Galil motion control firmware logic.
CBP API¶
The content in this section is autogenerated from docstrings.
lsst.ts.cbp Package¶
Classes¶
CBPCSC ([simulation_mode, config_dir]) |
This defines the CBP CSC using ts_salobj. |
CBPComponent (csc) |
This class is for implementing the CBP component. |
Encoders () |
Mocks the CBP encoders. |
MockServer ([log]) |
Mocks the CBP server. |
Build and Test¶
pip install -e .[dev]
# Make sure environment variable TS_CONFIG_MTCALSYS_DIR points to the ts_config_mtcalsys package
export TS_CONFIG_MTCALSYS_DIR=/home/saluser/repos/ts_config_mtcalsys
pytest --cov lsst.ts.cbp -ra
Usage¶
Starting the CSC.
run_cbp.py
Stopping the CSC.
await cbp.cmd_exitControl.set_start(timeout=10)
Simulator¶
The simulator is located in the mock_server
module.
The CSC will use it in simulation mode.
Updating Firmware of the CBP¶
Firmware repository is ts_cbp_firmware
- Download
Galil Design Kit
- Edit dmc code
- Click Download program to hardware
Building the Documentation¶
pip install -e .[dev]
package-docs clean && package-docs build
# files located in doc/_build/html/ directory
Contributing¶
Code and documentation contributions utilize pull-requests on GitHub.
Feature requests can be made by filing a Jira ticket with the ts_CBP
label in the Data Management(DM) project.
In all cases, reaching out to the contacts for this CSC is recommended.