-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Tech Debt
Currently, waveform.Timing is a generic timing object that can be either hightime or bintime. We should standardize on hightime so that we can change waveform.Timing to just be hightime.
To enable this, we will need to upgrade hightime (making changes in the hightime repo) to support the bintime internal representation, and to be able to construct a hightime with bintime data.
Doing this would mean that we would no longer need bintime as a public type, which means users would never have to think about which timing (hightime vs bintime) to use. Any API methods that currently accept bintime should then be changed to take hightime only.
The pickle representation of hightime could present a challenge here. One idea is to use a different pickle representation when it contains a bintime. The reduce method can return a different constructor or static method.
e.g. if has_bintime: return (datetime.from_cvi, [cvi_msb, cvi_lsb]); else: return crazy datetime binary buffer