* create a include command calling the same function as parameters (cmd generation and autocompletion), testing parameters and include
* added include in command line and python and its supposed to do the same as parameters command. both are tested
* added colorama
* moved test_free and test_command python tests to tests/scripts folder from python/tests due to CI issues with dependencies
* generated commands
* formatting
---------
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
* basic ctb config api for register and bit names
* tests for define and definelist pass. yet to implement using them for reg, setbit, clearbit and getbit
* improved autocomplete for getbit,setbit, clearbit
* validate autocomplete
* definelist has no put
* updating help
* converting char array+int in runtimeerror compiles but throws at runtime.Fixed.Tested for it. Also check if string or int before using getregisterdefinitonbyvalue to see if it threw to call the other function. because both of it can throw and we should differentiate the issues for both
* removed std::vector<std::pair<string,int> to std::map<string, int> for defiitions list
* Dev/define cmd tie bit to reg (#1328)
* strong type
* moved everythign to bit_utils class
* pybindings
* added tests for python
* removed duplicates
* removed bit names in reg
* changed BitPosition to BitAddress
* Using define reg/bit from python (#1344)
* define_bit, define_addr in python.
* setBit/clearBit takes int or addr
* added example using bits
* split define into 2 commands define_reg and define_bit, definelist into 2: definelist_reg and definelist_bit
* allow string for register and bit names in c++ api
* refactor from github comments
* naming refactoring (getRegisterDefnition to retunr name and address specifically
* added marker for 8 cmd tests connected to define, changed macro to static constexpr
* changed bitPosition from int to uint32_t
* got rid of setbitposition and setaddress, instead overloaded constructor to take in strings so that the conversion from string to bit address members, takes place within the class for easy maintainance in case type changes
* Removing implicit conversions:
RegisterAddresss and RegisterValue: Removed the implicit conversions.
RegisterAddress: Changed member name from address_ to value_ and method as well to value().
RegisterValue: Also added | operator to be able to concatenate with uint32_t. Same in python bindings (but could not find the tests to modify
* Allowed concatenation with other RegisterValue, made them all constexpr
* fix a ctbConfig test
* Maponstack works with integration tests, but need unit tests
* tests on mapstack
* fixed ctb tests and FixedString being initialized with gibberish
* removing parsing from string inside the class RegisterAddress, BitAddress and RegisterValue
* updated python bindings
* fixed bit utils test
* renaming getRegisterDefintiionAddress/Name=>getRegisterAddress/Name and similary for getBitDefinitionAddress/Name
* updated python bindings
* fix tests (format)
* a few python tests added and python bindings corrected
* replaceing str with __str__ for bit.cpp
* repr reimplemented for bit.cpp
* removed make with registerAddress etc
* starting server for tests per session and nor module
* killprocess throws if no process found-> github runs fails, changed to pkill and not throw
* clean shm shouldnt raise, in ci binary not found
* ignoring these tests for CI, which fail on CI because simulators are not generated in CI. This is in another PR, where it should work
---------
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
Co-authored-by: froejdh_e <erik.frojdh@psi.ch>
- 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>
* removed verify, update, fixed getUser to be a free function, generated commands, python bindings yet to do
* python bindings
* fixed tests
* minor
* minor
* format
* 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
* fixing nextframenumber properly with firmware
* updated firmware to have getnextframenumber and fixed setnextframenumber to reset also the header fifo when stopping
* fix tests for gotthard2
* get/set next frame number in G2 (firmware only has set, no get)
* firmware has issues: each stop keeps 2 frame header in fifo and the resetting frame number happens after that
* removed the option to set burstmode to burst external or continuwous internal
* needs to be revisited before 9.0.0
* added readoutspeed command to m3 (fullspeed - 10, half speed - 20, quarter speed - 40), removed reaodut pll, moved up system pll clock indices, leaving pll index in common altera code, default speed is half speed, allow only system_c0 to be set, the others can be obtained, same for clkphase, maxclkphaseshift, clkfreq. added to readoutspeedlist commands, updated help and updated tests
* updated readoutspeedlist command
- 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
* enable ipv6 in zmq socket
* removed rx_zmqip API and field in gui, changed client updaterxrzip to updateclientzmqip to have the rx_hostname ip if 0.
* updated command line for rx_zmqip to give a warning.
* Replaced 'depreciated' to 'deprecated' everywhere
* switching from * to 0.0.0.0 works for rebinding zmq sockets
* fixed help in command line for rx_zmqip * to 0.0.0.0 and removed cmd in python
* remove publisher zmq socket ip also for moench post processing
* fixed tests
* publisher zmq ip macros to be reused
* changed common.c readADCFromFile to make it more general and move temperature calculation for Eiger out of this function and inside whereever it is called.
* g2 and m2: gethighvoltage was just a variable set in server, it is now moved to a get inside DAC5671 implementation (but not reading a measured value, instead what is set from a file), high voltage variable used inside DAC5671 for virtual servers
* g2: switching off hv (ifrom non zero to zero value) will wait for 10s; powering on chip reconfigures chip; powering off chip unconfigures chip; powering off chip also includes check if hv = 0, if not throw exception; chip configuration checked before acquring; at start up: hv switched off and chip powered on, so does not wait 10s to switch off hv;
* included test to check powering off chip when hv is on should throw an exception
* g2: check if chip configured before acquiring
* nios: read hv value set from file and virtual still goes into DAC5671 for conversions to and fro dac to V, change common readadc to readparameter to generalize, make sethighvoltage into a get and set to catch errors in get as well, g2: if not at startup, remmeber hv value before setting it and after check if value was being switched off (from a non zero value) and wait 10s if it was (10s wait only for switching off from non zero and not at startup)
* period and exptime(patternwaittime level 0)
* added new regsieterdefs and updated api version and fixedpattern reg
* autogenerate commands
* formatting
* minor
* wip resetflow, readout mode, transceiver mask, transceiver enable
* acquisition, but streaming done bit and busy (exposing + read chip to fifo) not known yet from fw
* programming fpga and device tree done
* most configuration done, need to connect configuretransceiver to client
* stuck at resetting transciever timed out
* minor
* fixed virtual, added chip busyto fifo, streaming busy, set/getnext framenumber
* configuretransceiver from client, added help in client
* make formatt and command generation
* tests for xilinx ctb works
* command generation
* dacs added and tested, power not done
* power added
* added temp_fpga
* binaries in
* ctrlreg is 0 to enable chip=fixed, high dac val = min val= fixed, power regulators in weird order=fixed, device tree could be loaded with dacs before adcs=fixed
* start works
* virtual server sends
* receiver works
* tests
* python function and enum generation, commands generatorn and autocomplete, formatting, tests
* tests fail at start(transceiver not aligned)
* tests passed
* all binaries compiled
* eiger binary in
* added --nomodule cehck for xilinx
* implemented testbus, testfpga, set/get #frames, triggers, allowed that and for connection to client, also allowed, getnumchannels, configuremac, getrunstatus, setdetectorposition with dummy values
* connected kernelversion, hardwareversion, versions, framesl, triggersl, dr, timingmode, pattern (except patioctrl) thats there for altera ctb
* replaced set/get64Bit to set/getU64bit in all loadpattern.c for (ctb and m3 also)
* implemented testbus, testfpga, set/get #frames, triggers, allowed that and for connection to client, also allowed, getnumchannels, configuremac, getrunstatus, setdetectorposition with dummy values
* allowing tests for xilinx
* binaries in
* commands code generation (#803)
* commands code generation for only frames command
* fix cmake file and add Caller files
* working exptime, fully extended commands file and its variants
* start adding template commands
* add INT_CMD_VEC_ID template
* add list command, generate multiple bins, format code
* reach 208 commands using the cpp macros
* add tests for command parser
* start adding tests for commands parser
* fix typo to use commands.yaml
* add more tests for command_parser
* add all template functions (up to 218 commands)
* finish template functions and add more CmdProxy.cpp functions (250+)
* 257 commands
* 300 commands the rest are very special commands
* add special commands without generation
* separate special functions from generated c++ file
* implementing one command for put and get (buggy)
* add infer action in a separate file
* generate header for special commands from yaml
* allow only 0 or 1 for bool inputs
* group all commands in gen_commands.py
* add help to gen_commands.py
* add autocomplete bash script
* autocompletion: add support for module levels and help
* remove debugging line
* add autocompletion, help to commands, change int [0,1] to bool
* copy tests for Caller.cpp. Tests pass
* update with the new developer branch changes
* fix errors after merging (there is problems with tests)
* fixed port/stopport in yaml (intput typo), added '_caller' to the test dac and test on chip dac command in global test for cmdcaller
* undo previous test simulator debug change
* add documentation for the generated code
* reducing the comment to be replaced in length so formatting does not split into 2 lines
* removed formatting specific style of C++11 in gen_commands.py to keep with the top level clang format of the project
* regeneratign code for commands
* automation generated
* Redirect deprecated commands (#872)
* working implementation, need to fix dac
* fixed deprecation redirect for dac command
* Detector specific autocomplete (#873)
* working implementation, need to fix dac
* fixed deprecation redirect for dac command
* detector specific completion for dac
* added autocomplete using detector specific
* fixed error when autocompleting partial words
* Generate commands/fix commands (#875)
* fix vm_a, im_a etc have deg Celsius suffix, also help missing or changed in some places
* dac: require det id for all, arg0 to be printed at output, help for onchip dac and dac, onchipdac: spacing
* getscan detid and blocking trigger help
* udp_Dstlist det_id fixed, but rx_id invalid
* cmdApp in line with cmdLineApp (missing version, receiver_id, not creating det object in help action
* added set_command to differentiate between check_det_id and require_det_id (mixed up), args: -1 needs to check for at least one argument
* reordering
* reordering and checked till integer_command_hex
* fixed a lot more commands
* fix caller tests for eiger
* changes to tests after Bechir left
* changing .cmd to .cmdcall for the caller commands
* fixed tests for caller, still warning for setexptime about cast input
* autocomplete ran
* add moench test
* regenerating autocomplete and commands
* fixing other things from merge conflicts (renaming slsDetectorDefs to defs in commands.yaml)
* formatting
* added code injection to help (#876)
* updated 3 commands to have get output that can be put into put (#877)
* updated some commands to have get output that can be put into put
* fix tests for clkdiv
* adding help to free (#878)
* removing old commands and renaming them, (also making it work for parameters command as it was still calling cmdproxy) (#879)
* More helpful error messages for unsupported actions (#880)
* removing old commands and renaming them, (also making it work for parameters command as it was still calling cmdproxy)
* Added specific help for unsupported actions
* fixed a vetofile get special exception message. more specific warning for special exception message instead of no function warning
* added condition checking true in exceptions for special message
---------
Co-authored-by: Bechir Brahem <bachbrahem@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>