*************************************************************************************************************************
  CAEN SpA - Front End Division
  Via Vetraia, 11 - 55049 - Viareggio ITALY
  +390594388398 - www.caen.it
*************************************************************************************************************************

-------------------------------------------------------------------------------------------------------------------------
Release 4.3.0 - 14/01/2026
-------------------------------------------------------------------------------------------------------------------------
- Updated output list file to version 3.4 adding the Tref timestamp in SpectTiming mode and the per-event channel count 
  (number of channels containing data and written to the event) in all acquisition modes
- Updated FERSlib to v1.3.0
- Removed the functions FERS_GetParam_Hex and FERS_GetParam_Hex64 
- Added a warning for asnchronous StartRun modes (ASYNC, CHAIN_T0, CHIAN_T1) when used with a TDL connection
- Forced Trigger and Tref to use the same source in SpectTiming mode
- Improved service event checks on USB connection
- Added the RunTimeCmd 'n' to change the run number in console mode
- Enable statistics updates even when the Statistics tab is not in focus
- Fixed typos in ASCII and CSV output headers
- Updated BinToCsv for compatibility with Janus list file version 3.4.
- Improved Janus installation on Linux platforms
- Minor bug fixes in BinToCsv
- Bug fix when Janus closes with boards still connected
- Bug fix in StopMode PRESET_COUNT

-------------------------------------------------------------------------------------------------------------------------
Release 4.2.4 - 07/10/2025
-------------------------------------------------------------------------------------------------------------------------
- Updated FERSlib to v1.2.3, which includes documentation in the Linux package
- Bug fix in binary file output for Spect/SpectTiming mode: channel ID is now correctly stored as uint8_t instead of int
- Bug fix in HV monitor for console mode with multiple boards

-------------------------------------------------------------------------------------------------------------------------
Release 4.2.3 - 16/09/2025
-------------------------------------------------------------------------------------------------------------------------
- Bug fix on ASCII and CSV file in spect timing acquisition mode
- Bug fix on correct assignment of PREAMP_LG and PREAMP_HG analog probes

-------------------------------------------------------------------------------------------------------------------------
Release 4.2.2 - 10/09/2025
-------------------------------------------------------------------------------------------------------------------------
- Updated FERSlib to v1.2.2, fixing a bug in Threshold and Hold Delay scan
- Added EnableListZeroSuppr parameter to skip list events with 0 hits in timing mode
- Bug fix when setting Max Size List output file in paramparser.c

-------------------------------------------------------------------------------------------------------------------------
Release 4.2.1 - 10/07/2025
-------------------------------------------------------------------------------------------------------------------------
- Improved missing service event check
- Bug fix when saving configuration file for a specific run

-------------------------------------------------------------------------------------------------------------------------
Release 4.2.0 - 06/06/2025
-------------------------------------------------------------------------------------------------------------------------
- Improved Janus installation instruction on linux
- Improved stability with USB connections
- Ensured compliance with the C++17 standard
- Fixed memory leakage issue when using TDL connection with multiple FERs modules connected
- Parameter EnLiveParamChange forced to 0 fir USB connections
- Disabled raw data saving for Hold Scan and Staircase run
- Bug fix in OpenDevice when boards are open in offline mode
- Bug fix in opening USB connection as usb:PID
- Bug fix saving configuration file for different run from GUI

-------------------------------------------------------------------------------------------------------------------------
Release 4.1.2 - 15/04/2025
-------------------------------------------------------------------------------------------------------------------------
- Improved Janus installation details in README and Janus_Install.bash for linux OS
- Bug fix in FW upgrade from GUI and cmd line when a board is not running a valid firmware
- Bug fix in reading fpga temperature

-------------------------------------------------------------------------------------------------------------------------
Release 4.1.1 - 02/04/2025
-------------------------------------------------------------------------------------------------------------------------
- Increased the number of boards supported by Janus in console mode to 128
- Added information on FPGA firmware upgrade in the FERSlib log file
- Bug fix in FW upgrade procedure in console mode
- Bug fix in compiling Janus by removing the dependece of LD_LIBRARY_PATH
- Bug fix in board selection for Staircase and Hold Scan delay run
- Bug fix in propagation delay between nodes in DT5215

