-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathChangeLog
More file actions
113 lines (106 loc) · 5.64 KB
/
ChangeLog
File metadata and controls
113 lines (106 loc) · 5.64 KB
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
Version 1.1
~~~~~~~~~~~
* Post DiFX-2.4
* Added incrementVDIFHeader
* Added ctypes-based Python bindings and one example (vdifio_1.py)
* vsum: error message -> stderr, not stdout
* Support new EDV2 that is produced by ALMA and R2DBE. Work here is based on spec with TBDs: http://vlbi.org/vdif/docs/alma-vdif-edv.pdf
* New functionality in printVDIFheader:
- Add Mark6 awareness: If the Mark6 signature is found at the beginning, 28 bytes will be skipped to allow proper decoding.
- If framesize is not provided at the command line, take from first frame
* New functionality in vmux
- Support multiplexing multi-channel multi-thread data (each thread must have same general parameters)
* testmk6: test/example program for mark6 reading capabilities. Does simple gather operation and file summary at this point.
* changes to multiplexing: increase max number of threads to mux to 64, warn if too many threads are being muxed, move out cornerturners to their own file.
- note: ABI change. Recompile of all code using vdifio is needed after updating to this version
* change a few key variables from "long long" to "int64_t"
* cornerturners now all use sized integers for variables that care
* new corner turners:
- 1-bit with 16 threads (slow and convoluted; likely possible to do better)
- 4-bit with 16 threads
- 16-bit with 2, 4, 8, 16 threads
- 32-bit with 2, 4, 8, 16 threads
- 64-bit with 2, 4, 8, 16 threads
- 128-bit with 2, 4, 8, 16 threads
- Why need for large words? It turns out that multiplexing multiple channels per thread is mathematically identical to multiplexing one channel per thread but with a total bit width of nBit*nChan
* VDIF multiplexer now supports multiplexing threads with more than one channel.
- a change in the API for configurevdifmux() is likely coming that will simplify use of this. For now, use setvdifmuxinputchannels() after configurevdifmux()
* New utility: filterVDIF. It extracts certain threads and summarized what it found. Similar to extractVDIFThreads.
* New utility: mk6gather: reads a VDIF stream from a Mark6 unit and writes it to a file. Time reordering is done at the packet level.
* New utility: mk6ls: lists Mark6 "files" on system. Respects ENV VAR MARK6_ROOT
* New utility: mk6vmux: directly multiplexes VDIF data from a Mark6 module
* vmux and mk6vmux (and in general any multiplexing) can be done on complex data
* Support for partial frame validity in multiplexed VDIF data (pending VDIF committee approval of EDV version 4 requested by WFB on 2015/10/09)
* Support for fanout in multiplexing (needed by some DBBC3 modes), both in library in vmux (very lightly tested)
* Some minor improvements to some utilities (improved help info, some parameter checking, ...)
Version 1.0
~~~~~~~~~~~
* ******* NOTE CHANGES TO THE API *********
* Changed parameter in createVDIFHeader (pass size of dataarray not full VDIF frame).
* Changed function of getVDIFEpoch and setVDIFFrameSecond
* Renamed:
getVDIFMJD
getVDIFFrameFullSecond -> getVDIFFrameEpochSecOffset
setVDIFFrameSecond -> setVDIFFrameEpochSecOffset
setVDIFFrameFull
setVDIFMJDSec -> setVDIFFrameMJDSec
getVDIFDMJD -> getVDIFFrameDMJD
setVDIFTime -> setVDIFFrameTime (and changed functionality)
setVDIFEpoch -> setVDIFEpochMJD
* Added
getVDIFFrameMJDSec
setVDIFEpochTime
* Added new utility printVDIFgaps to examine a VDIF stream for missing data
* vdifmux now fed by a structure. This allows for safer, faster and more flexible muxing.
* printVDIFheader: when legacy data don't print any EDV info
* multi2singlethreadVDIF: fixed bug where frames with invalid bit set had zero epoch and wrong seconds
* captureUDPVDIF: properly use skipbytes at the front and back of the packet
* Version for DiFX-2.4, Nov 4, 2014
Version 0.6
~~~~~~~~~~~
* Post DiFX-2.3
* Expose getVDIFEpochMJD: returns integer MJD corresponding to start of VDIF epoch
* Add printVDIFheader which will also print contents of EDV1 and EDV3
Version 0.5
~~~~~~~~~~~
* Fix the 2-bit 16 thread case in the vdifmux function
* 1-bit corner turners now supported: 1, 2, 3, 4, 5, 6, 7, 8 threads
* 2-bit corner turners now supported: 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16 threads
* 4-bit corner turners now supported: 1, 2, 3, 4, 5, 6, 7, 8 threads
* 8-bit corner turners now supported: 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16 threads
* add corner turn test program: testcornerturners
* add function to decode data from a single frame of VDIF data
* add utility to convert from 2-bit to 8-bit VDIF data (perhaps useful for testing)
* Version for DiFX-2.3, Dec 20, 2013
Version 0.4
~~~~~~~~~~~
* Add new vdifmux function which takes a multi-threaded VDIF buffer, looks
for frames with certain threadIds, and multiplexes them into a single-
threaded output buffer.
* New programs exercising new library routines:
- vsum summarize contents of 1 or more VDIF files
- vmux multiplex a multi-thread VDIF file into a single-thread file
* New utilities (mirroring functionality of mark5access utilities):
- vdifd (m5d)
- vdifbstate (m5bstate)
- vdiffold (m5fold)
- vdifspec (m5spec)
* Other new utilities
- extractVDIFThreads: gets only packets corresponding to given thread IDs
* Inlinification and constification of many VDIF header access functions
* Large file clean (I think) now...
* Fix bugs in multi2singlethreadVDIF which caused crashes if many packets missing
* Version for DiFX-2.2, May 31, 2013
Version 0.3
~~~~~~~~~~~
* Version for DiFX-2.1, May 4, 2012
Version 0.2
~~~~~~~~~~~
* Post DiFX-2.0.0
* Ability to make RPM files
* Version for DiFX-2.0.1, June 10, 2011
Version 0.1
~~~~~~~~~~~
* Initial implementation of vdifio
* Serves multiple VDIF threads from one source to multiple sinks
* Version for DiFX-2.0.0