-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
2326 lines (1261 loc) · 58.3 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v1.2.30
=======
* Updated build system to use Python3 and latest version of SCons. The build
environment can now be prepared with `pip install -r requirements.txt`
* Fixed linux build in gcc 10 and 11
* Fixed line ending for Linux shell scripts
* [microDXP] Special fix for USB2 stability in Vega variant firmware 2.0.21
* [Mercury] Added support for list mode mapping for Mercury OEM variant
* Updated USB2 driver to signed driver from Cypress EZ-USB FX3 SDK v1.3, this
will fix an error when Windows 10 is updated to Feature Update 20H2
v1.2.28
=======
* [Mercury] Added support for Mercury OEM variant.
* [microDXP] Added support for Vega variant microDXP.
v1.2.26
=======
* [microDXP] Fixed an error allocating passthrough response length.
v1.2.25
=======
* Instead of returning a generic XIA_XERXES (402) error code for I/O, firmware
error, Handel API now will return errors defined in xerxes_error.h. A new API
function xiaGetErrorText has been added to return the text for each error
code.
* Handel error code constants have been updated and reorganized to better define
the error.
* [microDXP] Added a check to board status on startup, do not continue if board
if in an invalid state that requires power cycle.
* [microDXP] Added a 10ms delay before reading response for Linux build, it
would match the command response timing in Windows, to fix a read error that
occurs in repeated command response loop under Linux.
v1.2.24
=======
* [microDXP] Reset IDMA bus at initialization to clear up possible lockups after
previous connection was broken off unexpectedly.
* [microDXP] Updated logging on start up.
v1.2.23
=======
* [microDXP] Added run data energy_livetime and corresponding entry in
module_statistics_2.
* Fixed issues with example code building in Linux. Removed unused code and use
platform specific system calls for sleep operation.
* Added logging entries in handel log for USB error codes.
* [microDXP] Fixed error in setting acquisition value "preset_type" for Rev G
boards.
* [microDXP] Fixed passthrough command capabilities check, return error
XIA_PASSTHROUGH if passthrough is not supported.
* Attempt to clear USB2 send buffer after connection in case stale data were
left in the buffer after previous connection was broken off, e.g.
when user press CTRL+C to end a program during active communication, in some
cases this had caused a device to appear locked up, and required a power
cycle.
v1.2.22
=======
* [microDXP] Added run data snapshot_sca and snapshot_sca_length. Support can be
determined by checking BOARD_SUPPORTS_SNAPSHOTSCA bit in get_board_features
board operation. See handel_constants.h for a list of board features.
* [xMap] Updated PLX SDK to v7.25, this will require updates to the PLX driver
included in the release.
* [xMap] Fixed an issue where mapping acquisition values sync_count,
num_map_pixels_per_buffer, and num_map_pixels are not initialized when
starting up in non-mapping mode.
* Updated logging system to include timestamps for each event.
* Fixed build script for source release, updated example code directory
structure. With python and scons installed, the build.bat in the source
release should be able to build both Handel and example programs.
v1.2.20
=======
* Fixed the memory allocation size in EPP device IO affecting 64-bit
Linux, thanks to Mark Rivers for the patch.
* Fixed missing CPPDEFINES in build to set the EXCLUDE flags.
* Added missing plxapi.lib, xerxes_io.c, xerxes_io.h to source release.
* Fixed xiaGetDetectors output.
v1.2.19
=======
* Added back the following exported functions to the API. They were removed in
v1.2.13 but are needed by end-user applications.
xiaNewDetector
xiaAddDetectorItem
xiaModifyDetectorItem
xiaRemoveDetector
xiaNewFirmware
xiaAddFirmwareItem
xiaModifyFirmwareItem
xiaRemoveFirmware
xiaNewModule
xiaAddModuleItem
xiaModifyModuleItem
xiaRemoveModule
xiaAddChannelSetElem
xiaRemoveChannelSetElem
xiaRemoveChannelSet
xiaDownloadFirmware
xiaUpdateUserParams
* Experimental support for serial port IO on Linux. To use, set
interface=serial in the .ini file module definition and set
device_file to a device file in /dev.
* Tweaked Linux USB2 bulk read length validation to support for all
microDXP revisions on Linux USB2. The protocol layer now returns the
actual length read and the MD layer validates this against the
requested length.
* usblib.h and xia_common.h now detect Linux using the
compiler-defined __linux__ to avoid the need to define LINUX in all
build systems.
* [microDXP] Added printout of PIC and DSP versions in handel log.
* [Saturn] Fixed a regression error updating DECIMATION at peaking time change.
* Optional tracing of IO operations to the log may be enabled by
defining XERXES_TRACE_IO in the build.
v1.2.18
=======
* [microDXP] Added support for "preset_type" and "preset_value" acquisition
values for reading out and setting preset run settings.
v1.2.17
=======
* [microDXP] Added support for UART passthrough command, via board operation
"passthrough".
* [microDXP] Added support for multi-module system with different DSP for each
board. This requires separate DSP defined for each module in the configuraiton
file.
* [microDXP] Support for multi-channel microDXP products. Externally this
affects only the UltraLo, which should now configure a single module with two
channels rather than two single-channel modules overloading the same USB2
device interface number.
* [microDXP] Fixed an issue with reading and writing DSP parameters with index
higher than 256.
v1.2.16
=======
* [XMAP] Fixed SCA readout regression in 1.2.14.
* [XMAP] [STJ] Log PlxApi error codes in xia_plx.
* [microDXP] Extend preset run limits up to 48 bits (from 32 bits) for
devices with CODEREV >= 0x0431.
* [microDXP] Don't stop the run when reading gain_trim.
* Removed several unused structs and functions from Xerxes.
* [microDXP] Add special run data snapshot_mca and snapshot_statistics (and
corresponding lengths).
* [microDXP] Validate parset value and return an error if out of range.
v1.2.14
=======
* [microDXP] Added board operation get_peaking_times to return all peaking times.
* [microDXP] Fix gain mode readout to not incidentally stop an active run.
* [Mercury] Added board operation get_usb_version.
* [Mercury] Removed unsupported serial number readout.
* [Saturn] Fixed SCA readout.
v1.2.13
=======
* [microDXP] Fixed an error switching between serial and USB2 microDXP boards.
* [microDXP] Added check to acquisition value "preamp_value" range, reset value
to maximum allowed if out-of-range.
* [microDXP] Added special run "adjust_offsets" and acquisition value
"auto_adjust_offset" for ADC offset control.
* [microDXP] Added support for run data "sca" readout, the availability can be
confirmed with "get_board_features" board operation, BOARD_SUPPORTS_UPDATED_SCA
bit, see handel_constants.h for a list of board features.
* [microDXP] Fixed an error in variable gain calculation.
* [microDXP] Scale acquisition values "sca_time_off" and "sca_time_on" to
microseconds.
* [STJ] Added a "bias_dac_enable" acquisition value to denote the STJ Bias DAC
disable status.
* [STJ] Updated limit for maximum number_mca_channels.
* Updated API documentation and Quickstart Guides.
* Removed the following exported functions from the API, they are only needed for
internal initialization of the data structure, and could potentially make the
system unstable if used after starting up. Modification to system configuration
can be safely done by loading a new configuration file with xiaLoadSystem, then
calling xiaStartSystem.
xiaNewDetector
xiaAddDetectorItem
xiaModifyDetectorItem
xiaRemoveDetector
xiaNewFirmware
xiaAddFirmwareItem
xiaModifyFirmwareItem
xiaRemoveFirmware
xiaNewModule
xiaAddModuleItem
xiaModifyModuleItem
xiaRemoveModule
xiaAddChannelSetElem
xiaRemoveChannelSetElem
xiaRemoveChannelSet
xiaDownloadFirmware
xiaUpdateUserParams
* Removed the deprecated functions xiaFitGauss and xiaFindPeak.
v1.2.11
=======
* Added a Linux environment to the scons build.
* [microDXP] Added the microDXP rev H product ID to Linux usb search.
* [microDXP] Added udxp source files to the source release. Build with --no-udxps
--no-xw.
* [usb2] Fixed Linux USB2 to clean up if the initialization does not completely succeed.
v1.2.10
=======
* [microDXP] Added sample code and INI files to the source release.
* [microDXP] Support for 80MHz base clocks.
* [microDXP] Support for starting the system with multiple USB2 devices.
* [microDXP] Fixed the decay time calculation for microDXP Rev G and earlier.
v1.2.7
======
* [microDXP] Fixed gain setting error introduced in v1.2.5.
* Fixed some memory leak on application exit by adding calls to free data
structures in xiaExit.
* [microDXP] Added drivers for KETEK DPP2.
* [microDXP] Removed an unneeded delay after direct USB2 bus data read, this is
an 100ms delay which occurred after each spectrum read for USB2 boards.
* [microDXP] Added calculation of underflows and overflows for supermicro.
* [microDXP] Added run data module_statistics_2
* [microDXP] Added support for KETEK High Low gain mode.
* [microDXP] Moved execution of the set acquisition value function to
xiaSetAcquisitionValues, up from BoardOperation "apply". This is needed to
pass in the correct acquisition name if it contains extra parameters (e.g.
"scalo_0"). It will also make the microDXP behave the same as other XIA
devices.
* [microDXP] Added support for setting sca limits and sca related acquisition
values: number_of_scas, sca_time_on, sca_time_off, scalo_0, scahi_0, etc..
* [microDXP] Added get_board_features board operation to return bit flags
representing board features, defined in handel_constants.h. Currently
includes BOARD_SUPPORTS_SCA.
* [microDXP] Added trace_trigger_type and trace_trigger_position acquisition
values
* [Saturn] Added back support for USB1 and EPP Saturn.
DEPRECATION NOTICES
* [microDXP] The run data all_statistics is now deprecated, replaced by
module_statistics_2.
v1.2.4
======
* [ultralo] Fixed dual microDXP PIC variant checking issue.
* [Mercury] Set peak_mode default to peak sensing.
v1.2.3
======
* [microDXP] Updated the traceTypes array used for special runs.
* [microDXP] Constrain the acquisition value peaksam_offset as
peaksam_offset <= peaking_time + energy_gap.
* [microDXP] Constrain the DSP parameter PEAKSAM as
0 <= PEAKSAM <= PEAKINT
* [microDXP] Constrain FASTLEN and FASTGAP as follows:
2 <= FASTLEN
0 <= FASTGAP
FASTLEN + FASTGAP <= 255
* [microDXP] Increased the range of PEAKINT and PEAKSAM to 4095. Corrected the
range of the other filter parameters to 1023 from 1024.
* [microDXP] Set filter parameters with the set filter parameter command instead
of the set DSP parameter command, fixing a bug were the settings weren't being
applied in the DSP.
* [microDXP] Refresh peak_mode after setting the parset.
v1.2.2
======
* Removed support for the following devices: USB1 Saturn, EPP Saturn, CAMAC
dxp4c2x, Vega, and CHELSI variant of microDXP.
* Fixed a handle leak issue with the log file not being closed. Now the user can
call xiaCloseLog at the end of the applications to clean up the file handle.
* Implemented xiaGainOperation to replace xiaGainCalibrate and xiaGainChange.
Removed xiaGainChange, leaving xiaGainCalibrate for backward compatibility.
Supported gain operations are "calibrate" for all devices, and
"calibrate_gain_trim" for supermicro.
* [microDXP] Added default flag for BoardOperation "apply" to set values of all
updated acquisition values.
* [microDXP] Use direct USB readout of ADC traces from the history buffer for
supported variants.
* [microDXP] Removed Handel-initiated Windows message pumping after IO
transfers to prevent unnecessary event handler reentry in Windows
applications. Note: if using the serial module type, the CDRV serial port
driver still pumps messages at its discretion during long transfers,
noticeably during MCA and ADC trace readout.
* [Mercury] Fixed an issue in multichannel MCA mapping buffer readout.
DEPRECATION NOTICES
* [microDXP] Acquisition values peak_interval and peak_sample are now
deprecated, replaced by peakint_offset and peaksam_offset.
v1.2.1
======
* Handel is built with Visual Studio 2010 (vs10) now, the corresponding runtime
library msvcr100.dll is included in the released file.
* Build handel.dll with a resource file to enable display of detailed
information in Properties dialog.
* All the helper libraries and device layer libraries with no exported functions
(e.g. md.dll, xerxes.dll, fdd.dll, xiafile.dll, xmap.dll, xmap_psl.dll), are
now built into handel.dll.
* Data type and format string updates to enable building into native 64-bit
library. (The 64-bit binaries are not part of the official release yet).
* Removed the exported functions xiaFindPeak and xiaFitGauss
* Removed the header file xia_fdd_structures.h
* Added 64-bit USB2 and PLX drivers.
* [Mercury] Fixed statistics data readout for two-module mercury systems.
* [STJ] Added support for STJ.
* [microDXP] Upgraded COMM-DRV version from v18.2 to v20.2, custom baud rate
up to 921K can be set with supported microDXP variant.
* [microDXP] Initial support for the supermicro.
* [xMap] Improved xiaStartSystem time for multi-channel system by only calling
apply once per module during start up.
* [xMap] Updated PLX SDK to v7.11, this will require updates to the PLX driver
included in the release.
DEPRECATION NOTICES
* This release of Handel will be the last to include support for the following
devices: USB1 Saturn, EPP Saturn, CAMAC dxp4c2x, Vega, and CHELSI variant of
microDXP.
v1.1.11
=======
* [Mercury] Fixed regression error in Mercury-1 firmware when
switching to/from mapping mode.
* [Mercury] Firmware split into OEM/branded versions to handle
differences in auxiliary I/O port.
* [Mercury] Cleaned up mapping mode code.
KNOWN ISSUES
* [xMAP] Report of gain scaling issue between data collected in normal MCA
mode and MCA mapping mode.
* [xMAP] Report of elapsed time to signal end of preset realtime run
scaling with input count rate.
* [Mercury] Report of poor performance when setting SCAs.
v1.1.10
=======
CHANGELOG
* [xMAP] Fixed an issue where acquiring the ADC trace would eventually fail.
* [Mercury] Ported a mapping-mode update change from the xMAP.
* [DXP-2X] Replaced old firmware with the correct version.
KNOWN ISSUES
* [xMAP] Report of gain scaling issue between data collected in normal MCA
mode and MCA mapping mode.
* [Mercury] Report of poor performance when setting SCAs.
DEPRECATION NOTICES
* The 1.1.x series of Handel will be the last to include official
builds compiled with Visual Studio 6. The 1.2.x series will include
Visual Studio 9 SP1 and Visual Studio 10 builds. (If you would like
us to support other versions of Visual Studio, please let us know.)
* "events" and "events_in_run" are officially deprecated and will be
removed in v1.2 of Handel. All product types (except the microDXP)
now support the less confusing "mca_events" and
"total_output_events" run data types.
* The current form of "module_statistics" is deprecated and will be
replaced by the implementation in "module_statistics_2" in v1.2.
* "livetime" is deprecated and will be removed in v1.2 of Handel. All
product types (except the microDXP) now support "trigger_livetime"
and "energy_livetime". For more information about which livetime to
use in your application please consult the following application
note: http://apps.xia.com/fogbugz/default.asp?W338
PLX DRIVER UPGRADE
* [xMAP] Users are required to upgrade to v6.3.1 of the PLX driver,
included with this release. We try to avoid these type of upgrades,
but the new version of the PLX driver includes better support for
Windows 7.
v1.1.7
=======
* USB Linux driver updated to support 32-bit addressing.
* Removed "channel*_gain" from the module configuration section. In
practice this value was never set to anything but 1.0.
* Added "module_statistics_2" which provides the same set of
statistics across all products.
* Fixed some format specifiers.
* Improved Cygwin and Linux support to better integrate with
applications based on EPICS such as synApps/dxp. (This work would
not have been possible without the help of Mark Rivers from the
University of Chicago.)
* Increased displayed preamplifier gain precision in .ini files.
* Read-only acquisition values are no longer set programatically on
startup.
* "Missing" acquisition values no longer cause WARNING messages, only
INFO, to be logged.
* .ini files now opened in binary mode on win32 to avoid problems when
the .ini file is created on a platform with different line endings.
* Added "trigger_livetime" and "energy_livetime" statistics.
* Removed dxp_get_statistics() from the Xerxes API.
* All device drivers renamed to xia_[type].dll.
* DSP parameters work again as acquisition values.
* [xMAP] Added "buffer_clear_size" acquisition value.
* [xMAP] Migrated xMAP Quick Start Guide to a new format, included in
the release packages and available online at
http://www.xia.com/Software/docs/handel/quickstartguide/xmap/index.html
* [xMAP] Added a section on preset runs to the Quick Start Guide.
* [xMAP] The Quick Start Guide now comes with a larger, more complete
set of sample code. The binary win32 release packages also include
pre-built .exe's based on the sample code.
* [xMAP] Fixed an occasional timeout when switching to mapping mode.
* [xMAP] Simplified the logic to set master mapping modes. Made most
mapping-mode acquisition values available by default (instead of
optional) to make it easier to write host software that queries
those parameters.
* [xMAP] Fixed an iissue when switching between different mapping
modes.
* [xMAP] Added "buffer_switch" acquisition value.
* [xMAP] Fixed a performance issue when polling waiting for the buffer
done operation to complete.
* [xMAP] Master mode settings have been simplified. Master settings
only affect the first channel on a module. To change to a new
master, set the appropriate master acquisition value to 1.0. To
clear the master setting, either set the master acquisition value to
0.0 or enable a different master type by setting it to 1.0.
* [xMAP] Fixed a problem when connecting to multiple modules using
Cygwin.
* [xMAP] Disabled support for RC feedback preamplifiers.
* [Saturn] x10.dll and x10p_psl.dll renamed to saturn.dll and
saturn_psl.dll.
* [microDXP] Fixed a memory leak when doing direct DMA reads.
* [microDXP] Updated distribution to include all of the required
header files; verified that header file constants match the ones
used in the sample code in the Quick Start Guide.
* [DXP-2X] Replaced existing DXP-2X driver with a version provided by
Mark Rivers.
EXPERIMENTAL: NEW FEATURE
* [xMAP] This release contains initial support for list-mode data
acquisition, which is implemented as a new mapping mode. The
documentation gives an overview of how to acquire list-mode
data. Under nominal conditions, list-mode acquisition works well,
but during Beta testing under more realistic conditions some issues
were identified in the firmware and software. As of this release, we
recommend application-specific testing before using list-mode in any
critical production applications.
KNOWN ISSUES
* [xMAP] Master setting ignored when determining the pixel advance
source for systems that have both a GATE and SYNC master module.
FIRMWARE CHANGES
xMAP
* Added baseline cut feature to decimation 0 FiPPI (peaking times 2
usec and less). By enabling this feature, the baseline cut will
ignore any baseline samples out of the acceptable range, leading to
better performance at high count rates. Note that for higher
decimations, the baseline threshold acts as a de facto baseline cut.
* Addressed an analog tracking problem that caused channels to freeze
up (no output counts) at higher rates for some detectors.
* Updated method used to determine when baseline samples are taken
after a detected pulse. Pulses with overshoot were creating spurious
baseline measurements with the older algorithm.
* Updated FPGA design files to address a rare FPGA configuration
problem.
* The DSP initialization process was rearranged to only initialize
parameters and settings on command from the host. This addresses
errors encountered switching between mapping mode and MCA mode.
* Fixed an issue for preset runs in which if one channel reached the
preset value before the others in a module, it continued to get
output counts.
Mercury
* Added baseline cut feature to decimation 0 FiPPI (peaking times 2
usec and less). By enabling this feature, the baseline cut will
ignore any baseline samples out of the acceptable range, leading to
better performance at high count rates. Note that for higher
decimations, the baseline threshold acts as a de facto baseline cut.
* Addressed an analog tracking problem that caused channels to freeze
up (no output counts) at higher rates for some detectors.
* Updated FPGA design files to address a rare FPGA configuration
problem.
* Improved baseline sampling algorithms (remove rare spurious samples)
* Implemented the Gate Ignore feature.
* Optimized sampling times for peak sensing energy mode.
* Implement SCA outputs for Mercury boxes
v1.0.11
=======
* Fixed a problem with using NULL as parameter for xiaSetLogOutput, setting the
log path to NULL now will direct log output into stdout per specification.
* UDXP library:
Added support for reading out a statistics snapshot when using the Alpha
firmware with the microDXP.
* Mercury library:
Added adjustment for gain calibration when temperature correction is enabled.
Added support for storing temperature calibration parameters in the
configuration file.
* Mercury firmware:
- DSP code modified to use a checksum to check the validity of the
calibration values used for gain restoration
- Gain adjustment routine modified to only switch the relays once, even if
multiple adjustment iterations are required
v1.0.9
======
* Enable usblib to build on linux using Mark Rivers' changes.
* Added changes from Mark Rivers so that xia_usb2 works on linux.
* xMap library:
Fixed problem with SCA mapping when numbers of SCA are not the same for all
channels.
* Mercury library:
Fixed Mercury-4 mapping buffer size calculation.
* UDXP library:
Added support for new Alpha hardware buffer read scheme.
* Mercury firmware:
- Added mapping mode system fpga for mercury-4
- Added support to restore absolute gain based upon a previous calibration.
- Temperature correction support has been extended to work during a run.
v1.0.8
======
* Fixes for compatiblity to with vxWorks' gcc.
* Changes to allow Handel to be built as a static library.
* USB2 IO will now time out after 5 seconds.
* Fixed a memory leak in fippi initialization.
* Mercury Library:
- Added control of Trigger and Livetime outputs to Handel via acquisition
values "trigger_output" and "livetime_output".
* UDXP library:
- Added support for the builtin pulser on the Alpha motherboard.
- Added a cache to track the PIC variant value to determine the presence of
the microComU.
- Process Windows message at the end of USB2 commands.
- Fixed a problem saving master parameter set.
* Saturn library: Fixed error-handling in the memory test routines.
* DXP-2X library: Added support for some acquisition values.
* Merged in Mark Rivers' changes for the md_linux driver.
v1.0.6
======
* Vega library:
- Updated spectrum reading method according to firmware changes.
- Added an additional scale factor to make energy coeff scale value more
sensible.
- Implemented statistics with overflows.
- Added support for ADC trace sample interval.
* Saturn library: Fixed a memory leak in saturn SCA reading and setting.
* xMap firmware:
- Fixed a disagreement issue between SCA and ROI totals for ROI's
that ranged more than 64 bins.
- Fixed a small glitch impulse a few microseconds after auto-zeroing that can
adversely affect the spectrum and statistics.
- The default xmap_revb.fdd has RESETWAIT increased to 10us. It is intended
for use with XMAP revision C (and earlier) hardware. This change will
eliminate the non-physical peak from the spectrum and non-physical
statistics, but will slightly reduce the output count rate.
- Added xmap_revd.fdd with RESETWAIT 1us. It is intended for use with XMAP
revision D (and later) hardware.
* Mercury4 firmware:
- Fixed a GAINDAC update issue that caused failures when the peaking time was
changed.
- Fixed a baseline stability issue that caused MCA peaks on some channels to
move around during a DAQ run.
v1.0.3
======
* Added SCA support for Mercury/Mercury4.
* Return a sensible error code is RC preamp type is specified for the xMAP
or Mercury/Mercury4.
* Added module MCA read for Mercury/Mercury4.
* Combined all of the .inf files for USB2 hardware into a single .inf
file.
* Fixed Vega MCA readout.
* Added gated statistics readout for the Vega.
v1.0.1
======
* Mercury4 firmware: Added e2V FDD variant.
* Mercury4 library:
- Added customer e2v file with Product ID and Name changed to
0x0780: e2v x-ray spectrometer.
- Added peak_mode acquistion value.
* xMap library:
- Enabled file copying in PLX Driver xmap9054.inf file for support under
Windows Vista. Removed unncessary sections about other PLX devices in the
inf file.
v1.0.0
======
* UDXP library: Retrieve CPLD version for UDXP and UltraLo 1800
motherboard.
* xMap library:
- Disabled file copying in PLX Driver xmap9054.inf file.
- Add ability to set peak mode.
* Mercury/4 library: Fixed issue with TRACECHAN being set incorrectly.
* USB2 library: Ask the hardware if it is running at full-speed or
high-speed and set the minimum packet size appropriately.
* xMap firmware:
- Support I2C temperature readout.
- Fixed issue in decimation 0 reset FiPPI related to output rate.
- Clear SCA fix.
v0.7.0
======
* xMap library:
- Performance enhancements for large xMAP systems during start up.
- Updated PLX driver and library to v5.2, this is a compatibility breaking
change, PLX driver v5.2 will not work with Handel version lower than
v.0.7.0 and vice versa.
* Mercury library: Initial implementation for support of mercury4.
* Mercury firmware: Added mercury4 firmware.
* UDXP library: Added support for ultralo 1800 USB2.
v0.6.59
=======
* UDXP library: Support non-default baud rate specified in the ini file.
v0.6.58
=======
* Vega Library: Fixed counting of total events.
v0.6.57
=======
* UDXP library: Added debugging output for CHELSI in log file.
* UDXP library: Fixed CHELSI buffer read and switch issues which could cause
crashes during the run and after the run has stopped.
v0.6.56
=======
* Vega Library: First official release of the Vega driver framework.
* Removed a call to read dsp parameters before reading out spectrum for better
performance.
v0.6.54
=======
* Mercury library: Add implementation of acquisition values minimum_gap_time.
* Fixed possible memory leak where allocated buffer needs to be freed.
v0.6.52
=======
* Mercury library: Add support to set DSP parameter values with Mercury ini file
* Vega firmware: Updated rbt file to fix spectrum readout.
* xMap firmware:
- Addresses distortion (baseline history seeding error) for decimation 2
- Added input-count-rate timer pixel-reset feature.
v0.6.51
=======
* Mercury firmware:
DSP:
- Added routine to measure the absolute gain of the analog section.
- After setting a new gain, measure absolute gain and use as a target gain.
- Reads temperature from a register in the System FPGA, which is written
by the USB microcontroller.
- A change in temperature greater than a specified amount will set a flag to
trigger a gain calibration.
- If temperature correction is enabled, when the flag is set, the gain will be
remeasured, and the gain will be adjusted so that the absolute gain matches
the gain measured at the initial calibration. Note that this will only occur
while the processor is idle; no correction will be performed during active
data collection (this will be added to a subsequent release).
- A bug in the calculation of the energy filter livetime was corrected. This
bug led to incorrect energy filter livetime values, especially when running at
low count rates.
- A minor bug in parameter initialization was fixed, which eliminated a
benign memory overwrite.
* Mercury library: Add support to read out temperature from Mercury via
xiaBoardOperation get_temperature.
* Mercury library: Add support to control Mercury Temperature correction via
acquisition values delta_temp (default 0.5C) and temp_correction (default 0.0).
* Mercury library: Support to read out USB serial number via xiaBoardOperation
get_serial_number.
v0.6.50
=======
* Mercury firmware: Fixed occasional hang of start system.
* Mercury firmware: Fixed incorrect statistics for last pixel.
* xMap firmware: Fixed external memory read glitch.
* Saturn firmware: Added roi versions of Saturn rev c firmware.
* Mercury Library: Add support to control gate ignore setting via acquisition
value gate_ignore.
* Mercury Library: Add support for xiaGainCalibrate.