-------------------------------------------------------------------------------------------------------------------------
Release 4.1.0 - 28/02/2025
-------------------------------------------------------------------------------------------------------------------------
- Added Macro 'Dump_LibAndConfig.txt' to enable the dump of board configuration and ferslib parameters
- In ASCII and binary list file: if ZS is active, the event is totally skipped and the event header is not saved
- Removed the dependence of ferslib in LD_LIBRARY_PATH for JanusC and update the install instructions in linux distribution
- Bug fix for HV value set when DAC dynamic range is DISABLED
- Bug fix on DAC Dynamic range 2.5 
- Bug fix on GUI mode visualization option 
- Fixed memory leakage when Statistics is deallocated

-------------------------------------------------------------------------------------------------------------------------
Release 4.0.0 - 31/01/25
-------------------------------------------------------------------------------------------------------------------------
- First Janus version with FERSlib detached 
- Simplified and improved Raw data processing procedure on GUI
- Added Multiboard firmware upgrade
- Added protection in GUI on 'Statistics' tab Brd spinbox and verbose service event to prevent unexpected freezing
- Added board selection for Staircase and Hold Scan Delay run
- Added x calibration to MCS histogram when internal pulser is selected as trigger
- Added Tref timestamp at 0.5 ns resolution in Timing mode in output list files
- Improved Firmware Upgrade stability with TDL connection with > 1 board connected
- Improved ServiceInfo file format
- Improved FERSlibLog and MsgLog files format
- Improved the robustness and verbosing in OpenDevice function
- Improved the monitor of HV ramp-up/down
- Bug fix on board sync reset when chains are scanned from web interface
- Bug fix on CSV file created by Janus on timing mode
- Bug fix on Event Building
- Bug fix on HV individual maximum range, can be set to 2.5 V
- Bug fix on OpenDevice in Linux with tdl connection
- Bug fix on output list file ASCII in counting mode
- Bug fix on HV individual adjust configuration
- Bug fix on turining HV off when Janus GUI closes connection
- Bug fix on gnuplot live histogram in linux distribution with wayland
- Minor bug fix on tooltips description

-------------------------------------------------------------------------------------------------------------------------
Release 3.6.0 - 14/05/24
-------------------------------------------------------------------------------------------------------------------------
- Added GUI executable bin/JanusPy.exe to be launched without python installed
- Added check on HV bias setting
- Added Janus installer for fedora/redhat distribution
- Changed the Janus_Install extension, from .sh to .bash
- Improved the verbosity of Janus_Install.bash
- Bug fix in header of BinToCsv
- Bug fix on CSV list file
- Bug fix on output list file with a maximum size
- Bug fix on number of warning/error messages shown
- Bug fix on ServiceEvent decode, channel 0 counts were skipped
- Bug fix on Brd Temperature
- Bug fix on integral statistics
- Bug fix on raw data reprocessing with different run number
- Bug fix on GUI, placed back the button on RunCtrl tab
- Bug fix on Timing Mode in getting the number of hits
- Bug fix on offline raw data processing for tdl connection

-------------------------------------------------------------------------------------------------------------------------
Release 3.5.0 - 08/04/24
-------------------------------------------------------------------------------------------------------------------------
- Added support for new trigger logic options and output monostable settings
- Added PCB temperature readout 
- Added FW-SW compatibility check
- Added Data Analysis level parameter
- Added 2nd time stamp (optional) that can be reset by the Tref signal
- Added CSV output list file option to Janus
- Added Service Event Info output file (temperatures and HV info)
- Added no-blocking warning/error pop-up during a run are shown on GUI
- Added time and legend on Msg_log file
- Added on GUI verbose message related to service event only
- Improved Janus_Installer.sh messages
- Modified pop-up warning: not shown during data acquisition
- Modified output file format to manage 2nd time stamp (file version = 3.3)
- Modified plot behaviour: is not shown during startup except if an offline run is selected
- Updated BinToCsv for binary file version 3.3. Added column of "number of hits" in each event, for all the acq modes
- Bug fix on plot legend and traces selection
- Bug fix on pedestal subtraction 
- Bug fix on boards status error handling
- Bug fix on boards overtemperature handling
- Bug fix on Raw Data offline processing

-------------------------------------------------------------------------------------------------------------------------
Release 3.4.0 - 06/02/24
-------------------------------------------------------------------------------------------------------------------------
- Added option OR_QUAD to Trigger Logic
- Added parameter Tlogic_width to set the Trigger Logic output width (monostable; 0=linear)
- Changed param name: "PairedCnt_CoincWin" to "ChTrg_Width". Now used also for trigger logic coincidence window

