Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ tests/test_*
.mypy.ini
.ruff.toml
towncrier.toml
.LICENSE.txt
1 change: 1 addition & 0 deletions .ts_pre_commit_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ isort: false
mypy: true
ruff: true
towncrier: true
insert-license: true
18 changes: 18 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cmake_minimum_required(VERSION 3.23)

project(ts_cRIOcpp)

add_library(cRIOcpp)

find_package(spdlog REQUIRED)
target_link_libraries(cRIOcpp PRIVATE spdlog::spdlog)

target_compile_options(cRIOcpp
PRIVATE
-Wl,--gc-sections -fPIC -fdata-sections -ffunction-sections
)

add_subdirectory(include)
add_subdirectory(src)

add_subdirectory(tests)
1 change: 1 addition & 0 deletions doc/news/SSW-3062.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CMake integration, towncrier.
Comment thread
pkubanek marked this conversation as resolved.
1 change: 1 addition & 0 deletions doc/news/SSW-3062.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Insert proper license headers.
32 changes: 17 additions & 15 deletions doc/version_history.rst
Original file line number Diff line number Diff line change
@@ -1,91 +1,93 @@
.. _Version_History:

###############
Version History
###############

.. towncrier release notes start

v1.17.0
-------
=======

* FPGASerialPort class - opens virtual terminal to communicate with FPGA device.

v1.16.1
-------
=======

* Log WrongResponse occurence in FPGA::ilcCommands, not in Modbus::BusList.

v1.16.0
-------
=======

* Handle 0xFF (255) error response in the FPGASerialDevice.

v1.15.0
-------
=======

* Rename reset messages to disambiguate calls with device's reset.

v1.14.0
-------
=======
* PIDParameters load method with default PIDParameters.
* BusList::missing_response method.

v1.13.1
-------
=======
* TaskQueue remove method
* Flush method to flush transport's serial port buffers
* PID class + processing

v1.13.0
-------
=======
* Glycol temperature readout from FPGA serial line

v1.12.0
-------
=======
* simplified MPU communication

v1.11.1
-------
=======
* SensorMonitor ILC
* broadcast commands to step and freeze
* SimpleFPGACliApp class
* formatDuration template class
* More constants

v1.11.0
-------
=======
* Modbus::, ILC::ILCBusList classes. Communication code moved from ModbusBuffer
to FPGA class.
* Improved documentation.
* Public constants to explain meaning of the numbers
* mpuCommands redesign

v1.10.1
-------
=======

* Set and read DCA Gain commands (ILC code 73 and 74)
* Add NiWarning class, improve Ni error reporting
* FPGA communication debugging
* support for M2 command line client

v1.10.0
-------
=======

* getStringStatus function
* handleMissingReply, MissingReply exception
* IRQTimeout handling

v1.9.0
------
======

* MPU changed to SerialMultiplex

v1.8.0
------
======

* LVDT ElectroMechanical readout

v1.7.0
------
======

* offsets,.. ILC commands
* improved re-heater gain management
12 changes: 12 additions & 0 deletions include/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
target_sources(cRIOcpp
PUBLIC
FILE_SET HEADERS
FILES
rapidcsv.h
)

target_include_directories(cRIOcpp PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
)

add_subdirectory(ILC)
7 changes: 7 additions & 0 deletions include/ILC/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
target_sources(cRIOcpp
PUBLIC
FILE_SET HEADERS
FILES
ILCBusList.h
SensorMonitor.h
)
5 changes: 5 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
add_subdirectory(ILC)
add_subdirectory(LSST/cRIO)
add_subdirectory(LSST/PID)
add_subdirectory(Modbus)
add_subdirectory(Transports)
5 changes: 5 additions & 0 deletions src/ILC/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
target_sources(cRIOcpp
PUBLIC
ILCBusList.cpp
SensorMonitor.cpp
)
31 changes: 16 additions & 15 deletions src/ILC/ILCBusList.cpp
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
/*
* ILC Bus List handling communication (receiving and
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Observatory Telescope & Site Software Systems.
* This product includes software developed by the Vera C.Rubin Observatory Project
* (https://www.lsst.org). See the COPYRIGHT file at the top-level directory of
* this distribution for details of code ownership.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
* for details of code ownership.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include <spdlog/spdlog.h>
Expand Down
31 changes: 16 additions & 15 deletions src/ILC/SensorMonitor.cpp
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
/*
* Sensor Monitor ILC handling.
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Observatory Telescope & Site Software Systems.
* This product includes software developed by the Vera C.Rubin Observatory Project
* (https://www.lsst.org). See the COPYRIGHT file at the top-level directory of
* this distribution for details of code ownership.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
* for details of code ownership.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include <vector>
Expand Down
5 changes: 5 additions & 0 deletions src/LSST/PID/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
target_sources(cRIOcpp
PUBLIC
LimitedPID.cpp
PID.cpp
)
8 changes: 4 additions & 4 deletions src/LSST/PID/LimitedPID.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* This file is part of LSST cRIO package.
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Telescope and Site System.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
Expand All @@ -14,11 +14,11 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include "PID/LimitedPID.h"
Expand Down
8 changes: 4 additions & 4 deletions src/LSST/PID/PID.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* This file is part of LSST M1M3 support system package.
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Telescope and Site System.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
Expand All @@ -14,11 +14,11 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include "PID/PID.h"
Expand Down
8 changes: 4 additions & 4 deletions src/LSST/cRIO/Application.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* This file is part of LSST M1M3 support system package.
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Telescope and Site System.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
Expand All @@ -14,11 +14,11 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include <algorithm>
Expand Down
26 changes: 26 additions & 0 deletions src/LSST/cRIO/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
target_sources(cRIOcpp
PUBLIC
Application.cpp
CSC.cpp
CliApp.cpp
Command.cpp
ControllerThread.cpp
ElectromechanicalPneumaticILC.cpp
Event.cpp
FPGA.cpp
FPGACliApp.cpp
IntelHex.cpp
InterruptWatcherTask.cpp
MPU.cpp
MPUTelemetry.cpp
ModbusBuffer.cpp
NiError.cpp
NiStatus.cpp
PrintILC.cpp
SimpleFPGA.cpp
TaskQueue.cpp
ThermalILC.cpp
Thread.cpp
)

add_subdirectory(Settings)
8 changes: 4 additions & 4 deletions src/LSST/cRIO/CSC.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* This file is part of LSST M1M3 support system package.
* This file is part of ts_cRIOcpp.
*
* Developed for the Vera C. Rubin Telescope and Site System.
* Developed for the Vera C. Rubin Observatory Telescope and Site Systems.
* This product includes software developed by the LSST Project
* (https://www.lsst.org).
* See the COPYRIGHT file at the top-level directory of this distribution
Expand All @@ -14,11 +14,11 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include <cstdlib>
Expand Down
Loading
Loading