Skip to content

Migrate bintime support into hightime (for waveforms) #186

@mikeprosserni

Description

@mikeprosserni

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

AB#3247639

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech debtNon-user-visible improvement to code or development process

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions