Commit Graph

61 Commits

Author SHA1 Message Date
Martin Mueller 0837de2a5a CTB frequency rounding, CTB frequency measurement, CTB frequency units (#1423)
* round CTB clocks to next closest possible value, added freq measurement

* added time for firmware to measrue actual value after frequency change

* add check for backwards compatibility

* change CTB and XCTB clock values to MHz, TODO: units and validation errors

* changed runclk command to use units and float, TODO: dbit, adcclk, why is everything called StringTo ?

* do the same for dbit and adcclk

* added tolerance to exptime, fixed test

* update default values in server defs

* added virtual check in Altera_PLL, update testcases

* change python and pyctbgui to accept and return floating point MHz

* update help and comments

* Dev/ctb clocks fix (#1434)

* introduced new type Hz, typetraits, String conversions, command generation (not yet generated)

* incorrect unit typo

* cmd generation and compiles

* default to MHz, removed space between units for consistency with timers, min and max checks for clks

* in python, but need to change the default to Hz again for clean code and intuition

* allow ints, doubles, implicit conversions

* dont allow raw ints, doubles and implicit conversions

* fixed tests

* added operators for Hz in python

* fix test for min clk for xilinx ctb

* fix test

* fix python tests

* fixed xilinx period and default clks

* test fix

* removed the 3 clock cycle check for ctb and implemented properly the max adc clk frq for altera ctb

* removing 3 clock cycle code from xilinx as well

* formatting

* loadpattern before 3 clk cycles code

* actualtime and measurement time to be implemented in 100ns already in fw

* fix tests

* pyzmq dependency forthe tests

* fixed pyctbgui for freq

* insert tolerance check again

* also added tolerance check for patwaittime

* formatting

* minor: rounding test

* removed Rep redundant in ToString for freq

* intro frequency unit enums, removed unnecessary template behavior for ToString with freq unit, switching from parsing string unit argument to the enum argument for ToString, adding parsing string to unit at CLI boundary

* minor, and binaries

* minor, default clk vals are 0 but set up at detector setup

* get frequency only for that unit

* tolerance process

* missed in previous commit

* some more changes to exptime and validations

* ctb is probably done

* periodleft and delayleft

* fixed xilinx freq conv as well

* fixed m3 bug, binaries

* xilinx: setup also done in stop server so that the clk is not 0

* missed a test marker

* binaries in

* review fixes, simpler validation of timers in ctb and xilinx ctb

* typo fix

* format

* fix tests

---------

Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2026-05-06 15:52:13 +02:00
Martin Mueller 6bbbce5dc3 CTB: simplify power monitoring (#1428)
Build on RHEL9 docker image / build (push) Successful in 4m23s
Build on RHEL8 docker image / build (push) Successful in 4m49s
Build and Deploy on local RHEL9 / build (push) Successful in 2m2s
Build and Deploy on local RHEL8 / build (push) Successful in 4m51s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m41s
Run Simulator Tests on local RHEL8 / build (push) Successful in 18m18s
* simplify power monitoring

* removed register definitions not needed anymore, formatting

* binaries updated

---------

Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2026-04-27 16:54:44 +02:00
maliakal_d c05d5a37cd dev/ fix vchip and binaries (#1435)
Build on RHEL8 docker image / build (push) Failing after 0s
Build on RHEL9 docker image / build (push) Failing after 1s
Build and Deploy on local RHEL9 / build (push) Successful in 2m5s
Build and Deploy on local RHEL8 / build (push) Successful in 5m0s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m42s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m7s
* updated binaries and fixed a warning by moving the usleep_bf to blackfin.c

* suppressed warnings

* cleaned up docs

* renamed function

---------

Co-authored-by: Alice <alice.mazzoleni@psi.ch>
2026-04-21 10:59:05 +02:00
maliakal_d 5ec5d46c48 Dev/ctb separate dac and power (#1420)
Build and Deploy on local RHEL9 / build (push) Successful in 2m12s
Build on RHEL9 docker image / build (push) Successful in 3m33s
Build on RHEL8 docker image / build (push) Successful in 4m54s
Build and Deploy on local RHEL8 / build (push) Successful in 4m54s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m41s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m10s
* not allowing power names for dac names to prevent duplicate names

* wip

* v_abcd commands should be removed to prevent unintentional usage and throw with a suggestion command for dac and power

* binary in

* dacs with power dac names should work and do not take in dac units to avoid ambiguity, test with 0 value for power dacs should fail, to do: implement power commands

* wip: power in client, tests, and fixed server interfaces and ctb implementation, not tested

* wip. client and xilinx todo

* wip: ctb power works, tests left

* fixed some tests

* added vchip check

* python cmds still left. wip

* fixed xilinx. python left

* wip

* wip. xilinx

* fixed powerchip for ctb

* power all returns all

* configtransceiver is removed

* wip python

* wip

* wip

* wip

* wip

* wip

* wip

* wip xilinx

* wip

* wip

* wip

* pybindings

* fix getdacindex and getdacname for normal detectors to throw if random index that doesnt fit to the detector

* wip

* fixed tests

* fixes for python api

* wip

* python: moved powerlist to Ctb

* fixed tests to work for powelist in Ctb

* moved signallist, adclist, slowadc, slowadclist to Ctb

* throw approperiate error when no modules added for powers

* added dac test

* fix dac default names and test for dacs

* ctb dacs, yet to do othe rdacs

* dacs should work now even in tests

* run all tests

* DetectorPowers->NamedPowers in ctb

* comments

* removed unnecessary test code

* removed hard coded dac names in python NamedDacs and NamedPowers

* minor

* minor

* fixed error messages

* changed power to  be able to set DAC directly, using enable and disable methods with enabled to get
2026-04-15 10:33:01 +02:00
maliakal_d 4ee61ae791 ctb and xilinx: setting all dacs (normal, not power dacs) to 0 (not power down) at startup. This is safer than power down for 4 normal dacs. xilinx ctb: remove disable fmc at power off chip so one can power on and off the chip on their own (#1424)
Build and Deploy on local RHEL9 / build (push) Successful in 2m3s
Build on RHEL9 docker image / build (push) Successful in 3m44s
Build on RHEL8 docker image / build (push) Successful in 4m47s
Build and Deploy on local RHEL8 / build (push) Successful in 4m52s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m39s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m4s
2026-03-17 16:53:33 +01:00
maliakal_d 60f5db1224 xilinx: slow adcs (#1405)
Build on RHEL9 / build (push) Successful in 3m29s
Build on RHEL8 / build (push) Successful in 4m41s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m42s
Build on local RHEL9 / build (push) Successful in 1m26s
Run Simulator Tests on local RHEL8 / build (push) Successful in 16m59s
Build on local RHEL8 / build (push) Successful in 3m33s
* xilinx: slow adcs

* minor

* xilinx: max reference voltage back to 2500mV for slow adcs ad7689
2026-02-27 17:17:11 +01:00
maliakal_d a3e6cc90ea server versions werent getting updated (#1407) 2026-02-27 17:12:27 +01:00
maliakal_d 8f07d2a464 Dev/xilinx set dac rewrite (#1389)
Build on RHEL9 / build (push) Successful in 3m46s
Run Simulator Tests on local RHEL9 / build (push) Failing after 3m51s
Build on RHEL8 / build (push) Successful in 5m15s
Run Simulator Tests on local RHEL8 / build (push) Failing after 5m31s
Build on local RHEL8 / build (push) Failing after 3m31s
Build on local RHEL9 / build (push) Failing after 1m25s
* wip

* wip

* wip. xilinx left

* wip. xilinx

* wip

* wip. compiles

* fixed eiger test

* more fixes

* fixed virtual m3

* fix typos and bugs

* setting power to 0

* set power fixed

* updated server binaries

* minor

* refactoring

* get vchip refactoring

* eiger: unnecessary check for setsettings undefined

* retval pointer for printout

* eiger.wip, mV in boolean

* wip. gotthard2 and m3

* wip. jungfrau

* moench.wip

* compiles.wip

* fix eiger

* m3 fix vthresh

* fix ctband xilinx

* default pwr index = pwr_io

* minor:fn name and highvoltage to local var

* refactor funcs

* minor

* minor

* check dac voltage only for normal dacs and not for power dacs as the dac voltage range is different for ctb and xilinx ctb, also throw for -1 in set for set_dac in client itself. in the server its not clear if its set or get with a -1

* minor

* updated versioning

* review changes: removing validateDACValue and other minor stuff

* binaries in

* wip

* refactored m3 vth

* minor review

* minor review

* m3 serverdac index fix

* minor
2026-02-23 14:23:13 +01:00
Erik Fröjdh 0992c7ae4c Read and write SPI for Xilinx CTB (#1381)
Build on RHEL9 / build (push) Successful in 3m25s
Build on RHEL8 / build (push) Successful in 4m37s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m42s
Build on local RHEL9 / build (push) Successful in 1m26s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m0s
Build on local RHEL8 / build (push) Successful in 3m32s
-readSpi and writeSpi in C++ and Python API
2026-02-05 17:20:47 +01:00
muelle_m1 fb58fefe57 added RegDefs for 1G support on XCTB
Build on RHEL9 / build (push) Successful in 3m28s
Build on RHEL8 / build (push) Successful in 4m36s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m40s
Build on local RHEL9 / build (push) Successful in 1m26s
Run Simulator Tests on local RHEL8 / build (push) Successful in 16m59s
Build on local RHEL8 / build (push) Successful in 3m31s
2026-02-05 15:11:31 +01:00
maliakal_d 9e7952048a calling setPower instead of setDac as the conversion should happen here 2026-01-28 15:20:34 +01:00
maliakal_d 9a876075ab updated binary 2026-01-28 15:12:55 +01:00
maliakal_d 2c6ded89ad xilinx server: not allowing power down as default dac values for the power regulators and not allowing to be set to these in the future either 2026-01-28 14:59:49 +01:00
maliakal_d 55ff222437 Dev/server/separate list header (#1373)
Build on local RHEL9 / build (push) Successful in 1m25s
Build on RHEL9 / build (push) Successful in 3m14s
Build on local RHEL8 / build (push) Successful in 3m33s
Build on RHEL8 / build (push) Successful in 5m0s
* xilinx, ctb and eiger server: detangled list.h to its own detector file

* detangled list.h from all the detectors servers
2026-01-28 13:49:46 +01:00
maliakal_d b70d3c5ad3 xilinx: start state machine started with start_f bit in flow control and not anymore the start_p from matterhornspictrl reg (so now if the user messes up the pattern, it will be stuck forever) (#1366)
Build on local RHEL9 / build (push) Successful in 1m25s
Build on local RHEL8 / build (push) Successful in 3m32s
Build on RHEL9 / build (push) Successful in 3m39s
Build on RHEL8 / build (push) Successful in 5m3s
2026-01-22 10:00:25 +01:00
maliakal_d 8769f1e70a xilinx tsamples upper limit increased (#1365)
Build on local RHEL9 / build (push) Successful in 1m25s
Build on local RHEL8 / build (push) Successful in 3m33s
Build on RHEL8 / build (push) Failing after 10m55s
Build on RHEL9 / build (push) Successful in 3m39s
2026-01-21 16:13:22 +01:00
muelle_m1 0ba1139741 remove hardcoded MH02 startup
Build on RHEL9 / build (push) Successful in 3m45s
Build on RHEL8 / build (push) Successful in 4m51s
Build on local RHEL9 / build (push) Successful in 1m25s
Build on local RHEL8 / build (push) Successful in 3m32s
2026-01-13 11:05:37 +01:00
maliakal_d 66f9664bc4 fprintf should return 2 including terminating character as well. formatting.
Build on RHEL9 / build (push) Failing after 31s
Build on RHEL8 / build (push) Successful in 4m58s
2026-01-06 09:53:55 +01:00
maliakal_d c154164eff refactoring
Build on RHEL9 / build (push) Failing after 30s
Build on RHEL8 / build (push) Successful in 4m43s
2026-01-05 17:51:54 +01:00
muelle_m1 d95dff56e4 add back XCTB server binary 2026-01-05 17:03:50 +01:00
muelle_m1 bcd22af9ba switch XCTB regDefs to cheby output 2026-01-05 13:53:30 +01:00
muelle_m1 dece2e16b4 update registerDefs.h
Build on RHEL9 / build (push) Successful in 3m9s
Build on RHEL8 / build (push) Successful in 4m35s
2026-01-05 09:31:32 +01:00
muelle_m1 8063560e3a added FMC control
Build on RHEL9 / build (push) Successful in 4m33s
Build on RHEL8 / build (push) Successful in 5m48s
2025-11-26 12:16:30 +01:00
muelle_m1 af2c6eca0c MH02 change clock switching method during periphery reset 2025-11-10 10:35:20 +01:00
Erik Fröjdh d3dc92b18b Using find_package(Threads REQUIRED) instead of linking pthread directly (#1324)
Build on RHEL9 / build (push) Successful in 4m30s
Build on RHEL8 / build (push) Successful in 4m42s
* Linking to Threads::Threads instead of pthread directly 
* moved rt linking to slsSupportObject and only enable for linux
2025-10-27 16:30:40 +01:00
maliakal_d 5041fd7fef Dev/xilinx set power (#1316)
Build on RHEL9 / build (push) Failing after 3m5s
Build on RHEL8 / build (push) Failing after 5m10s
* ctb updates not in release notes

* xilinx power similar to ctb,except no vchip
2025-10-16 13:57:11 +02:00
maliakal_d 3684f29e1a dev/xilinx_fifo_fix transceiver (#1313)
Build on RHEL9 / build (push) Failing after 3m26s
Build on RHEL8 / build (push) Failing after 5m11s
* xilinx ctb: clean fifos in a stop command for transceivers, else always running

* refactor
2025-09-30 16:42:29 +02:00
maliakal_d 965f8ab9f2 xilinx: using kHz, mult factor is 1E-6 converting ns to kHz (previously MHz->1E-6) (#1309)
Build on RHEL9 / build (push) Failing after 3m7s
Build on RHEL8 / build (push) Failing after 4m53s
2025-09-24 11:40:10 +02:00
Martin Mueller 2d8f93a426 ctb: add patternstart command, xilinx: fix frequency (#1307)
Build on RHEL9 / build (push) Failing after 3m9s
Build on RHEL8 / build (push) Failing after 5m11s
* add patternstart command for CTB, block end of execution udp packets if pattern was started by patternstart command

* update docs

* Dhanya's comments

* more Dhanya comments

* refactored

* fixed tests for startpatttern, also clkfrequency not properly used in server

* xilinx: fixed setfrequency, tick clock (with sync clock), clkfrequency set from getfrequency to get the exact value

* xilinx freq in kHz, updated default values and prints

---------

Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2025-09-23 12:13:46 +02:00
Martin Mueller e7a91d38f2 Pattern unification & Matterhorn Changes (#1303)
Build on RHEL9 / build (push) Failing after 3m7s
Build on RHEL8 / build (push) Failing after 4m58s
* update ctb regDefs, included fill level of adc, transceiver and DBit fifos, added enable registers for cont. readout

* fix fifo fill level range bug

* updated ctb RegDefs, increased size of fifo fill level register

* added register to read the firmware git hash

* ctb: added altchip_id read register

* start with unification of pattern machinery for xctb, ctb, mythen

* udate addrs for d-server internal matterhorn startup

* update xctb reg defs

* move pattern loopdef start

* added zero trimbits to matterhorn config

* Revert "added zero trimbits to matterhorn config"

This reverts commit 7c347badd5.

* added adjustable clocks on Xilinx-CTB

* added support for fractional dividers of runclk

* XCTB: make frequencies adjustable from python gui

* update docs

* added support for patternstart command to XCTB

* XCTB: map pattern_ram directly into memory, removed rw strobe

* refactor Mythen pattern control addresses

* test altera ctb with common addresses, removed ifdefs

* change ordering of regdefs

* updated python help for dbitclk, adcclk and runclk (khz)

* xilinx: moved the wait for firmware to measure the actual frequency to the server side and removed it in the pyctbgui side

* will not be anymore in developer branch

* make format (exception RegisterDefs.h), rewrite XILINX PLL to have less consstants in the code

* bug: mixing && for &

---------

Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2025-09-17 17:28:17 +02:00
maliakal_d 3387e22796 updated versioning in developer (#1293) 2025-09-09 17:26:18 +02:00
maliakal_d 6e3acbdf79 Dev/fix actual tests (#1285)
Build on RHEL9 / build (push) Failing after 3m50s
Build on RHEL8 / build (push) Failing after 5m8s
- fix acquire fail in tests (adcreg test)
- roi tests fail after overlapping invalid test and acquire after
- print udp dest mac in server properly
- fixed udp dst list get (server was not sending entry proper size to match proper struct size in client)
- updated server binaries and updated hard links in serverBin
- added documentation regarding gui:  zmqport and zmqip in terms of gui, rx_zmqstream
- removed print - probably ended there for debuggung

---------

Co-authored-by: Alice <alice.mazzoleni@psi.ch>
2025-09-04 10:44:32 +02:00
maliakal_d 92991de5a8 updating versions (#1258)
Build on RHEL9 / build (push) Successful in 4m2s
Build on RHEL8 / build (push) Successful in 5m6s
2025-08-07 10:28:22 +02:00
maliakal_d ee27f0bc1b readoutspeed in rx master file and other master file inconsistencies (#1245)
readout speed added to json and h5 master files.
Also fixed master file inconsistencies

Sserver binaries
- update server binaries because readoutspeed needs to be sent to receiver with rx_hostname command

API
- added const to Detector class set/getburstmode

Python
- updated python bindings (burstmode const and roi arguments)

Cmd generation
- added pragma once in Caller.in.h as Caller is included in test files

m3: num channels due to #counters < 3
* workaround for m3 for messed up num channels (client always assumes all counters enabled and adds them to num channels), fix for hdf5

g2: exptime master file inconsistency
- exptime didnt match because of round of when setting burst mode (sets to a different clk divider)
- so updating actual time for all timers (exptime, period, subexptime etc, )  in Module class, get timer values from detector when setting it and then send to receiver to write in master file

ctb image size incorrect:
-  write actual size into master file and not the reserved size (digital reduces depending on dbit list and dbit offset)
- added a calculate ctb image size free function in generalData.h that is used there as well as for the tests.


master file inconsistencies
- refactored master attributes writing using templates
-    names changed to keep it consistent between json and hdf5 master file (Version, Pixels, Exposure Times, GateDelays, Acquisition Period, etc.)
-  datatypes changed to keep it simple where possible: imageSize, dynamicRange, tengiga, quad, readnrows, analog, analogsamples, digital, digitalsamples, dbitreorder, dbitoffset, transceivermask, transeiver, transceiversamples, countermask, gates =>int
- replacing "toString" with arrays, objects etc for eg for scan, rois, etc.
- json header always written (empty dataset or empty brackets)
- hdf5 needs const char* so have to convert strings to it, but taking care that strings exist prior to push_back
- master attributes (redundant string literals->error prone

tests for master file
- suppressed deprecated functions in rapidjson warnings just for the tests
- added slsREceiverSoftware/src to allow access to receiver_defs.h to test binary/hdf5 version
- refactored acquire tests by moving all the acquire tests from individual detector type files to a single one=test-Caller-acquire.cpp
- set some default settings (loadBasicSettings) for a basic acquire at load config part for the test_simulator python scripts. so minimum number of settings for detector to be set for any acquire tests.
- added tests to test master files for json and hdf5= test-Caller-master-attributes.cpp
- added option to add '-m' markers for tests using test_simulator python script
2025-07-25 11:45:26 +02:00
mazzol_a b4c8fc1765 updated all makefiles 2025-05-15 17:08:27 +02:00
maliakal_d 451b50dfed fix for xilinx ctb virtual 2025-05-01 16:42:11 +02:00
maliakal_d ab01940769 add xilinx ctb api to --versions command 2025-03-11 15:51:46 +01:00
maliakal_d 297c3752e3 Dev/remove gotthard i (#1108)
* slsSupportLib done, at receiver rooting out in implementation

* removed from receiver and client

* removed everywhere except gui, python and client(commands.yaml and Detector.h)

* updated python

* fixed autocomplete to print what the issue is if there is one with ToString when running the autocomplete script to generate fixed.json. updated readme.md in generator folder

* formatting

* removed enums for dacs

* udpating autocomplete and generating commands

* removed gotthard from docs and release notes

* removed dac test

* bug from removing g1

* fixed virtual test for xilinx, was minor. so in this PR

* gui done

* binary in merge fix

* formatting and removing enums

* updated fixed and dump.json

* bash autocomplete

* updated doc on command line generation

* removing increments in dac enums for backward compatibility. Not required

* removed ROI from rxParameters  (only in g1), not needed to be backward compatible

* removed the phase shift option from det server staruip
2025-03-10 14:24:33 +01:00
maliakal_d e7247f1fee formatting 2025-03-04 10:48:13 +01:00
Martin Mueller 905a509a17 update xilinx regs (#1123)
Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
2025-03-04 10:38:14 +01:00
maliakal_d b4dc1dde6c patternX to pattern (#1120)
* pattern is not an issue for yaml. changing patternX to pattern everywhere

* added patternX to deprecated
2025-02-27 10:42:21 +01:00
maliakal_d 117637863d Xilinxctb/update reg (#1084)
* updated RegisterDefs.h from firmware update

* Revert "updated RegisterDefs.h from firmware update"

This reverts commit 64f1b2546e.

* updated registers and had it formatted

* Revert "updated registers and had it formatted"

This reverts commit 1641b705b0.

* udpated registers from firmware, reading config file in server (chip config, reset chip, enable_clock_pattern) specific for matterhorn,this is done when powering on chip, removed startreadout, fixed status register bits, updated firmware version

* fix for patioctrl allowed for zxilinx and adding readout pattern for scientists that like to push the acquire button

* fixing default enable clock and readout pattern for xilinx (patioctrl has to be 32 bit)

* Xilinxctb/first image (#1094)

* reduce xilinxCTB readout done checks to single register, increased clockEna pattern limits, clear FPGA FiFos and counters on powerchip, disable counters 1-3 in matterhorn configuration

* change print of xilinxctb server

* remove acquisition done check

---------

Co-authored-by: Martin Mueller <martin.mueller@psi.ch>

* binary xilinx in

* formatting

* added reset of udp buffer FIFO to xilinxCTB

---------

Co-authored-by: Martin Mueller <72937414+mmarti04@users.noreply.github.com>
Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
2025-02-18 11:30:51 +01:00
maliakal_d 315d49f8df ctb: patwaittime and exptime (#1076)
* cli: patwaittime also takes time argument, api: patwaitclocks and patwaitinterval, tcp: patwaitinterval is 2 functions for set and get, patwaitclocks remains a single for backward compatibility with -1 for get, server (loadpattern): clks using member names (needs to be refactored). needs tobe discussed what to do with pattern files.

* all tests passed

* fixed test 
* exptime deprecated for ctb and xilinx

* pyctbgui..not there yet

* fixed in pyctbgui

* removed redundant warning for ctb and xilinx exptime in Detector class (already in module class handling all exptime signatures), patwait, patloop and patnloop have to be non inferrable commands because of support for old commands (level as suffix)

* fix formatting error from command line parsing

* fix tests for patwaittime
2025-01-31 16:48:32 +01:00
maliakal_d 0e45ae189d allowing pyctbgui to work for xilinx ctb (#1079)
* allowing pyctbgui to work for xilinx ctb

* slowadc and adc enable (only 10g) allowed for xilinx ctb
2025-01-31 12:24:05 +01:00
Martin Mueller e6e260d8ca remove cross-compiler option in the case of compiling the detector server on the detector module CPU (#1078)
Co-authored-by: Martin Mueller <martin.mueller@psi.ch>
2025-01-30 09:44:36 +01:00
maliakal_d 5088e5a205 Dev/detach pthreads not joining (#1019)
* detach the pthreads that are not joining else memory leak

* removed the clean up comment, also refactored the pthread join/detach for ctb 1g
2024-11-07 11:24:46 +01:00
maliakal_d 2dc0963c56 Dev/reg bit change no validate (#970)
- do not validate write reg, setbit and clearbit by default anymore
- --validate will force validation on the bitmask or entire reg
- remove return value for write reg (across server to client, but thankfully not in the Detector class)
- extend validation into writereg, setbit and clearbit for Eiger (always special)
-  need to check python (TODO)
- missed the rx_zmqip implementations in detector.h and python bindings
2024-09-30 16:54:12 +02:00
maliakal_d 007330caa7 format 2024-09-26 15:39:49 +02:00
maliakal_d 9f079b17a2 Dev/xilinx mat update (#959)
* put back code to obtain adc and dac device indexafter loading device tree and then create folder iio_device_links and create symbolic links there according to device indices found. ln -sf operation not permitted, so folder has to be deleted and created everytime. Also refactored definitions to have all the xilinx name or detector specific stuff out of programbyArm.c

* uncommented waittransceiverreset at startup (should work now) and return of powering off chip at startup (error for transceiver alignment reset)

* updated registerdefs from firmware

* minor prints and updating names from registerdefs

* waittransceiverreset has been fixed in firmware and removing warnign for that, transceiver alignment check for powering off chip is not done in fw (giving a warning and returning ok for now)

* fixing ipchecksum (not done), removed startperiphery, allowing readout command to be allowed for xilinx when acquiring
2024-09-10 16:19:03 +02:00
maliakal_d c6477e0ed6 fixed stop server not starting up with setup variables (#949)
* m3: fixed stop server not starting up with setup variables

* all servers except eiger fixed for virtual stop server to start up with setupDetector function called

* virtual tests work

* eiger: versions print neednt be in stop server

* jungfrau: stop server (not virtual) also needs to read config file

* ensuring master is setup for virtual and real servers
2024-09-10 15:24:51 +02:00