* added pr validation
* redundnat
* validate type and add label
* breaking api label also in pr validation
* milestone workflow triggered when changing labels and it sets the milestone from the release targets yaml and labels
* milestone workflow triggered when changing labels and it sets the milestone from the release targets yaml and labels
* workflow changing label cannot trigger another workflow, so directly invoking it or if a user changes label for pr milestone workflow
* added trigger workflow for label change by user, added check for infrastructure and breaking api in pr milestone workflow
* typo
* release targets
* milestone workflow should also ensure only 1 primary labels
* it doesnt need to be rerun for commits
* label and unlabel do the checks as well of primary type and brekaing api, it does not need to be in milestone
* pr validation now when primar type and breaking api labels are there and shouldnt be instead of removing them. the the label workflow nowjust ensures labesl and description are the same
* node change
* complain if labels dont match descriotion and retrigger validation workflow for better errors. If none labels, this is okay.. if not, it will give approperiate errors, mainly checking mismatch of labels and descriotion is labels trigger, logic will have been checked in validation anyway and failed if so
* label trigger to run milestone only needs detect-mistmatch and does not need pr validation
* getting rid of checkout for just reading a file from the base branch of PR, if main, give success for milestone
* issues.update is deprecated for prs
* removed label trigger workflow, it will not retrigger itself
* made pr validation not a reusable workflow. it treiggers also on labeled and unlabeled, but ignores unrelated labels, too much resource to check if the checkboxes are edited
* update from pulls back to issues when updating milestone as its not supported yet for pulls
* setting a github rest api version of 2026, else it uses the old one of 2022
* didnt work. removing github api specs for now
* more prints for miestone workflow and infrastructure is now bug fix milestone
* changed api from double to string return for getchipversion, updated python bindings, added to versions command, fixed appropriately to send string from server, fixed tests accordingly to convert the string to int to do the tests
* binary in
* minor
* fixed tests
* updated help for chipversion
* chipversion changed to chipversioninfpga, chipindex, vals and type introduced with string for 3 different types for chip v1.2 and 1.3.
* changed chipversion to chipindex (more apt?) and refactored
* fix without the list.h
* formatting
* scanning string instead of int from server config file for version
* scan works in config now
* chip versions =1.2 divided again
* minor refactoring
* formating
* startup set features allowed with chip index
* fixed existing features
* updated features for chip (dacs not done)
* fixed a test
* fixed another test and removed and unused reg
* fixed check for storage cell feature
* jf binary in
* removed a comment
* formatting
* changed some minor comments specifying v1.1
* minor
* removed comment. minor
* use has feature functions and fix reverse bits using configuration
* minor
* minor
* binary in
* remaining from updated features for chip (dacs not done)
* binary in
* binary in
* moved storage cell delay also to storage cell reg and removed 2 reg field defines that is not used anymore
* binary in
* updated RegisterDefs.h, added trigger and gate option to XCTB
* fix timing mode validation
* fix test case
---------
Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
* removed the test that set rx_hostname because it will reset parameters and some failures might be hidden for past or future tests
* reverted last change
* move hwm into the zmq constructor and reconstruct the socket instead of rebind. seems to work better than rebind (most connections cant bind so fast?)
* fix after merge
* added tests to reconnect zmq sockets when setting rx zmqport and rx zmqhwm, changed the tests scripts a bit to make the receiver starting tcp port configurable
* tests: slsreceiver also starting up with 2000 as default tcp port, using latest cli args for receiver and multi receiver
* releasr notes
---------
Co-authored-by: AliceMazzoleni99 <alice.mazzoleni@psi.ch>
* added fetch fmt server library
* added first draft of matterhorn
* added cpp TCP Interface to slsDetectorServer
* bug: added std::signal for proper handling of ctr+c
* added compile option to set log level
* WIP
* dont use c project settings when building matterhornserver
* updated logger
* WIP
* WIP
* linked fmt to slsProjectOptions
* solved merge conflict
* some refactoring
* cleaned up logs
* WIP
* generated register defs from csv file
* oops given in hex
* properly added fmt as a dependency
* some format changes
* WIP
* used CRTP for virtual detector
* WIP
* added udp functions to matterhornserver
* fixed build
* added Server class usable for all detectors
* removed stopserver
* added some more functions
* wrong overload
* porper cleanup of matterhorn app
* PR Review
* refactored directory structure
* added shared memory for aqcuisition status
* implemented bus read and write
* added Matterhorn data class
* modified memory model
* added SPI communication
* moved memory for Bus communication to BucCommunication class
* WIP added HelperFunction for mask conversion
* completed HelperFunctions
* added tests for MatterHorn Helper Functions
* removed shared memory in destructor
* fixed SPI communication
* moved SharedMemory to slsSupportLib
* added toolchain file for cross compilation
* fix constructor for HarwareSPICommunication is public
* update receiver parameters function
* updated mac address
* uploaded matterhorn server binary tracked as lfs
* small fixes from tests on board
* automatically update matterhorn api version when cross compiling binaries
* fix bug in SPI read
* copy to server_directory/bin when cross compiling
* fixed cmake list
* update generate_registerdefs.py
* fixed copy of server binary
* always return error message
* add error log when opening dev/mem
* code review
* fixed eiger, mythen tests for dynamic range
* second Review
* member function getDerived for better readability
* split code into implementation class and actual class doing tcp communication
* added slsWarnings and c++17 compiler option
* added git lfs to workflow
* fix gitea workflows
* bug: add extra clock register
* implement initial checks
* bug: client excpetcs 4 bytes
* refactoring directory structure and rename to .hpp
* check if detector already set up
* missed .h to .hpp
* Code Review 3
* use temmplate value for stopserver
* use internal CMAKE_CROSSCOMPILING variable
* moved boolean stop server flag to DetectorImpl - moving template parameter up
* missed a file
* replace baseclass:: with this
* add Matterhorn server in github workflow
* whatever workflow bug- lets see
* fixed receiving trim bits changed to int64_t
- changed
- command from `datastream` to `udp_datastream` to be more specific
- Detector API:
- setNumberofUDPInterfaces(pos) =>setNumberofUDPInterfaces() # no position anymore
- getDataStream(portPosition, pos) =>getUDPDataStream(portPosition, pos)
- setDataStream(portPosition, pos) => setUDPDataStream(portPosition) # no position anymore
- modified the dataprocessing thread:
- if gui or call back, start zmq processing (connecting sockets) before starting receiver (disabled ports sends dummy that the client zmq sockets are not ready for)
- if only progress, starting progress processing thread after startReceiver
-
- added
- Detector API:
- getRxDisabledUDPPortIndices()
- getPortPositionList()
- allow disabling/enabling udp interface in receiver for Jungfrua/Moench when both udp interfaces is enabled (This is to go fast, where only one half of the module matters)
- write ports type and disabled ports to master file (tests for it as well)
- tests for python commands as well
- datastream command to deprecated commands
- refactored tests to make the new parameters fit
* first draft of disabling data port at the receiver side. Todo: master file and stream for gui to use
* updated help in command
* formatting
* md5 unchanged
* fix test, check port position for detector type
* wip, udp port enable metadata in client, to:receiver, zmq streaming
* wip, master attributes
* wip, imple=> save only disabled ports with port index, 1 interface, is empty
* works in file. still needs refactoring
* updated writer versions
* udp ports type pass, disabled with api yet
* fixed disabled ports meta data as well
* fixed in developer via other PR
* renamed.more intuitive
* fix in gui that wont wait for disabled ports
* added tests for master file
* extra tests
* move the master fiel tests into its own tests with the disable marker for github tests
* refactoring
* python test
* more intuitive and doc
* release notes
* example for python
* back to before
* minor documentation fix and sending nports unnecessarily for getRxUDPPortDisableMetadata
* doc
* review fixes, 1. using std::array instead of vector, 2. moving udp_datastream command testing with different values into master attributes testing file because we test the master file
* minor
* review: update help
* progress printed before assigned
* try catch inside hdf5
* auto generated code for CLI and formatting
* missing packets should not be checked at github workflow level
* formatting
* improved python doc for udp_datastream help
* indent doc python done
* debugging (still fails for old cache)
* verification removed. Leaving the creating and restorign cachec at v1.6.1 instead of latest for cache-apt-pkgs-action
* cache-apt-pkgs-action at v1.6.1 also for build_documentation yaml
* Clean up run_tests.yaml by removing comments
Removed commented-out line for clarity.
---------
Co-authored-by: AliceMazzoleni99 <alice.mazzoleni@psi.ch>
* Validate restored apt packages in CI before CMake configuration
Add checks for cached apt dependencies to catch incomplete installations. A temporary Ubuntu mirror/package index mismatch caused apt installation to fail, but the failure was not detected before CMake ran.
* continue on error uncommented to see that it actually restores the previous step. The previous commit was to check the error message on failure to install the packages
* repair didnt run earlier.. checking on condition from custom message
* Remove redundant HDF5 verification step from CI. And fix broken repairs half configured dependenceies before reinstalling requested packages
* fix the simulator tests workflow for the same reason as previous commit (not failing for actual failure to restore installation from cache)
* removed redundant checks for repair as we are not repairing anymore
* use a different cache (changing version)
* changing ubuntu back to 22 instead of 24 (latest) because of 'E: Failed to fetch mirror+file:/etc/apt/apt-mirrors.txt/pool/main/c/curl/libcurl4-openssl-dev_8.5.0-2ubuntu10.9_amd64.deb 404 Not Found'
* cache at specific version
* version typo
* go back to original version number (was changed earlier to create a new cache everytime)
* added the other yaml
* minor, but recreating new caches with v1.0 version
* treating warnings as errors during workflows
* suppress warnings for moench calibration
* no format overflow
* revert formatting
* bettter conditional branching in cmake
* WIP
* show image coordinates
* passing frame and plot values dynamically
* WIP
* succesfully show each counter as one image
* added checkboxes for different images
* only display counters for transceiver samples and image plot
* fixed layout
* dont reshape already done in transform
---------
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
* refactoring
* wip
* refactored, yet to take out checkers
* checker added
* wip acquire ctb state
* wip acquire ctb state
* wip, acq test
* acquire moved out
* fix
* wip, To fix masterattribtues
* wip, masterfilecheks
* wip, at ctbexpectedstate
* wip, fixing acquire
* wip, acquire done
* wip
* compiles
* refactoring
* minor
* minor
* reduced unnecessary includes
* fix in tests
* removed ctb state check
* ctb fix with ctb state
* fixed ctb guard tests
* minor debug
* work for xilinx ctb
---------
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
* add rx_restream_stop command. This allows to send a ZMQ dummy header any time user wants to do so. For example this allows to pre-configure the ZMQ processing software before the acquisition begins. Therefore, the dummy header was adapted in order to contain the fields stored in the receiver.
* renamed command, changed inherit, moved commands to zmq related section
* update filename in restreamstop
* renamed helper function, sorted header fields alphabetically
* fixed fnametostream set
* renamed functions, add SetFileName method, format JSON parameters order
* added python bindings and formatting (does nothing really)
* renamed restream stop functions to stream dummy
* checkout .github files from ed8c885
* release notes
---------
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
* fmt_install for local libs code
* fix: small python warning about escaped character \* in docstring
* copy with -r in copy_lib.sh due to cmake directory
* repalce conda build with conda-build, bump actions versions
* updated github actions versions to run on node 24
---------
Co-authored-by: Alice <alice.mazzoleni@psi.ch>