-------------------------------------------------------------------------------------------------------------------------
Release 3.3.0 - 12/12/23
-------------------------------------------------------------------------------------------------------------------------
- Improved plot legend readability
- Improved errors handling, during run, while 
- Removed MANUAL option in StopRunMode when Jobs are enabled
- Verbose socket message option in GUIMode menu creates logs of FERSlib messages
- Removed Makefile Log
- Improved console Warning/Error messages readability
- Added raw data saving by FERS_LL library
- Added online/offline raw data saved reprocessing
- Added limit size for list files
- Added concentrator info in RunInfo file
- Update BinToCsv to convert binfile with limited size to version 3.0
- Bug fix on Verbose socket message
- Bug fix on FW upgrade from GUI when FW is not found
- Bug fix on plot legend label afer an hard reconfiguration
- Bug fix in FERS FW upgrade via TDlink, available from FW Major Rev >= 6
- Bug fix in board selection in Statistics tab
- Bug fix in pedestal calibration function

-------------------------------------------------------------------------------------------------------------------------
Release 3.2.4 - 22/08/2023
-------------------------------------------------------------------------------------------------------------------------
- Bug fix on command delay setting for TDL connection
- Bug fix in linux Makefile

-------------------------------------------------------------------------------------------------------------------------
Release 3.2.3 - 04/08/2023
-------------------------------------------------------------------------------------------------------------------------
- Bug fix on USB connection in linux with >1 boards

-------------------------------------------------------------------------------------------------------------------------
Release 3.2.2 - 10/07/2023
-------------------------------------------------------------------------------------------------------------------------
- Updated the managment of the Digital Probe for FW Major Rev. >= 5
- Improved the readout data for TDL connection
- Implemented new communication protocol for eth/usb connection, valid for FW Major Rev. >= 5
- Added control to let the FW upgrade only through eth/usb
- Implemented the stop function for Staricase and Hold-Delay runs
- Version of Binary Data file updated to 3.2, together with the BinToCsv converter
- Implemented FERS FW upgrade through DT5215

-------------------------------------------------------------------------------------------------------------------------
Release 3.1.0 - 06/04/2023
-------------------------------------------------------------------------------------------------------------------------
- Bug fix in FERS_readout in chain and node reading
- Implemented Common Start/Stop function for Timinig Mode
- Bug fix: over current/voltage flags are assinged correctly
- Updated the optical link communication protocol with DT5215 (FERS concentrator)
- Bug fix on HV switching off when Janus quit after a connection error
- Improved Load Macro pop-up view

-------------------------------------------------------------------------------------------------------------------------
Release 3.0.3 - 03/10/2022
-------------------------------------------------------------------------------------------------------------------------
- Bug fix in FWupgrader for Linux using ethernet connection

-------------------------------------------------------------------------------------------------------------------------
Release 3.0.2 - 05/08/22
-------------------------------------------------------------------------------------------------------------------------
- First Release for Linux (tested on Ubuntu)
- Bug fix: readout error (data corruption) after stop and restart
- Restored live params change (config update while running)
- Finalization of the readout through DT5215 (FERS concentrator)
- Bug Fix on ActiveBrd updating in RunVars
- JanusC process self ends when the GUI communication cannot be recovered, turning HV off
- Bug Fix: on the GUI check if a Macro or Cfg file exists before reading it
- Added the possibility to suppress zero counting channels in list output file for counting mode
- Bug Fix on closing GUI when JanusC is still connected
NOTE: The following changes require FW Major Rev. >= 4
- Access to HV monitor through registers instead of I2C cycles 
- Shut-down of uC when running with TDL for power/heat saving 
- Implementation of Service Events, that is HV monitor and trigger counters passed with data 
- Bug Fix on the send HV info to GUI when HV tab was not selected

-------------------------------------------------------------------------------------------------------------------------
Release 2.2.10 - 15/04/22
-------------------------------------------------------------------------------------------------------------------------
- Bug fix on the checkbox of the tab connect when JanusPy is launched
- Bug fix in Run_Info: if jobs are enabled the config file for the run is reported, when present
- Improved the managing of the jobs, preventing conditions that generate an automatic starts of the run
- Added button 'Reset Job', to reset the jobrun
- Added Readme file

