################### 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. .. glossary:: DMC A language based on C for writing Galil motion control firmware logic. .. _developer-guide:developer-guide:dependencies: Dependencies ============ * `SAL `_ - v4.0.0 * `ts_salobj `_ - v5.x.0 .. _developer-guide:developer-guide:api: CBP API ======= The content in this section is autogenerated from docstrings. .. automodapi:: lsst.ts.cbp :no-main-docstr: :no-inheritance-diagram: .. _developer-guide:developer-guide:build: Build and Test ============== .. prompt:: bash 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 .. _developer-guide:developer-guide:usage: Usage ===== Starting the CSC. .. code:: run_cbp.py Stopping the CSC. .. code:: await cbp.cmd_exitControl.set_start(timeout=10) .. _developer-guide:developer-guide:simulator: Simulator ========= The simulator is located in the ``mock_server`` module. It is not ready for use. .. _developer-guide:developer-guide:firmware: Updating Firmware of the CBP ============================ 1. Download ``Galil Design Kit`` 2. Edit dmc code 3. Click Download program to hardware .. _developer-guide:developer-guide:documentation: Building the Documentation ========================== .. prompt:: bash pip install -e .[dev] package-docs clean && package-docs build # files located in doc/_build/html/ directory .. _developer-guide:developer-guide:contributing: 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 :ref:`contacts for this CSC ` is recommended.