-------------------------------------------------------------------------------------------------------------------------
Release 2.2.9 - 8/03/22
-------------------------------------------------------------------------------------------------------------------------
- Added option to enable/disable ToT in timing measurements (when disabled, the ToA has a dynamic range of 25 bits instead of 16)
- Added options to rebin the ToA histogram and select the minimum value (in ns) of ToA histogram 
- Bug fix: RunInfo file is closed when the run stops
- Added option for saving in the list_files the ToA and ToT as float ('ns') or int ('LSB') in "RunCtrl" tabs, through the param "OF_OutFileUnit"
- Data format version 3.1: fixed the event size in timing mode. Added the EnHistoNbin, time unit, time LSB value in the Header file list. ToA and ToT can be float or int
- Macro BinToCsv updated to the data format 3.1
- Bug fix: list ASCII saving restored

-------------------------------------------------------------------------------------------------------------------------
Release 2.2.8 - 11/02/22
-------------------------------------------------------------------------------------------------------------------------
- Bug fix in staircase
- Added menu option (under "FWupgrade") for restoring IP address to default (192.168.50.3)
- Bug fix: data readout stops when a parameter changes while running. Forced automatic restart of acquisition in background
- Added display of readout rate in the status bar while running
- Disabled by default the readout of channel trg counters. Need to be enabled with the param "EnableCntRead", but may cause instability in the readout
- Bug fix in Scan Hold-Delay
- Bug fix in output file list (wrong channel number)

-------------------------------------------------------------------------------------------------------------------------
Release 2.2.5 - 22/12/21
-------------------------------------------------------------------------------------------------------------------------
- Bug fix: set the statistics visualization selected when GUI connects to JanusC
- Bug fix: solved JanusC crash on eth (tdl) connection when no data are read
- Bug fix: solved issues on Staricase and ScanHold 
- Statistics display modified

-------------------------------------------------------------------------------------------------------------------------
Release 2.2.3 - 15/11/21
-------------------------------------------------------------------------------------------------------------------------
- Added Multi Channel Scaler (plot of counts as a function of time)
- Finalization of the TDlink (with a single link)
- Added support for USB communication in Linux
- Added Janus_Install.sh and Makefile to compile JanusC on Linux
- Data conversion from Binary to CSV format
- Added support for macros (extension of config file)
- Enabling/Disabling online histograms writing
- Support for .ffu firmware file format and check of FW compatibility
- Modified getch and kbhit on Linux, to solve shell issues when JanusC closes on console mode
- Added Event Sorting/Building
- Added customization of GUI with the Acquisition mode selected
- Added Tref Delay parameter
- Added paired counting mode (coincidence between couples of channels)
- Bug fix: 1st events of a run can be old events of the previous run
- Bug fix in detector temperature readout
- Readout of channel trigger counters and T-OR counter also in spectroscopy and timing mode
- Added Log messages and files for debugging
- Added option for the calculation of the statistics: Integral (average from start of run) or Updating 
- Bug fix: HV turning off decision when JanusC closes
- Bug fix: JanusC compilation on linux (ubuntu 18.04)
- Bug fix: usb connection in linux works, a rule for usb privilege should be create. It is done automatically by running Janus_Install.sh as root

-------------------------------------------------------------------------------------------------------------------------
Release 2.0.0 - 28/06/21
-------------------------------------------------------------------------------------------------------------------------
- Support for Linux (ethernet only, USB driver still missing)
- First implementation of the TDlink (partially tested)
- Readout of FPGA temperature

-------------------------------------------------------------------------------------------------------------------------
Release 1.2.0 - 06/05/21
-------------------------------------------------------------------------------------------------------------------------
- Added management of trigger validation and veto
- Added plot of histograms read from file (typically for comparing runs)
- Changed binary output files
- Improved controls on GUI settings to prevent mistakes

-------------------------------------------------------------------------------------------------------------------------
Release 1.1.5 - 26/04/21
-------------------------------------------------------------------------------------------------------------------------
- Bug fix in zero suppression settings

-------------------------------------------------------------------------------------------------------------------------
Release 1.1.4 - 20/04/21
-------------------------------------------------------------------------------------------------------------------------
- Added temperature sensor readout and Vbias feedback
- Added size and channel mask in binary output files
- Added some controls in parameters editing (preventing wrong insertion)

-------------------------------------------------------------------------------------------------------------------------
Release 1.1.0  
-------------------------------------------------------------------------------------------------------------------------
- First Release
